ホームページ  >  記事  >  ウェブフロントエンド  >  モバイルデバイスで JavaScript が優れている理由を詳しく説明します。

モバイルデバイスで JavaScript が優れている理由を詳しく説明します。

黄舟
黄舟オリジナル
2017-03-11 15:30:181018ブラウズ

JavaScript は世界で最も美しいプログラミング言語ではありません。だからこそ、世界クラスの専門家がこの言語に関する「エッセンス」という本を執筆しました。この本の名前は「Deep Digging into the Highlights of JavaScript」です。優れた内容がかなり深く埋められているためです。それでも、急速に世界で最も人気のある言語の 1 つになりつつあります。この言語の欠点にもかかわらず、JavaScript は開発者に他の言語ではできない重要な利点を提供するため、この人気は当然のことです。ブラウザ開発者が Javascript (技術的には ECMAScript) を Web 言語の標準として合意したことで、いくつかの利点が生まれました。残りは固有の Web アプリケーション プログラミング モデルであり、機能強化によって改善されていません。ただし、モバイル デバイスではネイティブ アプリケーションが Web アプリケーションを支配していますが、JavaScript の優位性は徐々にモバイル デバイスに移りつつあります。最終的には支配するのでしょうか?

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

人気はあるが優先されていない

最新の TIOBE コミュニティ リストでは、JavaScript がすべてのプログラミング言語の中で 6 位にランクされており、その後も上昇し続けています。 TIOBE 方式のランキングでは、古くて成熟した言語が優先される傾向があり、トレンドを追うのが苦手です。対照的に、Redmonk のランキング方法では JavaScript が 1 位になります。 Redmonk のアプローチは、強力なオープンソース コミュニティを持つ言語にある程度偏りますが、同時に基本的に現在の傾向と関心を反映します。弊社独自の開発者経済概要によると、HTML5 と Javascript の組み合わせは、モバイル開発者によって使用される言語の中ですでに 2 番目に人気があり、ほぼ 55% が使用しています。ほんのわずかの差ですが、57% の人が Java を使用しています。ただし、HTML5 と Javascript の組み合わせが人々 (19%) の間で好まれていることがわかりましたが、この分野では Java (29%) には大きく及ばなかったのです。これは今後数年間で大幅に改善されると思われます。 【どう思いますか?新しいアンケートを実施しましたので、チェックしてご意見をお聞かせください]

JavaScript はブラウザーで無料で利用できます

これは標準的な「オンラインで勝つ」という文ではありません。 ブラウザーや Webview ベースのアプリが最終的にモバイル デバイスを支配するとは思いません。使って増えても常態化しない。 将来モバイル デバイスを規制するために Web 標準が本当に開かれるのであれば、ドキュメント オブジェクト モデル (DOM) から始める必要があります。 DOM はアプリケーションを構築するための基盤ではなく、ドキュメントです。もちろん、最初はプラットフォームを中心としたドキュメント用のアプリを設計することもできますが、行き詰まってしまうでしょう。モバイル ブラウザーまたは Web ビュー用にかなり高性能なアプリケーションを設計できる現在のフレームワーク (React.js、Famo.us、および lonic) を見てみましょう。これら 3 つの共通点は、DOM の使用を最小限に抑えることです。

はい、WebGL (または HTML5 Canvas 必須) が多すぎますが、これらは低レベルの API です。必要なのは、ほとんどのアプリケーションを開発するための優れたプラットフォームを作成するための、大規模でおそらくマルチバイトの優れたフレームワークです。これは、最新のアプリケーション コードがリモート サーバー、特にモバイル環境でホストされる Web アプリケーション プログラミング モデルにはあま​​り適合しません。確かに、ローカルにある大きくて優れた WebGL ストア上にハイブリッド アプリケーションを作成し、リモート サーバーからアプリケーション固有のコードを取得するだけで済みます。しかし、なぜブラウザを使用するのでしょうか? JavaScript だけが、ハードウェア グラフィック アクセラレータにおいて他のクロスプラットフォーム フレームワークよりも優れているのはなぜではないでしょうか (ヒント: Qt は優れたフレームワークを提供しています)。高レベルの API では、言語間のブリッジングにそれほど多くのオーバーヘッドがかかりません。特定の機能へのアクセスに関して制限がない場合もあります。

この説明に適合する、非常に興味深い新しいオプションがいくつかあります。 React Native と NativeScript。これらは動作方法が異なりますが、どちらも JavaScript を使用してネイティブ UI を持つアプリケーションを構築します。 Appcelerator の TiNext も興味深いかもしれません。たとえバージョンがリリースされずに何年にもわたって多くの話題になってきたとしても、それを待って垣間見てみましょう。

JavaScript 例外

Apple はモバイルにおける JavaScript の優位性を回復しました。 ほとんどの開発者がモバイル上でアジャイルな Web スタイルの継続的配信モデルを採用することを妨げている主な要因の 1 つは、Apple によるコードのダウンロードの禁止です。反復モードでこの大幅な速度低下がなければ、比較テストははるかに困難になります。 これは実際、開発者、特に初心者の学習が遅くなるということを意味します。最近まで、Apple が JavaScript を Webview コード ダウンロード ルールの例外としたため、反復を高速化する唯一の方法は、まず Android から始めてハイブリッド アプリを開発することでした。最初のケースでは、アーリーアダプターのほとんどがプラットフォームから離れつつあることを意味します。残念ながら、2 番目のケースでは UX のトレードオフが大きすぎるため、ほとんどの開発者は、ユーザー アプリケーションの障害やローカルへの切り替えにより、その方法を採用しています。ただし、ios7 では、JavaScript を実行するための JavaScriptCore インターフェイスが追加され、最新の ios 開発者プログラム ライセンス条項では、コード ダウンロードの例外のルールが JavaScriptCore を含むように変更されました。

これはセキュリティの観点から見て当然です。 Apple はランタイムを監査して更新できますが、サードパーティのランタイムにコードのダウンロードを許可すると、セキュリティ問題を効果的に監視できなくなります。 JavaScript は Apple の唯一のスクリプト オプションであり、コードをローカルにダウンロードすることを許可していないため、JavaScript は迅速に反復処理を行いたいユーザーにとっての唯一のオプションとして特権的な地位を取り戻しつつあります。 JavaScript の利用可能性は React や NativeScript などの取り組みを引き起こし、コードのダウンロード ポリシーに対する Apple の緩い管理は完全に宣伝されました。

オープンさが勝つのか?

Web 擁護者は、オープン性が常に勝利するため、Web に基づくオープン スタンダードが最終的に勝利するだろうと示唆することがあります。しかし、Linux は、委員会と連携した標準が存在しない、オープンで急速に進化するエコシステムの明らかな例です。 React、Facebook はオープンソース プロジェクトにおける開発者エコシステムを急速に構築しているようです。 React.js を中心とした委員会はすでに急速に成長しており、明らかに有利なスタートを切っています。しかし、Telerik の NativeScript チームは Google と協力しているため、Angualr 2.0 はシームレスに統合される必要があります。 Google は、Web 標準が非 DOM 環境に移行するかどうかに関係なく、非 DOM 環境をサポートするつもりです。 Microsoft と Google が将来のブラウザに実装する標準をサポートするには、長い時間がかかる可能性があります。しかし、両社は TypeScript に向けて協力しており、JavaScript を使用してそれほど複雑ではないアプリケーションを簡単に構築できるようにしています (型の不一致を見つける点では、コンパイラの方が人間よりも賢いことが証明されています)。

Apple は、新しい Swift 言語用に、特にインタラクティブなプレイグラウンドなど、非常に印象的なツールを多数構築しました。ただし、Facebook は、即時フィードバックと高頻度のオンザフライ コーディングに基づいて、React Native でより優れたコーディング エクスペリエンスを提供できた可能性があります。 Apple は今後もツールを反復していく予定で、開発者コミュニティはこれらの新しい JavaScript 環境ツールを追加しました。 Android は技術的にはオープンソースかもしれませんが、コミュニティ構築という点ではオープンではありません。 Google は独自に Android のプラットフォームとツールの強化に取り組んでいます。おそらく、勝つのはオープン開発者コミュニティであり、真にコミュニティベースのオープンソースは、オープンソース標準に基づいたオープンソースよりも高速に反復できます。この目的のために、「JavaScript を使用してネイティブ UX を構築する」環境と成功、そのようなプラットフォームは間違いなく失敗しません。アプリケーションは引き続き、プラットフォームのルック アンド フィールに基づいて、新しいプラットフォーム固有の API を使用して構築されます。

現時点では、Web 開発経験を必要とすることに加えて、ネイティブ プラットフォームの外観、操作感、パフォーマンスを備えたアプリを作成する、非常にオープンな JavaScript 開発者コミュニティが勝つように見えます。クローズド プラットフォームは過去に常に勝利を収めてきました。当時のアプリはクローズド エコシステムに合わせてカスタマイズする必要があったからです。 現在、オープンウェブ標準は依然として負け続けています。 モバイル ブラウザのメーカーが新しい標準に同意して、自社が作成するアプリでネイティブ アプリのエクスペリエンスを実現できれば、そのときは間違いなく勝利するでしょう。

何を使って作りましたか?

JavaScript がモバイル開発の将来を左右すると思いますか?それとも、Java、Objective-C、Swift が引き続きリーダーの地位を維持するのでしょうか?モノのインターネットに関しては、そのバックエンドは Node.js を超えるのでしょうか?アンケートに答えて、アプリの構築に何を使用しているかをお知らせください。

以上がモバイルデバイスで JavaScript が優れている理由を詳しく説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。