
Wie schreibe ich neun Bücher über völlig unterschiedliche Technologien, darunter Angular, Vue, React, React Native und andere? Was ist im Training am wichtigsten, was ist „Flur-Chat“ und was haben Dart und Flutter im Allgemeinen damit zu tun?
Heute ist unser Gast Autor vieler Bücher und Artikel zum Thema Programmierung, einschließlich
ng-book -
Ari Lerner . Was wird das nächste Buch sein, was der Autor von einer so ... kontroversen Sprache wie Dart hält und warum es so wichtig ist, auf Konferenzen zu kommunizieren, fragen die Leute vom Programmkomitee der HolyJS-Konferenz (
Dmitry Dmitry Makhnev Makhnev und
Eugene bunopus Kot ).
- Guten Tag. Unser Interview wird drei Abschnitte enthalten, im ersten werden wir über Sie sprechen, im zweiten über Flutter und im dritten wird es endgültig sein. Lassen Sie uns zunächst etwas über sich erzählen.- Zunächst möchte ich mich bei Ihnen für die Einladung bedanken. - Ich freue mich sehr, die Gelegenheit zu haben, bei HolyJS zu sprechen. Ich lebe in Brooklyn in New York und programmiere so viel ich mich erinnern kann - meine Muttersprache war Anfang der 90er Jahre Assembler. Im Moment beschäftige ich mich mit Blockchains und Deep Learning, soweit getrennt. Zum größten Teil arbeite ich mit Kunden zusammen, helfe ihnen beim Eintritt in das ICO (Initial Coin Offerings) und helfe ihnen bei der Arbeit mit Token Economics. Und auch bei mir lebt ein entzückender Hund Ingwer, eine Kreuzung zwischen einem Chihuahua und einem Corgi - ich kann endlos darüber sprechen.
"Wie sieht sie aus?" Die Größe eines Chihuahua, aber zottelig wie ein Corgi?- Ja, dies ist ein kleinerer Corgi mit einem Chihuahua-Gesicht. Sehr schön.
- Was verdienst du jetzt? Schreiben Sie Bücher oder arbeiten Sie für ein Unternehmen?- Beide. Ich schreibe ein Buch, aber es dauert nicht mehr meine ganze Zeit. Bis ich mich für das nächste Mal entschieden habe, arbeite ich für mich.
- Wie ich es verstehe, haben Sie vor 5 oder 6 Jahren Fullstack.io gegründet?- Ja, es war im Jahr 2012.
- Erzähl uns von ihm.- Fullstack besteht aus zwei Teilen, einem Herausgeber von Lehrbüchern zum Thema Programmierung sowie einer Bildungsplattform. In Bezug auf die Veröffentlichung von Lehrbüchern sind professionelle Entwickler unser Hauptpublikum, aber wir bieten auch Lehrbücher für Universitäten, Schulen und Weiterbildungsprogramme an. Darüber hinaus führen wir Schulungen online und live durch, in der Regel im Rahmen der Weiterbildung. Wir arbeiten mit Unternehmen wie General Electric, Walmart, dem Militär usw. zusammen.
- Großartig. Konkurrieren Sie mit O'Reilly oder haben Sie ein ganz anderes Gebiet?- Wir machen Dinge, die denen von O'Reilly sehr ähnlich sind, aber wir konkurrieren nicht direkt mit ihnen, weil wir einen völlig anderen Maßstab haben - wir stellen keine Bedrohung für O'Reillys Weltherrschaft bei der Programmierung von Büchern dar. Darüber hinaus verfolgen wir einen etwas anderen Ansatz. Normalerweise werden Bücher nach der Veröffentlichung nicht aktualisiert. Sobald Sie sie gelesen haben, ist sie bereits veraltet. Wenn Sie ein Buch bei uns kaufen, werden wir es ständig aktualisieren.
- Veröffentlichen Sie Papierbücher oder nur elektronische?- Sowohl diese als auch andere. Wir verkaufen Papierbücher über Amazon, können diese jedoch nicht aktualisieren. Bei Fullstack gekaufte E-Books werden automatisch aktualisiert. Sie können nicht über Amazon aktualisieren - sie haben eine zu strenge Kontrolle.
- Soweit ich weiß, sind Sie Mitautor vieler Bücher auf Fullstack.io - Fullstack React, Fullstack React Native und natürlich das berühmte ng-Buch. Um ein Buch zu schreiben, müssen Sie mit dem Themenbereich, über den Sie schreiben, sehr vertraut sein - sei es Angular, React, Vue oder irgendetwas anderes. Wie sieht Ihre Vorbereitung für das Schreiben eines Buches aus?- Gute Frage. Lassen Sie mich zunächst sagen, wie ich angefangen habe, Bücher zu schreiben, und warum mag ich diese Lektion? Und dann gehen wir weiter zu der Arbeit an jedem einzelnen Buch.
- Ja natürlich.- 2012 erreichte ich die Obergrenze in der Firma, in der ich arbeitete, und entschied, dass es Zeit war zu gehen. Ich habe mein Startup erstellt - ob Sie es glauben oder nicht, aber es war eine Planungsfirma. Für sie habe ich anscheinend ein elegantes Backend in Erlang und Python mit einem Hauch von Ruby geschrieben. Aber es gab kein gutes Frontend, also fing ich an, verschiedene Frameworks zu erkunden und stieß auf Angular. Es dauerte sehr lange bis Version 1.0. Ich habe angefangen, ein Frontend für mein Startup zu schreiben, und Angular hat mir sehr gut gefallen, aber die Dokumentation dafür war einfach schrecklich. Um zu verstehen, wie dieses Framework funktioniert, begann ich, den Quellcode zu lesen und herauszufinden, wie es funktioniert. Auf diese Weise wurde ich mit Angular vertraut.
Etwa zur gleichen Zeit wurde ich gebeten, in einem Trainingslager für Entwickler in San Francisco einen Vortrag über JavaScript zu halten, und dann wurde mir klar, dass ich wirklich gerne unterrichte. Also beschloss ich, diese beiden Interessen zu kombinieren und begann, einen Mini-Guide für Angular für Anfänger zu schreiben. Zuerst dachte ich, es wären zwei oder drei Seiten Text, aber am Ende gab es 650 Seiten, die ich im Laufe der Jahre weiter aktualisierte. Ich wurde schließlich Autor oder Co-Autor von neun Büchern. Ich habe als Freiwilliger in jedem großen Entwickler-Trainingslager in San Francisco unterrichtet. Ich engagiere mich auch freiwillig bei Organisationen wie Women Who Code und Bridge Foundry-Projekten und unterrichte ElixirBridge. Ich gab sogar Unterricht in einem allgemeinen Gefängnis in der San Francisco Bay und unterrichte immer noch hier in New York.
Der Unterricht ist mir sehr wichtig, er motiviert mich, selbst mehr zu lernen. Durch das Unterrichten helfe ich nicht nur anderen, sondern zwinge mich, auf eine neue Ebene aufzusteigen, um erklären zu können, wie diese oder jene Technologie funktioniert. Normalerweise bereite ich mich vor, indem ich die Quelle lese, insbesondere JavaScript. Vor anderthalb Jahren haben wir Vue kennengelernt und gerade angefangen, die Quelle zu studieren. Unsere Arbeit mit Vue hat uns große Freude bereitet. Während ich arbeite, schreibe ich alle Probleme auf, auf die ich stoße, alle Suchanfragen bei Google, alle Fragen in der Dokumentation. Als Ergebnis erstellen wir ein riesiges und sehr detailliertes Inhaltsverzeichnis, das wir dann bei Änderungen zusammen mit dem gesamten Buch aktualisieren.
- Geschieht dies automatisch mit Hilfe von Handlern, die alle diese Informationen in der Dokumentation überwachen?- Wir haben Handler, die Veröffentlichungszyklen verfolgen, aber leider wird fast alles andere - das Bearbeiten von Inhalten und Bildern - manuell ausgeführt. Wir haben Hooks für React und wir haben automatische Code-Updates, aber der Inhalt muss manuell aktualisiert werden.
- Ich verstehe. Soweit ich weiß, sind Sie Mitautor vieler Bücher. Ist es schwieriger, ein Buch alleine oder mit jemandem zu schreiben? Wie organisieren Sie Ihre Arbeit, wie synchronisieren Sie die Kapitel?- Genau wie bei der gemeinsamen Anwendungsentwicklung verwenden wir Git, um Inhalte zu vereinheitlichen, sodass wir Versionen und Zweige haben. Das Schreiben eines Buches in Zusammenarbeit kann schwierig sein, obwohl es meiner Meinung nach bei Büchern über technische Fachgebiete etwas einfacher ist als bei Büchern über nichttechnische. Ich denke, das Schwierigste ist, einen einheitlichen Ton für alle Abschnitte zu gewährleisten und zu bestimmen, welche Demos verwendet werden sollen. Im Allgemeinen ist dies jedoch keine sehr schwierige Aufgabe. Alle Aufmerksamkeit wird durch Schreiben und Bearbeiten absorbiert, und wir sind ständig miteinander in Kontakt, was den Prozess erheblich vereinfacht. Im Laufe der Jahre haben wir Schreibvorlagen entwickelt, die all unseren vielen Autoren einen einheitlichen Stil bieten. Und wir tun unser Bestes, um sicherzustellen, dass unsere Co-Autoren mit uns schreiben und nicht für uns. Wir positionieren uns als Team, in dem alle miteinander arbeiten, und nicht als Verlag, für den die Autoren arbeiten. Darüber hinaus sind wir alle Mitherausgeber der Bücher, die wir schreiben. Ein oder mehrere Redakteure sorgen für einen einheitlichen Stil im gesamten Buch. Jeder Autor bearbeitet einen Abschnitt eines anderen Autors.
Für die Tools verwenden wir Git sowie einfache Texteditoren und Markdown. Normalerweise arbeite ich in Visual Studio Code oder Spacemacs - einer Kombination aus Emacs und Vim. Sehr zu empfehlen, wenn Sie es noch nicht ausprobiert haben. Darüber hinaus verfügen wir über eine Vielzahl eigener Software, die wir geschrieben haben, um Bücher in Echtzeit zu kompilieren, mit Stil zu arbeiten und eine Vorschau anzuzeigen. Wir verwenden es, bevor wir eine neue Version veröffentlichen oder ein Buch aktualisieren. Die meisten unserer Tools sind in JavaScript, TypeScript oder Python geschrieben.
- Verwenden Sie beim Schreiben von Büchern flexible Methoden wie Scrum?- Ja, aber nicht zu aktiv. Wir halten eine Art modifizierter Stand-up-Meetings ab, aber nicht jeden Tag, sondern jede Woche oder nach einer Woche, je nach Arbeitstempo des Buches. Wenn ich alleine arbeite, ist mein ganzer Vorteil, dass ich meinen Texteditor öffne. Wenn ich jedoch mit jemandem zusammenarbeite, sind wir über Slack und Google Hangouts ständig miteinander in Kontakt.
- Und wie lange brauchst du, um ein Buch zu schreiben?- Hängt davon ab, um welches Buch es sich handelt, ob ich mit Co-Autoren zusammenarbeite, von der Geschwindigkeit des Frameworks. Angenommen, ich habe in vier Monaten ein Ng-Buch geschrieben und abends und am Wochenende gearbeitet. Aber für mich ist das eine absolut unvorstellbare Geschwindigkeit, ich verstehe immer noch nicht, wie ich es geschafft habe, so viel zu tun. Normalerweise dauert ein Buch sechs bis zwölf Monate.
- Interessant. Sie verbringen viel Zeit, arbeiten mit interessanten Werkzeugen und Prozessen, vielleicht in Zusammenarbeit mit jemand anderem, und geben das Buch dann der Veröffentlichung. Wie überprüfen Sie die Qualität der Übersetzung, wenn der Verlag versucht, die Früchte Ihrer Arbeit in eine andere Sprache zu übersetzen? Ich frage, weil ich zu Beginn der Programmierung die technische Dokumentation nicht auf Englisch lesen konnte, also habe ich viele Bücher auf Russisch gelesen - zum Beispiel die Übersetzung von Good Parts of JavaScript und die berühmtesten Bücher von O'Reilly. Soweit ich weiß, waren diese Übersetzungen schrecklich. Ich denke darüber nach, wie die Autoren der Bücher darauf hätten reagieren sollen und wie sie Übersetzungen hätten überprüfen können. Wie ist Ihre allgemeine Meinung zu Übersetzungen?- Hier kann ich nur über meine persönlichen Erfahrungen und die Funktionsweise von Fullstack sprechen. Wir haben viele Situationen, in denen wir die Sprache, in die das Buch übersetzt wird, nicht kennen. Beispielsweise werden die meisten unserer Bücher ins Chinesische übersetzt, aber ich spreche kein Chinesisch. Zwar habe ich im Laufe der Zeit ein paar Wörter gelernt, ich habe eine spezielle Anwendung dafür, Babbel, mit der ich Fremdsprachen lerne. Im Fall von Chinesisch wurden die besten Übersetzungen erzielt, als unser Übersetzer gleichzeitig Programmierer war. Dank dessen war es für den Übersetzer einfacher, uns bei Fragen eine Frage auf Englisch zu stellen und die Antwort dann korrekt ins Chinesische zu übersetzen. Leider spreche ich auch kein Russisch. Ich kann "Fahrrad" sagen - obwohl ich das nicht einmal sagen kann, wie Sie hören. Natürlich ist es schwierig, die Sprache, in der die Software geschrieben ist, nicht zu kennen. Ich verstehe das besonders gut, wenn ich mir die Dokumentation von Open-Source-Projekten in China ansehe - um etwas zu verstehen, muss ich mich mit der Quelle befassen.
- Eine ähnliche Situation war bei Vue. Soweit ich weiß, waren seine ersten Veröffentlichungen eher schlecht dokumentiert, und viele Probleme wurden auf Chinesisch beschrieben. Soweit ich weiß, ist Englisch jetzt eine Voraussetzung.- Ja das stimmt. Ich habe Glück, dass meine Muttersprache Englisch ist. Obwohl ich es nicht fließend spreche, habe ich keine Probleme mit der Dokumentation. Ich denke, Übersetzungen sind sehr wichtig. Darüber hinaus leben wir in einer Zeit, in der die maschinelle Übersetzung immer besser wird, insbesondere dank Deep Learning - dies ist einer der Gründe, warum ich mich für Deep Learning interessierte. Ich glaube jedoch nicht, dass es ein Allheilmittel für all diese Probleme gibt.
- Vor kurzem bin ich auf eine hitzige Diskussion im russischsprachigen Teil von Twitter gestoßen. Eine Seite des Streits argumentierte, dass Übersetzungen per Definition böse sind, weil Programmierer Englisch sprechen müssen und es eine internationale Sprache für alle ist. Andere sagten, dass für Junioren und diejenigen, die nicht sehr gut Englisch sprechen, die Dokumentation übersetzt werden muss. Haben Sie eine Meinung zu diesem kontroversen Thema?"Die Argumente beider Seiten liegen mir nahe." Was ich jetzt sagen werde, ist nur meine erste Reaktion, lange habe ich nicht über dieses Problem nachgedacht. Vielleicht können wir dieses Thema in einem persönlichen Treffen vertiefen. Es scheint mir, dass derzeit so viel Code auf Englisch geschrieben ist, dass es äußerst schwierig wäre, die englische Sprache loszuwerden. Es gibt internationale Sprachen - JavaScript ist beispielsweise eine internationale Sprache. Wenn Sie sie sprechen, können Sie mit jeder Person auf der ganzen Welt kommunizieren. Das Vorhandensein einer internationalen Sprache - Englisch - erleichtert uns die Kommunikation und Zusammenarbeit mit Entwicklern auf der ganzen Welt. Ich habe zum Beispiel mit Entwicklern in Indien, Frankreich, England, China und Australien gesprochen. Dies gilt natürlich nicht ganz für Personen, die kein Englisch sprechen. Ich bin mir sicher, dass ich zu diesem Thema eine andere Meinung hätte, wenn ich kein Englisch sprechen würde. Außerdem sind dies, wie gesagt, nur meine ersten Gedanken, ich habe lange nicht mehr über dieses Problem nachgedacht, und vielleicht wird sich meine Meinung morgen ändern.
- Ja, wir können dies persönlich besprechen. Lassen Sie uns nun über Bücher sprechen - sie werden aufgrund des Aufkommens von Plattformen wie Medien, Twitter usw. weniger populär als zuvor. Denken Sie, dass Bücher verschwinden?"Ich bin nicht davon überzeugt, dass Bücher immer weniger populär werden." Ich glaube, dass jeder auf unterschiedliche Weise arbeitet und lernt. Online-Dienste ähneln in ihrer Funktion Klassen in Klassen. Und es scheint mir, dass Online-Lernen für Entwickler geeignet ist, die verschiedene Sprachen und Frameworks unterschiedlich lernen möchten. Für einige ist es einfacher, mit der Dokumentation zu arbeiten, andere für die Quelle, einige arbeiten besser in Gruppen, andere allein, durch Versuch und Irrtum oder indem sie Bücher in Zügen und Flugzeugen lesen und dann implementieren, was sie in der Praxis lesen. Andererseits unterrichtete ich in Klassen, in denen alles genau umgekehrt war und in denen die Schüler sich einfach nicht an das Buch setzen konnten, was ihnen nichts gab. Es ist nicht so, dass sie überhaupt nicht lesen konnten, sie bekommen nur weniger vom Lesen als von der Arbeit mit anderen Menschen. Ich denke, eine der sehr wichtigen Errungenschaften des Internets für die Programmierergemeinschaft ist, dass es das Lernen zugänglicher und den Erfolg erreichbarer gemacht hat. Websites und Dienste wie Medium oder Coursera tragen zur Verbreitung von Wissen bei und ermöglichen eine Vielzahl von Lernmöglichkeiten. Ich bin stolz darauf, an dieser Entwicklung der Bildung beteiligt zu sein. Vielleicht werden unsere Bücher in Zukunft interaktiv und wir können sie mit Online-Kursen kombinieren.
- Ich erinnere mich, dass früher Bücher mit einer CD oder DVD mit Beispielen verkauft wurden. Jetzt ist dieses Format aus der Mode gekommen.- Ja, jetzt senden sie lieber alles in Zip-Archiven - zum Beispiel führen wir alle unsere Demos in einem Zip-Archiv zusammen. Eines der nützlichsten Tools, das wir entwickelt haben, ermöglicht es uns, den gesamten im Buch verwendeten Quellcode an einem Ort zu schreiben. Anschließend verfügen wir über Tools, die ihn automatisch aus den Originalquellen aktualisieren. Angenommen, wir müssen eine Zeichenfolge, eine Klasse, ein Objekt oder eine Funktion hervorheben, die wir in einem Buch diskutieren. Wir haben Tools, mit denen Sie direkte Links zum Quellcode herstellen können. Dies ist auch nützlich, da jedes Mal, wenn Sie ein Buch herunterladen, die Quelle aktualisiert wird. Wir schreiben die Quellen also nicht direkt in den Text, sondern in eine separate Datei.
- Meine nächste Frage bezieht sich auf die vorherige. Sie sagten, dass jeder auf unterschiedliche Weise lernt und ich als Entwickler Bücher lesen, Videos auf YouTube ansehen und Artikel auf einer Plattform für Schulungen lesen kann. Aber warum sollte ich an Konferenzen teilnehmen?- Das ist eine gute Frage. Nebenbei kann ich zwei Gründe nennen, warum es sich lohnt, dies zu tun. Das erste ist das offensichtlichste: Präsentationen und Vorträge auf Konferenzen sind normalerweise gut durchdacht und speziell für die Anzeige konzipiert. Ein solcher Bericht ist in der Regel einem genau definierten Problem gewidmet - beispielsweise dem Refactoring. Wenn Sie in einer Zielgruppe sitzen, in der ein guter Refactoring-Bericht präsentiert wird, ist es so, als würden Sie sich selbst refactoring, und Sie werden in die Präsentation einbezogen. Für mich sind die Persönlichkeit des Sprechers und seine Gefühle immer interessant.
Der zweite Grund ist weniger offensichtlich. Ich nenne es "Flur-Chat" - zusätzlich zu den Berichten selbst treffen Sie sich und kommunizieren mit Menschen, die das Gleiche tun wie Sie. Unsere Aktivität als Entwickler ist per Definition individuell - aber wenn Sie anfangen, mit vielen anderen Menschen zu kommunizieren, die sich im selben Raum wie Sie befinden und sich mit Ihnen beschäftigen, wird diese Aktivität automatisch sozial. Ein weiterer Vorteil von „Reden in der Lobby“ besteht darin, dass Sie Menschen treffen, die Ihre Dienste, Ihr technisches Wissen oder Ihre Unterrichtserfahrung benötigen. Nach meiner Erfahrung finden wir mehr Kunden als anderswo - und das gilt sogar für unsere Bücher und unsere Videos.
- Sie haben bereits viele Bücher geschrieben - sagen Sie mir, woran arbeiten Sie gerade? Vielleicht ein paar Spoiler?- Jetzt beschäftige ich mich hauptsächlich mit Blockchains. Wenn wir über Blockchains, Augmented Reality und Deep Learning sprechen, ist es in diesen Bereichen großartig, dass sie jetzt sehr beliebt sind. Bei fast jeder Konferenz, an der ich in den letzten Jahren teilgenommen habe, habe ich sehr lebhafte Diskussionen mit Interessenten geführt Themen. Und oft ist es der Front-End-Entwickler bei Google, der sich in seiner Freizeit mit anderen Themen befasst.
Für mich persönlich beziehen sich die Projekte, mit denen ich mich befasse, hauptsächlich auf die Wirtschaft - und am überraschendsten ist dies ein sehr interessantes Thema. Außerdem arbeite ich derzeit an einem Buch mit dem Titel "C ++ für JavaScript-Entwickler", das sich noch in einem frühen Stadium des Schreibens befindet. Ich werde dieses Thema sehr gerne diskutieren, wenn ich jemanden treffe, der auf einer JavaScript-Konferenz mit C ++ gearbeitet hat.
- Wird dieses Buch irgendwie mit WebAssembly zu tun haben? Sie verstehen, C ++ und JavaScript ...- Das Buch ist hauptsächlich EOS gewidmet - dies ist eine ziemlich neue Blockchain. Es ähnelt Etherium, wurde jedoch mit LLVM erstellt. Auf diese Weise können Sie einen Vertrag für alles schreiben, was in LLVM kompiliert wird, einschließlich C ++.
- Großartig. Fahren wir mit dem nächsten Abschnitt fort, der enger mit Ihrem Bericht über HolyJS zusammenhängt. Früher haben Sie mit Angular, Vue, React und JavaScript gearbeitet - und jetzt berichten Sie über Flutter, Googles mobile Plattform, die in Dart geschrieben wurde. Was hat Sie dazu veranlasst?- In dieser Formulierung klingt es wirklich lustig. Hier ist eine ähnliche Geschichte wie bei Angular, die ich oben erwähnt habe. Ich wollte einige Anwendungen für mich und meine Freunde schreiben, die verwenden, wer Android ist, wer iPhone ist. Wir haben bereits ein Buch über ReactNative veröffentlicht, und ich hatte Erfahrung mit dieser Plattform, wollte aber etwas anderes ausprobieren. Ich kann in Java, Kotlin und Swift schreiben, also habe ich angefangen, eine Anwendung in Swift zu schreiben. Soweit ich weiß, wird versucht, Swift für Android anzupassen, aber diejenigen, mit denen ich vertraut bin, befinden sich noch in einem sehr frühen Stadium. Sie können sich nicht darauf verlassen. Außerdem scheinen mir viele von ihnen Hacks zu sein. iOS Java, , , Java iOS. , JavaScript — , Redux, , . - Flutter.
Flutter Dart, , TypeScript. JavaScript, , , Redux. Flutter , , . , . , Flutter AOT- JIT-, , UI. , , Flutter, , Flutter .
Flutter — , , , . Flutter — hot reload, web. , Swift, , , , , , , , , . , Flutter UI , -. Flutter, , . , Dart TypeScript, , , JavaScript, JavaScript Dart.
— Dart — , , JavaScript, . Dart , ? ?— , , Dart . — , Clojure. , , , - JavaScript TypeScript — , . Dart , , . , , , , , . , TypeScript Flow. , Flutter . , , Flutter JIT-, , Flutter.
Dart — , , JavaScript, “” . , , — Java, , , . , Dart, JavaScript JavaScript. , , , Dart JS. Isolates Dart Web workers Dart. -, Dart . , Dart , Flutter, , Dart , React Native, JavaScript.
— .- Ja. , React Native , - — , JavaString, . Flutter , . , Dart Java, C#, ActionScript JavaScript, , , - , .
— Clojure, — . Dart , .— , Clojure — .
— , -, — — Flutter? , , ? , «Hello World»?— , Flutter . - Flutter React Native, . , , , — Flutter . , , — Flutter. , , , — , Java Swift, , -, , . , , Flutter , , .
, Flutter , — , Twitter. , , , , AR VR. AR- Swift, Flutter . , iOS, Android .
— , Flutter Twitter — Twitter PWA. Flutter PWA? -, .— , Flutter -, . - - Dart, . Dart . Dart JavaScript- , , JavaScript.
— , .— , . Flutter , , JavaScript.
— . , , . , , JavaScript — JavaScript. — Angular Ionic, — Cordova PhoneGap. , ? , JavaScript?— . , , JavaScript , , — React Native, Node.js , , Dart. JavaScript, -, . , — , . , - . , 2018 - , , — , , — , JavaScript.
— JavaScript , — Go, ClojureScript, Dart? , JavaScript?— , ? , , — , . Go, , , Go C++ — . JavaScript Dart, ClojureScript. , C , . , . , . , JavaScript, . . Swift Java — , AR Swift, , , Flutter, , , Swift .
— , 2013 , Dart, , , , Dart . Dart Flutter, Dart Flutter? AngularDart, Dart .— . , - , . - , , Flutter — Dart. , Cupertino — Flutter iOS — . , , Flutter Flutter — .
Dart, , , , . 2013 EcmaScript , , Google, ECMAScript. Flow TypeScript , . Dart Flutter , 1.0 Flutter.
, , Flutter, Fuse, C#. . JavaScript , , Dart JavaScript, Dart Flutter.
— , . . ?— , «hallway chat». . , , , . , . , , , , .
— , ?- Ja.
— , HolyJS?— , , , . , — , , . , , , , , , . , — , , . - , . , — .
HolyJS, , , , . - , , . , -, , , .
, , .
— , , -10 -15 , .— -? .
— . , Dart Flutter — , , JavaScript. : HolyJS 24-25 , 1 Dart Flutter.— . Flutter -.
Flutter Dart, HolyJS JavaScript: Dart . , : Angular, ng-book . , 24-25 !