ホームページ ウェブフロントエンド jsチュートリアル なぜ JavaScript がモバイルで勝てるのか?

なぜ JavaScript がモバイルで勝てるのか?

Nov 29, 2016 am 09:22 AM
javascript 携帯端末

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

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

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

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

これは標準的な「オンラインで勝つ」という声明ではありません。私は、ブラウザーや Webview ベースのアプリケーションが最終的にモバイル デバイスを支配するとは思いません。使って増えても常態化しない。 Web 標準が本当に将来モバイルデバイスを支配することになるのであれば、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 の緩い管理は完全に宣伝されました。

オープンさが勝つのか?

ウェブ擁護者は時々、オープン性が常に勝つので、ウェブに基づくオープンスタンダードが最終的に勝つだろうと示唆することがあります。しかし、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 開発者コミュニティが勝つように見えます。クローズド プラットフォームは過去に常に勝利を収めてきました。当時のアプリはクローズド エコシステムに合わせてカスタマイズする必要があったからです。今のところ、オープン Web 標準は依然として勢いを失いつつあります。モバイル ブラウザーのメーカーが、自社が作成するアプリでネイティブ アプリのエクスペリエンスを実現できる新しい標準に同意できれば、間違いなく勝利するでしょう。

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

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


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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 Dec 17, 2023 pm 12:09 PM

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 Dec 17, 2023 am 09:39 AM

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

JavaScriptでinsertBeforeを使用する方法 JavaScriptでinsertBeforeを使用する方法 Nov 24, 2023 am 11:56 AM

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

JavaScript で HTTP ステータス コードを簡単に取得する方法 JavaScript で HTTP ステータス コードを簡単に取得する方法 Jan 05, 2024 pm 01:37 PM

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが

See all articles