Hacker News new | ask | show | jobs
by bkm 1892 days ago
NativeScript surely has its struggles (like all the other hybrid frameworks), but the concept is strong:

- It's multi-framework (Vue, Angular, React or Svelte); easy to pick up for web devs

- The per-framework implementations are fairly similar to the web-variants (except it uses NS component tags vs HTML tags)

- UI abstraction layer that maps the NS components to real native UI components for iOS/Android (instead of Flutter's gimmicky pixel-by-pixel OS element duplication ala Adobe Flex)

- Use of native UI elements lead to performant UI elements (recyclerviews, tabs etc). React Native plugin devs had to tediously re-create elements like the recyclerview with custom logic (see 'RecyclerListView'). The core team adds new UI elements fairly quickly after OS releases, as they only have to create the bridging code

- Out-of-the-box code bridging; access native methods/variables on iOS/Android from JS. E.g. accessing the Android notch API can be done with a few lines of JS

- Recognizable CSS elements for styling (margin, borders, gradients, box-shadow)

- Performant; fairly quick cold-boot and no iOS shader-cache jank like with Flutter. OP likely has a web-dev background and used too many nested views leading to jank (as it would with a native app).

The struggles:

- Inconsistent maintenance of (semi-)official plugins like background uploading and toasts. Hard agree with OP.

- Overuse of outdated, third-party Cocoapods/Gradle plugins for their plugins. Some Cocaopods they use don't even have iCloud support.

- Large backlog of Core issues/bugs

- No more Sidekick (The 'Expo' equivalent for NS), as it wasn't part of the acquisition. This tool was really handy for low-barrier deployments/boilerplate code rollout

But the real problem is adaptation. No large adaptation = no big sponsors = no full-time development. Earlier it was in hands of Progress which had a highly talented team from Bulgaria working on it full-time. Progress tried to use NativeScript as an on-boarding strategy to get people to use Kinvey. When Progress pulled the plug, a small development agency took over development and is struggling to find the manpower to maintain this colossal project. I hope they will manage to make it work as NativeScript does have unique qualities.

1 comments

NativeScript is way better than flutter/dart. NS embraces open web technologies.

As you mentioned, NS has all the substance it needs but like any framework has some rough edges. What NS lacks is the PR army like the one flutter has.