Heim > Web-Frontend > js-Tutorial > Hauptteil

Detaillierte Erklärung, warum JavaScript auf Mobilgeräten gewinnt?

黄舟
Freigeben: 2017-03-11 15:30:18
Original
1021 Leute haben es durchsucht

JavaScript ist nicht die schönste Programmiersprache der Welt. Aus diesem Grund hat ein Weltklasse-Experte ein Buch über das „Wesen“ der Sprache geschrieben. Der Name dieses Buches lautet „Deep Digging into the Highlights of JavaScript“, weil die guten Dinge ziemlich tief vergraben sind. Dennoch entwickelt es sich schnell zu einer der beliebtesten Sprachen der Welt. Diese Popularität ist wohlverdient, denn trotz der Mängel der Sprache bietet JavaScript Entwicklern wichtige Vorteile, die andere Sprachen nicht bieten können. Es gibt einige Vorteile, die sich ergeben, nachdem sich Browserentwickler auf Javascript (naja, technisch gesehen ECMAScript) als Standard für die Websprache geeinigt haben. Der Rest ist das inhärente Programmiermodell für Webanwendungen und wurde durch keine Erweiterungen verbessert. Obwohl native Anwendungen Webanwendungen auf mobilen Geräten dominieren, verlagert sich die Dominanz von JavaScript allmählich auf mobile Geräte. Wird es irgendwann dominieren?

为什么 JavaScript 会在移动端中胜出?

Beliebt, aber keine Priorität

Eine aktuelle TIOBE-Community-Liste rangiert JavaScript auf Platz sechs unter allen Programmiersprachen und steigt weiter an. Die Rankings der TIOBE-Methode bevorzugen tendenziell ältere, ausgereiftere Sprachen und sind weniger gut darin, Trends zu verfolgen. Im Gegensatz dazu platziert die Redmonk-Ranking-Methode JavaScript an erster Stelle. Der Redmonk-Ansatz wird in gewissem Maße auf Sprachen mit starken Open-Source-Communities ausgerichtet sein, gleichzeitig aber im Wesentlichen aktuelle Trends und Interessen widerspiegeln. Unsere eigene Developer Economy-Übersicht hat gezeigt, dass die Kombination aus HTML5 und Javascript bereits die zweitbeliebteste Sprache ist, die von mobilen Entwicklern verwendet wird und von fast 55 % verwendet wird. Nur knapp 57 % der Menschen verwenden Java. Obwohl wir festgestellt haben, dass die Kombination von HTML5 und Javascript bei den Menschen die bevorzugte Wahl ist (19 %), liegt sie in diesem Bereich weit hinter Java (29 %). Dies dürfte sich in den kommenden Jahren deutlich verbessern. [Was denken Sie? Wir haben eine neue Umfrage da draußen, also schauen Sie sie sich an und teilen Sie uns Ihre Meinung mit.]

JavaScript läuft kostenlos in Browsern

Dies ist kein Standard-„Web“-Gewinn“ Argument. Ich glaube nicht, dass Browser oder Webview-basierte Apps irgendwann die mobilen Geräte dominieren werden. Selbst wenn es genutzt wird und wächst, wird es nicht die Norm sein. Wenn Webstandards in Zukunft wirklich für die Beherrschung mobiler Geräte geöffnet werden sollen, müssen sie mit dem Document Object Model (DOM) beginnen. Das DOM ist nicht die Grundlage, auf der Anwendungen aufgebaut sind, sondern Dokumente. Natürlich könnten Sie zunächst eine App für Dokumente rund um eine Plattform entwerfen, aber Sie wären nicht weitergekommen. Werfen Sie einen Blick auf die aktuellen Frameworks, mit denen Sie relativ leistungsstarke Anwendungen für mobile Browser oder Webansichten entwerfen können: React.js, Famo.us und lonic. Gemeinsam ist diesen dreien, dass sie DOM so wenig wie möglich verwenden.

Ja, es gibt eine Menge WebGL (oder HTML5 Canvas Essential), aber das sind Low-Level-APIs. Was Sie benötigen, ist ein großes, möglicherweise mehrere Bytes umfassendes, gutes Framework, um eine hervorragende Plattform für die Entwicklung der meisten Anwendungen zu schaffen. Dies passt nicht gut zum Programmiermodell für Webanwendungen, bei dem der neueste Anwendungscode auf einem Remote-Server gehostet wird, und insbesondere nicht in einer mobilen Umgebung. Es ist wahr, dass Sie eine Hybridanwendung auf der Grundlage eines großen, schönen WebGL-Speichers erstellen können, der lokal ist, und einfach anwendungsspezifischen Code von einem Remote-Server erhalten. Aber warum einen Browser verwenden? Warum nicht einfach JavaScript andere plattformübergreifende Frameworks bei Hardware-Grafikbeschleunigern übertrifft (Hinweis: Qt bietet ein gutes Angebot). Eine High-Level-API würde bei der Überbrückung zwischen Sprachen nicht so viel Aufwand verursachen. Auch beim Zugriff auf bestimmte Funktionen kann es an Einschränkungen mangeln.

Es gibt mittlerweile mehrere sehr interessante neue Optionen, die zu dieser Beschreibung passen. Reagieren Sie auf Native und NativeScript. Sie funktionieren auf unterschiedliche Weise, aber beide verwenden JavaScript, um eine Anwendung mit einer nativen Benutzeroberfläche zu erstellen. TiNext von Appcelerator könnte auch interessant sein, auch wenn im Laufe der Jahre viel darüber gesprochen wurde, ohne jemals eine Version zu veröffentlichen, also lasst uns abwarten und einen Blick darauf werfen.

JavaScript-Ausnahme

Apple hat die Dominanz von JavaScript auf Mobilgeräten wiederhergestellt. Eines der wichtigsten Dinge, die die meisten Entwickler davon abhalten, ein agiles, webbasiertes Continuous-Delivery-Modell auf Mobilgeräten einzuführen, ist das Verbot von Code-Downloads durch Apple. Ohne diese deutliche Verlangsamung des Iterationsmodus wären Vergleichstests deutlich schwieriger. Das bedeutet tatsächlich, dass Entwickler, insbesondere Anfänger, langsamer lernen. Bis vor Kurzem bestand die einzige Möglichkeit, schnellere Iterationen zu erzielen, darin, zuerst mit Android zu beginnen und eine Hybrid-App zu entwickeln, da Apple JavaScript in den Downloadregeln für Webview-Code zu einer Ausnahme gemacht hat. Im ersten Fall bedeutet dies, dass sich die meisten Early Adopters von der Plattform entfernen. Leider ist der UX-Kompromiss im zweiten Fall zu groß, und die meisten Entwickler gehen diesen Weg, weil Benutzeranwendungen ausfallen oder auf lokal umsteigen. In ios7 wurde jedoch die JavaScriptCore-Schnittstelle zum Ausführen von JavaScript hinzugefügt, und in den neuesten Lizenzbedingungen für das iOS-Entwicklerprogramm wurden die Regeln für Code-Download-Ausnahmen geändert, um JavaScriptCore einzubeziehen.

Dies ist aus Sicherheitsgründen sinnvoll. Apple kann seine Laufzeitumgebungen prüfen und aktualisieren. Wenn es jedoch Laufzeitumgebungen von Drittanbietern erlaubt, Code herunterzuladen, werden Sicherheitsprobleme nicht effektiv überwacht. Da JavaScript Apples einzige Skriptoption ist und das lokale Herunterladen von Code nicht möglich ist, erlangt JavaScript wieder eine privilegierte Stellung – als einzige Option für diejenigen, die schnell iterieren möchten. Die Verfügbarkeit von JavaScript hat Initiativen wie React und NativeScript angeregt, und Apples lockerer Umgang mit den Code-Download-Richtlinien wurde perfekt bekannt gemacht.

Wird Offenheit gewinnen?

Web-Befürworter behaupten manchmal, dass offene, auf dem Web basierende Standards letztendlich gewinnen werden, weil Offenheit immer gewinnt. Allerdings ist Linux ein klares Beispiel für ein offenes und sich schnell entwickelndes Ökosystem ohne auf Gremien abgestimmte Standards. React, Facebook scheint sich zu einem sich schnell aufbauenden Entwickler-Ökosystem für Open-Source-Projekte entwickelt zu haben. Es gibt bereits ein schnell wachsendes Komitee rund um React.js, was ihnen eindeutig einen Vorsprung verschafft. Da das NativeScript-Team von Telerik jedoch mit Google zusammenarbeitet, muss Angualr 2.0 nahtlos integriert werden. Google beabsichtigt, Nicht-DOM-Umgebungen zu unterstützen, unabhängig davon, ob sich Webstandards dahingehend entwickeln. Es kann lange dauern, bis Microsoft und Google die Standards unterstützen, die sie in zukünftigen Browsern implementieren werden. Aber sie arbeiten gemeinsam an TypeScript, was es einfacher macht, eine weniger komplexe Anwendung mit JavaScript zu erstellen (bewiesen, dass der Compiler beim Erkennen von Typinkongruenzen intelligenter als Menschen ist).

Apple hat viele ziemlich beeindruckende Tools für seine neue Swift-Sprache entwickelt, insbesondere interaktive Spielplätze. Aufgrund des sofortigen Feedbacks und der hochfrequenten On-the-Fly-Codierung hatte Facebook jedoch möglicherweise ein besseres Codierungserlebnis mit React Native. Apple wird seine Tools weiterhin iterieren und die Entwicklergemeinschaft hat jetzt diese neuen JavaScript-Umgebungstools hinzugefügt. Android ist zwar technisch gesehen Open Source, aber im Hinblick auf den Community-Aufbau ist es nicht offen. Google ist allein daran, die Plattform und Tools von Android zu verbessern. Vielleicht ist es die Open-Entwickler-Community, die gewinnen wird, und Open Source, das wirklich Community-basiert ist, kann schneller iterieren als Open Source, das auf Open-Source-Standards basiert. Zu diesem Zweck wird eine solche Plattform sicherlich nicht scheitern, wenn eine „native UX mit JavaScript erstellte“ Umgebung zum Erfolg führt. Anwendungen werden weiterhin basierend auf dem Erscheinungsbild der Plattform und unter Verwendung neuer plattformspezifischer APIs erstellt.

Zu diesem Zeitpunkt sieht es so aus, als würde die sehr offene JavaScript-Entwickler-Community gewinnen, da sie Apps erstellen, die das Aussehen, die Haptik und die Leistung der nativen Plattform haben und darüber hinaus Erfahrung in der Webentwicklung erfordern. Geschlossene Plattformen haben in der Vergangenheit immer gewonnen, weil Apps damals an ihre geschlossenen Ökosysteme angepasst werden mussten. Derzeit sind offene Webstandards immer noch auf der Verliererseite. Wenn Hersteller mobiler Browser neuen Standards zustimmen können, die es den von ihnen erstellten Apps ermöglichen, das Erlebnis nativer Apps zu bieten, dann werden sie definitiv gewinnen.

Womit machst du es?

Glauben Sie, dass JavaScript die Zukunft der mobilen Entwicklung bestimmen wird? Oder werden Java, Objective-C und Swift ihre Führungsposition behaupten? Wird das Backend des Internets der Dinge Node.js bestehen? Nehmen Sie an der Umfrage teil und teilen Sie uns mit, was Sie zum Erstellen Ihrer App verwenden.

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, warum JavaScript auf Mobilgeräten gewinnt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage