Une analyse détaillée de ce que Google a montré lors de la conférence FlutterLive (et ce que cela signifie pour Dart et le monde)

Littéralement la veille ( UPD pendant que j'écrivais l'article, deux jours se sont écoulés 0_0 ), le 4 décembre, une conférence FlutterLive a eu lieu à Londres, qui était consacrée principalement au cadre mobile Flutter , mais sans s'y limiter. Quelles nouvelles nous ont été dites et quel est désormais le principal vecteur de développement de l'équipe Google, y compris quelques réflexions à ce sujet, vous pouvez lire ci-dessous.

Étant donné que chez Wrike, nous sommes maintenant l'un des plus gros consommateurs de Dart (mais, comme l'a montré la conférence DartUP , ils sont loin d'être les seuls), nous avons essayé de faire une analyse détaillée pour vous de ce que cette annonce signifie pour l'ensemble du monde informatique.

Spoiler for seed: bientôt tout sera Flutter



TLDR
- Si vous ne savez pas ce qu'est Flutter , Dart , vous pouvez le demander dans le chat de la communauté russophone
- Tous les rapports peuvent être trouvés sur YouTube
- Bientôt, nous verrons un «client idéal» pour tout


Flutter en version



La version 1.0 est disponible en téléchargement, et vous pouvez maintenant transférer vos applications en toute sécurité vers le prod sans craindre qu'elles ne se cassent. Bien sûr, avant la sortie, les changements de rupture n'étaient pas très nombreux, mais néanmoins: le chiffre «1» au début de la version donne encore plus confiance en l'avenir. Bien sûr, la sortie était très attendue, car les commits récents dans la branche dev ont volé comme un fou, mais toujours sympa. Qu'est-ce qui a été ajouté à la version principale, en plus de la stabilité?

Quelques statistiques sur Flutter:
- Plus de 200 millions d'utilisateurs d'applications Flutter
- 250 000 développeurs (depuis la bêta)
- 3000 applications sur le Play Store
- 34e plus populaire sur GitHub

  • Prise en charge iOS au pixel près
    Avant la publication, l'équipe Flutter s'est principalement concentrée sur les widgets de conception matérielle, ce qui, en principe, est compréhensible. Mais les widgets Cupertino existants ont été mis à jour et ajoutés à la version, il n'y a donc plus de décalage. Je peux recommander de regarder ce dépôt . La page des paramètres iOS y a été recréée et, franchement, il est très difficile de la distinguer de la page native.
  • Possibilité d'ajouter aux applications existantes
    Au fil des ans, un grand nombre d'applications se sont accumulées dans l'AppStore & PlayStore. Et, très probablement, vous ne voulez pas réécrire complètement votre solution qui fonctionne avec succès dans le «prochain framework à la mode». Mais avec Flutter, vous pouvez combiner les approches de développement de votre application existante avec tous les avantages d'une approche moderne. En savoir plus sur la façon de procéder ici .
  • Vues de la plateforme
    Dans Flutter 1.0, vous pouvez combiner la vue Flutter et la vue native, maintenant nous travaillons activement pour ajouter la prise en charge de choses comme:
  • Navigateur Web
    webview_flutter utilise désormais la vue Plate-forme comme widget.
  • Google maps
    google_maps_flutter utilise également la vue Plate-forme comme widget.
  • Localisation (internationalisation) en 50 langues
    L'interface Flutter prend désormais en charge la localisation avec la prise en charge de 50 langues. Vous pouvez commencer à explorer cette richesse à partir d'ici .

Que peut-on faire avec Flutter




En fait, presque tout! Eh bien, sinon, beaucoup. Pour démontrer toutes les capacités du framework, l'application «History of Everything» ( PlayStore , AppStore ) a été présentée lors de la conférence.

Selon les gars, ce projet a été réalisé par 3 personnes à temps partiel pendant 3 mois. Compte tenu de l'abondance des animations - cela a l'air très cool. Bien sûr, les sceptiques peuvent remarquer qu'il est bon de montrer de telles choses sur un téléphone haut de gamme, mais qu'en est-il des propriétaires d'appareils pas les plus puissants? Eh bien, lors de la conférence, ils ont montré que même sur l'iPhone 2013, l'application se lance et fonctionne assez bien. Nous espérons que le code source de cette application sera ouvert, et nous verrons comment il est fait.

Quoi d'autre?


  • Aux designers
    2Dimensions , une société spécialisée dans le développement de jeux 2D , et activement intéressée par Flutter, a publié gratuitement l'éditeur d'animation Flare , qui vous permet de faire des choses très sympas. Et en même temps, cela fonctionne très bien avec Flutter, les gens du public viennent de hurler de joie de la démo présentée sur ce rapport.
  • CI / CD
    Nevercode , un outil cloud CI / CD, a également annoncé la prise en charge de Flutter. Ils ont annoncé le nouvel outil Codemagic (Beta) , spécialement créé pour Flutter, et aidant à configurer le système de construction à partir de votre projet en un seul clic. Sur la démo, ils ont montré qu'il suffit de lier GitHub et de spécifier le référentiel, après quoi vous obtiendrez un système CI fonctionnel.
  • Paiement
    Square , une société de terminaux de paiement sans numéraire, a publié un nouveau SDK compatible Flutter. Oui, dans notre pays, ce système n'est pas très populaire (d'accord, ce qu'il ne fonctionne vraiment pas du tout), mais pour l'Amérique, c'est assez pratique.

Tout est flottant


Au départ, Flutter a été conçu comme un framework multiplateforme, mais ces plateformes étaient bien sûr mobiles. Mais il s'avère que ce n'est pas tout.
Outre les espèces exotiques, comme le RaspBerry Pi, le cadre a tendance à dominer le monde:

Bureau Flutter


Oui, Flutter a déjà été lancé sur les systèmes d'exploitation! Bien sûr, jusqu'à présent, ce ne sont que des prototypes, mais il semble que l'intégration dans Windows, MacOS et Linux soit imminente. Et cela donnera un excellent coup de pouce à l'expérience de développement, car pourquoi attendre qu'un long émulateur démarre, si vous pouvez simplement exécuter le programme sur le bureau. Et bien sûr, les parallèles avec Electron se suggèrent immédiatement. Il est trop tôt pour comparer, mais il est purement spéculatif que nous ayons:

  • pas besoin de faire glisser un énorme runtime chrome avec vous
  • pas besoin de perdre du temps à analyser JS, CSS, HTML
  • tout se compile en code natif (binaire) grâce à la compilation AoT, ce qui signifie rapidement
  • liberté totale d'affichage du contenu

Quel sera le résultat - nous verrons.

Colibri (Flutter for Web)


La plus grande surprise de cette conférence est le projet de lancement de Flutter Web.

De quel type d'animal s'agit-il et avec quoi mange-t-il? Comme il ressort de cet article, l' équipe a décidé de tirer parti de tous les avantages de Dart en tant que langage de développement Web: une compilation efficace dans JS et, bien sûr, de l'interopérer pour réutiliser un grand nombre de bibliothèques. Cependant, tout n'est pas si fluide: s'il n'est pas si difficile de réutiliser la logique métier de création de widgets pour le Web, le rendu peut poser des problèmes:


Application de démonstration Hummingbird

Maintenant, l'équipe expérimente de deux manières:


Personnellement, la deuxième voie me semble plus prometteuse, mais, bien sûr, elle est la moins fiable en termes de compatibilité avec les navigateurs. Cependant, à la suite des nouvelles qu'IE nous quitte, ce n'est peut-être pas si mal. Vous pouvez en savoir plus sur les problèmes dans l'article, et l'équipe a commenté le fait que nous entendrons plus de nouvelles sur le prochain Google IO.

Qu'est-ce que tout cela signifie?




Et maintenant une petite réflexion sur le sujet. En général, à quoi sert Flutter? Ou plutôt pas: pourquoi cela provoque-t-il autant de controverses parmi les développeurs mobiles? Eh bien, premièrement, comme dans n'importe quel environnement professionnel, les gens acceptent mal tout ce qui est nouveau, quel qu'il soit. Et deuxièmement, les principales préoccupations sont approximativement les suivantes:

  • vous ne pouvez pas compter sur Google. Comment ouvrir - et fermer
  • ce métier ne remplacera jamais le développeur natif, je peux écrire tout ce que vous voulez, et pas quelque chose que les auteurs du framework me permettront
  • tout est lent, inconfortable, etc.

Eh bien, faisons-le dans l'ordre. À propos de l'inconstance des grands géants de l'informatique. Oui, c'est vrai. Mais il y a une chose - Flutter est complètement open-source, tout le code est sur GitHub, et sous une licence ouverte. Ainsi, même si Google décide de le fermer, la communauté peut toujours poursuivre le développement.

Fait amusant: le gestionnaire principal du langage Dart et tous les Flutter Tim Sneath avant c'était le principal ... Silverlight. Voici un excellent article de sortie . Je recommande à tout le monde de lire, rappelez-vous les dernières années.

À ce sujet, et qu'en est-il pour les développeurs natifs? Si vous êtes Senior Vice President iOS Architect - alors vous n'en avez pas besoin. Eh bien, sérieusement, vous pourrez écrire l'application plus rapidement et mieux en natif. Mais une seule chose . Et sous une seule plateforme. Mais que se passe-t-il si, en tant qu'entreprise, je n'ai pas besoin de fonctionnalités super-méga? Je dois tout faire rapidement, de manière relativement fiable et à moindre coût. Et ici, pourquoi ne pas penser à Flutter?

Par exemple, je ne suis pas du tout un développeur mobile, mais en général, c'est dommage d'admettre, le front-end. Et sans connaissances particulières, il a écrit une application pour deux plateformes et l'a publiée dans le Store. Et il a fait de l'argent (malheureusement pas). Ainsi, selon les sensations, dans le monde la plupart des demandes d'applications mobiles ne sont que cela - simples, mais avec un avantage concurrentiel sous forme de vitesse de développement.

Eh bien, au final, pourquoi ne pas traiter Flutter comme un outil de prototypage rapide de l'interface utilisateur?

Un peu de multiplateforme et de tendances. En conclusion


Le flottement gagne inexorablement en puissance. La relation avec lui est l'affaire de tous. Cependant, maintenant, à l'ère des services orientés client, être capable de créer rapidement des applications client est la clé du succès d'une entreprise. Cela est indiqué par le battage médiatique autour de JavaScript en tant que plate-forme. Cependant, JS a un gros inconvénient - il y a un langage, mais pas de plate-forme. Trop de pluralisme des décisions des clients devient une machine complexe et grande, qui nécessite une érudition très large. Ici, vous pouvez exécuter WebPack et ReactNative, et les blagues sur l'abondance des cadres Web existent depuis longtemps.

S'il y avait un moyen au monde de créer facilement des applications pour toutes les plates-formes, tout en réutilisant le code entre tous les appareils au maximum, ce serait un gagnant. Et il semble que nous ayons un challenger.

Source: https://habr.com/ru/post/fr432206/


All Articles