J'ai commencé à travailler sur Native Script with Angular . La meilleure partie est la technique de partage de code que je peux utiliser pour les applications Web et mobile.
Mais une chose que je veux demander ici est que Angular est un framework développé par Google et que Google fournit également un autre framework pour le développement d'applications mobiles natives, à savoir Flutter
Pourquoi Google n'a pas utilisé le même framework Angular que Telerik a mis en œuvre avec Native Script. Je suis sûr qu'il doit y avoir une raison. Je veux comprendre la raison.
Si je peux développer une application Web et mobile avec une compétence commune, c’est-à-dire angulaire, alors je devrais apprendre/choisir un nouveau cadre tel que Flutter.
Je ne suis pas sûr que ce soit le bon endroit où je devrais poser cette question ou non. Sinon, aidez-moi à trouver le bon endroit.
Flutter n'est pas la principale affaire ici, la vraie chose est Skia.
skia est un moteur de rendu 2D qui permet à l'utilisateur d'exécuter des applications très performantes. Ainsi, au lieu d'utiliser html (moteur Web chromé) ou d'utiliser l'apparence native (nativescript), skia nous permet de dessiner sur chaque pixel de l'écran. ce qui nous permet d'écrire des jeux en flutter.
Les véritables intentions de Google telles qu'elles ont été critiquées dans Flutter Live 2018 sont de créer une interface utilisateur cohérente entre toutes les plateformes:
tous ces frameworks utilisent skia pour l'interface utilisateur et le framework respectif pour interagir avec le système d'exploitation (navigateur, ordinateur de bureau, mobile), car skia est un moteur de rendu et nous contrôlons chaque pixel pour nous assurer qu'un widget aura la même apparence sur tous les types de fichiers. cadres de skia.
D'autre part, nativescript utilise un moteur de noeud qu'ils chargent sur la plate-forme et chaque fois que nous essayons d'utiliser un composant appelé moteur système pour placer un composant à l'écran avec l'aspect et la convivialité natifs, cela nous permet d'utiliser des fonctionnalités. directement depuis la machine virtuelle qui exécute Java/Swift, c’est pourquoi, dans nativescript, vous pouvez utiliser Android .[Android_Java_CLASS]
ou ios.[Swift_CLASS]
.
l’invention principale de nativescript consiste à utiliser des classes natives à l’intérieur du moteur de nodejs qu’elles chargent au moment de l’exécution afin d’exécuter le code de plate-forme spécifique. Lorsque vous transformez le code mobile nativescript en un fichier PWA, ce moteur de noeud n'est pas nécessaire, car le navigateur dispose de son propre moteur, ce qui nous permet de supprimer le code inutile du PWA.
REMARQUE: nativescript n’est pas un framework angular pour le développement mobile, c’est un framework de nœud pour le développement mobile et Angular/vuejs ne sont que des frameworks fonctionnant au-dessus de la logique de base de nativescript. C’est pourquoi si vous le souhaitez même écrire un plugin de réaction pour nativescript.
Dans Nativescript , le code est pas compilé en code natif, il s'exécute sur fil séparé que les communautés codent avec composant natif. Les runtimes vous permettent d’appeler des API dans les frameworks Android et iOS en utilisant le code JavaScript. Pour ce faire, ils utilisent des machines virtuelles JavaScript - V8 de Google pour Android et WebKit Implémentation de JavaScriptCore distribuée avec iOS 7.0+. While Flutter compile le code en ARM Bibliothèque C/C++ consommée par le logiciel natif composants peuvent donc mieux fonctionner.
Je n'ai pas eu l'occasion de comparer les performances des deux, car pour NativeScript, vous écrivez du code dans TypeScript/Javascript tandis que Dart est utilisé pour Flutter et je suis très novice dans Dart.
NativeScript est un open source que Angular a également répertorié dans ressources et il existe maintenant une très bonne communauté pour NativeScript. Si vous êtes intéressé par liste des avantages et des inconvénients de différents cadres, ici est un très bon article.
Remarque : testez les applications NativeScript en ligne avec un éditeur de code et exécutez-le sur votre appareil. Vous pouvez utiliser soit Angular ou Pure JavaScript ouTypeScript ou Vue.js) pour créer l’application.
À noter: Google a dévoilé Flutter lors du sommet des développeurs Dart 2015, et NativeScript a été soutenu par Progress depuis 2014. Peut-être que Google souhaitait donner aux développeurs d'autres options pour explorer les applications natives avec d'autres frameworks.
Si vous recherchez des commandes disponibles pour Flutter, il existe une commande appelée Fuchsia_reload pour recharger le nouveau système d'exploitation en cours d'utilisation Fuchsia sur laquelle Google travaille, il est donc possible qu'ils le souhaitent. pour fournir un soutien précoce pour cela.
UPDATE: Si nous souhaitons partager la même base de code pour le Web et le téléphone, NativeScript est un choix évident. Les équipes Angular et NativeScript se sont associées pour créer nativescript-schematics, une collection schématique qui vous permet de créer des applications Web et mobiles à partir d’un seul projet.
Vous pouvez l'installer en utilisant
npm i -g @nativescript/schematics
Et même vous pouvez migrer d'un projet existant vers un projet de partage de code comme décrit ici .