質問: androidアプリとwindowsのアプリ作成を考えています。 androidとwindowsなのでJavaかなーと考えていたのですが、android及びwindows共にJavaScriptとHTMLで構築して 各プラットフォーム(ここでのプラットフォームはandroid=>React Native, windows => Electron)への対応を行うとアプリになるのかと考えたのですが認識は正しいでしょうか? *Electronはnodejsかな。 ↑これらのプラットフォームで行うとiOSとMacへの対応も出来る様な感じなので利用してみたいなーと。(必須ではないのですが対応出来るのであれば対応したいです。) 仮にandroid及びwindowsアプリを上記プラットフォームで構築出来たとして、それを配布する時のソースコードはどの様になるのでしょうか? JavaScriptのコードそのままが表示されるのでしょうか?それとも各プラットフォームでパッケージされてJSのコードは分からない様になっているのでしょうか? 宜しくお願いします。
回答: React 系の技術を使うのであれば HTML ではなくて JSX で書くことになります。 現在のエコシステムで正面からアプローチするなら次のようになるでしょう。 * Android: React Native * Windows: React.js + Electron Facebook には "Learn once, write everywhere" という思想があり、一度 React.js の流儀を覚えるとどのプラットフォームでもそれを流用できるというものです。 コアとなるロジックを JavaScript で書いて、それを Android / Windows から使うようにするとコードの重複がなくなるかと思います。 まだ実績がないのでおすすめはできませんが、出来る限り同一コードで対応しようとする場合は次のようになります。 * Android: React Native * Windows: React Native for Web + Electron > > 仮にandroid及びwindowsアプリを上記プラットフォームで構築出来たとして、それを配布する時のソースコードはどの様になるのでしょうか? > > JavaScriptのコードそのままが表示されるのでしょうか?それとも各プラットフォームでパッケージされてJSのコードは分からない様になっているのでしょうか? > > > ソースコードとしては次のようになります。 React Native 側: * JavaScript * Android Java * iOS Objective-C ( React Native で雛形を作成した際に一緒に作成されます ) Windows 側: * JavaScript 実行形態で配布する場合はパッケージングされますが、中身は JavaScript が同梱される形になります。 拡張子を変えて解凍すると JavaScript が見えます。