クロスプラットフォームアプリを構築するために、Xamarin Formsを見てきました。 iOS、AndroidおよびWindows Phoneをターゲットとするフレームワークが必要です。これはすてきな製品のようですが、ライセンスコストが原因でビジネスモデルやWindows Phone開発のライセンスに問題が生じる可能性があります不明です。
React Nativeと呼ばれる別のフレームワークに出くわしました。クロスプラットフォームのアプリを構築できると主張しています。特にXamarinに関連して、その長所と短所を教えていただけませんか。可能な場合はフォームを使用します。1つは、JavaScriptを使用しているため、コードメンテナンスまたは実行パフォーマンスの点で拡張性に欠ける場合がありますが、Reactそして、その有用性についていくつかの客観的な意見を形成しました。
https://facebook.github.io/react-native/
ありがとう。
ディスクロージャー:私はFacebookやMicrosoftの従業員ではなく、どちらのプラットフォームにも関与していません。ReactNativeで開発する方法を学び始めたばかりのWeb開発者です。
リアクトネイティブ
facebookで構築され、オープンソース-現在(2015年10月現在)iOSとAndroidのみをサポートしています。ビルドするUIコンポーネントがネイティブコンポーネントに変換されるという点でXamarinに似ています。他のフレームワーク(例:Cordova)など、Webビュー内で実行しないでください;利点は、ネイティブコンポーネントがWebコンポーネントよりも応答性が高いことです。
アプリはビジネスロジックコードとほとんどのUIコンポーネントを共有できる必要がありますが、チームがネイティブに反応するため、各プラットフォームには独自のインターフェイスがあり、アプリはそれを考慮して、それを許可し、奨励します(ただし、強制するわけではありません)各プラットフォーム用のアプリUIインターフェースを作成します。
すべてのコードは(Javaではなく)Javascriptで記述され、nodejsプロセスで実行され、XML要素を使用して記述されたUIで、CSSに似ていますが内部的にJavascriptとして解析されるパターンでスタイルが設定されます。
アプリは、ほとんどのUIが実行されるメインスレッドと、ビジネスロジックが実行されるnodejsスレッドの2つのスレッドで実行されます。これは、アプリケーションを設計するときにいくつかの意味を持ちます。
このフレームワークは、プロダクション対応のアプリケーションを構築するのに十分な成熟度を備えていますが、公式にサポートされているクロスプラットフォームコンポーネントを増やす必要があります。コミュニティは、使用したいと思うかもしれない素晴らしいクロスプラットフォームコンポーネントも構築しています。ほとんどのコンポーネントは無料ではありません。
反応ネイティブの作業の背後にあるチームは何ですか? (私がオンラインで見た講演に基づいて):
要約すると、これらは考慮すべき点です。
Xamarin React Native
built by: Xamarin Facebook
language C# Javascript (nodejs)
age mature (prod ready), but not mature
community: good support good support
platforms iOS, Android, Windows iOS, Android
cost FREE (open sourced) FREE (open sourced)