web-dev-qa-db-ja.com

ネイティブUIとJavascriptバックエンドを備えたクロスプラットフォームモバイルアプリケーションを開発する方法

クロスプラットフォーム(Android、iOS、Windows)のモバイルアプリケーションを構築したい。

アプリケーションのUXをプラットフォームごとに異なるようにして、プラットフォーム固有になり、異なるプラットフォームのユーザーが共通のUIに固執しないようにします。この共通のUIは、ルックアンドフィールの点でうまく機能しない可能性があるためです。プラットフォーム内の他のネイティブアプリケーションと。ただし、すべてのプラットフォームで構築しようとしているのと同じアプリケーションなので、バックエンドはほとんど同じです。

この画像は、私が達成しようとしていることを表しています。 enter image description here

Storyboard(iOS)、XML(Android)、XAML(Windows)などのネイティブテクノロジーを使用してプラットフォームごとに異なるUIを構築し、これらのUI要素をネイティブコントローラーにバインドすることは可能ですか?そして、このコントローラーにすべてのプラットフォームで共通のjavascriptバックエンドを使用させる。

ネイティブアプリケーションとハイブリッドアプリケーションの概念を認識しています。彼らが直面する問題は次のとおりです

  1. 純粋なネイティブアプリケーションでは、ソースコードプラットフォーム全体を特定のものにする必要があるため、3つの異なる言語でバックエンドを3回記述します。 (少なくとも再利用可能)

  2. ハイブリッドアプリケーション(PhoneGapで構築されたものなど)では、JavaScriptとhtmlでコードを記述できますが、すべてのプラットフォームで使用する必要があるHTML5/CSS3で共通のUIを作成します。ジェネリックよりもネイティブ。

この一般的なjavascriptバックエンドコードは実現可能ですか?そしてもしそうなら、私はこのJavaScriptコード全体を独立して作成し、.a(iOSの場合)、. jar(Androidの場合)、. dll(Windowsの場合)のようなプラットフォーム固有のライブラリとしてパッケージ化できる方法があります。または、他の方法を使用する必要がありますか?

前もって感謝します

5
HelpMatters

この種のことをサポートするフレームワークがいくつかあります- Calatrava はJavascript/Coffescriptに焦点を当てています、またはバックエンドをJava Kirin (これは私が広範囲にわたって取り組んできたものです)詳細は この質問に対する私の回答 をチェックしてください。

2
funkybro

目的1:Xamarinには、.NETの実装に基づく独自の方法があることを知っています。 1つの言語を使用して一般的なアプリケーションバックエンドを構築でき、ネイティブライブラリのラッパーがあります。彼らは、GUIを構築するという哲学をネイティブライブラリと共有しています。ただし、JavaScriptではありません。

2
Max

Appcelerator Titaniumでこれを非常に簡単に実行できると思います。

http://www.appcelerator.com/

このフレームワークを使用すると、JavaScriptでコードを記述して、ネイティブコードをコンパイルできます。たとえば、iOSでネイティブにレンダリングされるNavbar、Androidなどを使用できます。

0
Skoua