I have started working on Native Script with Angular. The best part is the code sharing technique which i can use for Web & Mobile app both.
But one thing which i want ask here is that Angular is a framework which is developed by Google and Google also provides another framework for Native mobile app development i.e. Flutter
Why Google hasn't used the same Angular framework which Telerik has implemented with Native Script. I am sure that there must be some reason for it. I want to understand the reason.
If i can develop Web & Mobile app with a common skill i.e. Angular, then why i should learn/choose a new framework like Flutter.
I am not sure whether is it the right place where i should ask this question or not. If not, then please help me to find the right place.
Flutter is not the main deal here, the real thing is Skia.
skia is a 2d rendering engine which allows the user to run apps in high performance, this way instead of using html(chrome web engine) or using the native look and feel(nativescript) skia allows us to draw on each pixel of the screen, which allows us to write games in flutter.
Google real intentions as they reviled in flutter Live 2018 are to create a coherent UI between all platforms:
all of those frameworks use skia for UI and the respective framework for interacting with the OS (browser, desktop, mobile), because skia is a rendering engine and we control every pixel we can assure that a widget will look the same on all type of skia frameworks.
On the other hand nativescript use a node engine which they load on the platform, and each time we try to use a component we call the system engine to place a component on the screen with the native look and feel, this allows us to use features straight from the virtual machine which runs java/swift, this is why in nativescript you can use android.[ANDROID_JAVA_CLASS]
or ios.[SWIFT_CLASS]
.
nativescript main invention is around using native classes from inside nodejs engine which they are loading on runtime in-order to execute the specific platform code. When you are transforming nativescript mobile code to a PWA there is no need for this node engine because the browser has it's own engine this way we can remove unnecessary code from the PWA.
NOTE: nativescript is not an angular framework for mobile development its a nodejs framework for mobile development and Angular/vuejs are just frameworks which runs on top of nativescript core logic. Thats why if you want you can even write a react plugin for nativescript.