モバむル開発におけるHTML5-遞択すべきもの



今日は、モバむルアプリケヌションの開発でWebテクノロゞヌを優先する䟡倀がある堎合、およびネむティブ開発ツヌルを䜿甚する方が良い堎合に぀いおの意芋を共有したいず思いたす。



HTML5たたはネむティブSDKを䜿甚したクロスプラットフォヌム開発の利点に関する䞀貫した意芋



HTML5



Cordovaなどのツヌルを䜿甚するず、HTML5むンタヌネット䞊ではなく、ネむティブコンテナヌ内にある䞊でハむブリッドアプリケヌションを䜜成できたす。 このようなアプリケヌションは䞊蚘の利点を兌ね備えおおり、プラグむンを介しおブラりザヌを超えおデバむスの機胜ず緊密に統合するこずができたす。 ハむブリッドアプリは、AppStore、Google Play、およびその他のアプリストアを通じお公開および配垃できたす。



ネむティブ



圓然、これらは経隓に基づいお誰でも補足できる基本的な声明です。 アプリケヌションの開発にHTML5を遞択する䟡倀はありたすか 答えは明確にするこずはできたせん-それは倚くの芁因に䟝存したす。



問題や知識の分野を分析するずき、質問の歎史的な郚分を掘り䞋げるこずは有甚です。 この堎合、興味深い傟向に気付くこずができたす。







1995幎には、Mac OS、Windows 95、およびLinuxを自由に䜿甚できたした。 各オペレヌティングシステムには独自の゜フトりェアがありたしたが、クロスプラットフォヌム性に関する考え方はすでに浮䞊しおきたした。



1996幎、Sun MicrosystemsはJavaず呌ばれる補品を発売したした。 この補品には、異なるオペレヌティングシステム甚の単䞀のコヌドを蚘述するための高床な抜象化がありたした。 確かに、それは私たちがそれを芋るために䜿甚した圢で、すでにクロスプラットフォヌムでした。 しかし、UIは各システムで同じでした。



その埌、WebKit、OpenGL、gitなどのクロスプラットフォヌム抜象化の特定のレベルを実装する゚ンティティが登堎する開発段階がありたした。 これらは、アプリケヌションを䜜成するずきに䜿甚する必芁がある暙準でした。 UIはシステムごずに異なる堎合がありたすが、同じOpenGLは同じでした。



同時に、りェブの方向性は積極的に発展しおいたした。 圓初、これらはリンクによっおリンクされた静的ペヌゞでした。 しかし、すぐに、たすたす倚くのダむナミクスがそれらに珟れ始めたした。 AJAXテクノロゞヌずGMail電子メヌルクラむアント最初の本栌的でかなり耇雑なWebアプリケヌションずしおの導入により、Web 2.0に぀いお話したした。



この䟵入を阻止できるのは、FlashずSilverlightだけでした。 これは、新生HTML5ず同様に、1぀の問題を解決したした。ブラりザで本栌的な「シック」クラむアントを䜜成するこずです。



その結果、HTML5はそのニッチを芋぀けたした。 これは、いく぀かの芁因によっお促進されたした。



同時に、HTML5の基盀であるJavaScriptには、明らかで迷惑な欠陥がいく぀かありたす。 しかし、クロスプラットフォヌム機胜、開発の容易さ、およびWeb開発者の間での広範な䜿甚により、それが保存され、トレンドを維持するこずさえできたす。



そのため、2005幎頃から、ブラりザはクロスプラットフォヌムの別のレベルになりたした。 Googleマップ、GMail、Facebookなどのアプリケヌションがたすたす䜿甚されおいたす。 あらゆるオペレヌティングシステム䞊のブラりザで䜜業するこずが非垞に䟿利であり、远加のデスクトップ゜フトりェアをむンストヌルする必芁がないこずが刀明したした。



したがっお、クロスプラットフォヌム開発には4぀のレベルがありたす。



問題が発生したすが、このグラデヌションをモバむル開発に適甚するこずは可胜ですか

ネむティブに蚘述する堎合、モバむルOSごずに独自のコヌドず独自のUIを完党に䜜成する最初のポむントに到達したす。 プラットフォヌムごずにアプリケヌションを曞き盎す必芁がありたす。



圓然、この状況では、単䞀のコヌドベヌスでさたざたなプラットフォヌムの開発を最適化する゜リュヌションが生たれたした。 珟時点での゜リュヌションは次のずおりです。



これらの゜リュヌションは、さたざたなプラットフォヌムのデスクトップアプリケヌションの2〜4ポむントの卒業を察象ずしおいたす。 それぞれをさらに詳しく芋おいきたしょう。



AS3 Adob​​e AIR


AIRはJavaに最もよく䌌おおり、デスクトップおよびモバむルアプリケヌション甚にランタむムを提䟛したす。 もちろん、実行しおいるデバむスを远跡し、適切なUIを匷制的に蚭定できたす。 ただし、ほずんどの堎合、アプリケヌションには単䞀のUIがありたす。 兞型的なAIRアプリケヌションは、Angry Birdsなどのゲヌムです。 Photoshop Touchなどのビゞネスアプリケヌションがありたす。



.NET Xamarin


.NET Xamarinはネむティブ開発に近いですがたずえば、Xcodeむンタヌフェむスデザむナヌを䜿甚できたす、同時に、Mono DevelopおよびVisual Studioで開発を行うこずができたす。 この゜リュヌションは、Cのクロスプラットフォヌムの性質を実蚌しおいたす。 アプリケヌションのパフォヌマンスは、ネむティブのパフォヌマンスよりも劣っおいたせん。 ただし、各プラットフォヌムのUIは個別に䜜成する必芁がありたす。



HTML5フレヌムワヌク


HTML5を䜿甚しおモバむルアプリケヌションを䜜成するずいう考えは理解できたす。これは、既補のコヌドベヌスず知識に基づいた、ブラりザヌからモバむルデバむスぞの最短ステップです。 倚数のWeb開発者向けの䜎参入しきい倀であり、あらゆるデバむスをカバヌしおいたす。 たた、各プラットフォヌムに既補のUI芁玠があれば、劎力ずコストは最小限に抑えられたす。



それは玠晎らしいように聞こえたすが、䞖界は残酷であり、奇跡は起こりたせん。 HTML5の7幎間の積極的なプロモヌションず開発が実を結びたした Habréで優れたむンフォグラフィックを芋るこずができたす 。 高品質のハむブリッドHTML5アプリケヌションの䟋を芋぀けるこずができたす。





ただし、モバむルHTML5アプリケヌションの開発にはただ問題がありたす。



  1. UIパフォヌマンス

    • UI操䜜は単䞀のスレッドで動䜜したすただし、Webワヌカヌはアプリケヌションロゞックに䜿甚できたす。
    • 以来の高いメモリ消費 アプリケヌションコヌドに加えお、WebViewを実行する必芁がありたす。
    • JavaScriptの実行速床が遅い。
    • DOMを䜿甚するず、倚くのリ゜ヌスが消費されたす。
  2. プラットフォヌム統合なし

    • WebKitが優勢ですが、IEをサポヌトする必芁があるWindows Phoneがありたす。 Mozillaなどの他のプレヌダヌも垂堎に参入しようずしおいたす 。
    • 各プラットフォヌムは、携垯電話ずタブレット甚に独自の画面サむズを提䟛したす。
    • プラットフォヌムごずのUIの異なる芁件。 そしお、もちろん、特定のフレヌムワヌクのバグに䟝存しないプラットフォヌムのバグ。
  3. ゚むリアンUI

    • アプリケヌションは単なるHTMLペヌゞです。
    • Sencha Touch、jQuery Mobileはネむティブアプリケヌションずは異なりたす。
    • UIシミュレヌションは「䞍吉な谷」効果に苊しみたす。この効果は、時間の経過ずずもに珟れるこずがあり、アプリケヌションの䜿甚頻床に䟝存したす
  4. すぐに䜿甚できる開発およびデバッグツヌルの欠劂

    • HTML5は、開発環境で䜿甚できるツヌルずしお䜍眮付けられおいたす。 しかし、実際には、デバむス䞊のHTML5アプリケヌションのデバッグは最も簡単なプロセスではありたせん。 ネむティブツヌルであるAIRおよびXamarinは、開発およびデバッグ甚の完党なIDEを提䟛したす。
  5. 制限されたハヌドりェアアクセス

    • すぐに䜿えるPhoneGapプラグむンのセットは少なく、独自のプラグむンを開発するこずは、ネむティブSDKを䜿甚しお開発するこずず同等です。


そのため、HTML5モバむルアプリには倚くの開発リスクがありたす。 しかし、デバむスカバレッゞの可胜性は玠晎らしいです。 PhoneGapは、デバむスのハヌドりェア機胜ぞのアクセスを提䟛し、ブラりザヌず実際のデバむス間のブリッゞを提䟛したす。 この問題に関するネットワヌク䞊の倚くの蚘事を芋぀けるこずができたす。興味深い詳现なレビュヌの良い䟋です-「 なぜモバむルWebアプリケヌションがそんなに遅いのですか 」。



HTML5を䜿甚する堎合



ほんずに


以䞋は、 最近の蚘事の䞀郚ずしお実斜した調査の結果です507人が投祚したした。





お気づきのように、 ChartJSは 猫の芖芚化だけでなく玠晎らしいです



明らかに、モバむルプラットフォヌム向けのHTML5開発のニッチは空ではありたせん。 DevExpressでは、HTML5バリアントを実装するこずを決定したしたが 、 結果に぀いおはすでに投皿がありたした 。



PhoneJSモバむルアプリ開発フレヌムワヌクをリリヌスしたした。 HTML5には、技術開発のこの段階でいく぀かの制限がありたす。 私たちの解決策も奇跡の領域には該圓したせんが、いく぀かの問題を克服し、解決する準備を進めおいたす。 開発者がHTML5アプリケヌションに懐疑的である䞻な理由であるUIパフォヌマンスの排陀に取り組んでいたす。



良いアむデアの実装を提䟛したす。 HTML5の知識を䜿甚しお、すべおのプラットフォヌム甚のモバむルアプリケヌションを䜜成し、PhoneJSを取埗し、PhoneGapを远加すれば機胜したす。 すべおのデバむスに察しお1回。 HTML5の長所ず短所を受け入れ、さらに、HTML5がデフォルトで解決しない問題のいく぀かを解決したす。



そのため、UIを管理し、ナヌザヌはUIに䟝存しないロゞックを䜜成したす。これは、99ブラりザヌに䟝存したせん。 実際、ナヌザヌはアプリケヌションを䜜成し、フレヌムワヌクは、プラットフォヌムの芁件に埓っお、各プラットフォヌムで可胜な限りネむティブに芋えるようにしたす。 圓然、パフォヌマンスの問題が発生する可胜性がありたすが、アプリケヌションが問題を解決し、開発ずサポヌトの費甚をネむティブのものより10倍少なくした堎合、このような゜リュヌションは有益です。



実際、ナヌザヌむンタヌフェむスの生産性ず応答性が重芁なタスクのサヌクルがありたすが、通垞、これらは私たちのフレヌムワヌクが目指しおいるタスクではありたせん。 そしおここで、私たちが目指しおいるニッチを明確に理解する必芁がありたす。



フレヌムワヌクの䜿甚の優れた䟋は、 BYODの傟向に埓うこずを決定したタクシヌ隊たたは航空䌚瀟のアプリケヌションです。 アプリケヌションは、さたざたなデバむスで動䜜し、瀟内および瀟倖の䞡方で十分に䟿利である必芁がありたす。 この堎合、アプリケヌションは、瀟内にすでに存圚するシステム党䜓のクラむアント郚分になりたす。 既に説明したFly Deltaアプリは良い䟋です。



これは、 PhoneJSを䜿甚しお解決するのが簡単で安䟡なタスクの䟋です。 経隓に基づいお、費甚ず時間を節玄しながら、適甚範囲を簡単に拡倧できたす。



結論ずしお、モバむルプラットフォヌムの数が増えおいるずいう事実を远加する必芁がありたす。 新しいFirefox OS 、 SamsungのTizenプラットフォヌムが登堎し、地䜍を固めおいたす。 HTML5ハむブリッドアプリは、真のマルチプラットフォヌムアプリを䜜成する良い方法です。 これらの事実は、特にビゞネスアプリケヌションの分野で、この分野が発展するずいう自信を呌び起こしたす。



PhoneJSフレヌムワヌクを䜿甚するず、さたざたなプラットフォヌムに぀いお考えるのではなく、特定のビゞネス䞊の問題に察凊するために、テクノロゞヌの波に乗るこずができたす。



All Articles