GUIでの操作だけでアプリが開発できるサービスがあるのですが、その理由がわかりません。Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。登録してこのコミュニティに参加するどなたでも質問していただけますどなたでも回答していただけます最もよい回答には賛成票が入り、最上位に上がりますホーム質問タグユーザーGUIでの操作だけでアプリが開発できるサービスがあるのですが、その理由がわかりません。392件31appinventorというweb上で、好きなパーツをはめていくだけで手軽にAndroidアプリが作れるものがあります。http://www.atmarkit.co.jp/ait/articles/1103/15/news087.html手軽でびっくりしたのですが、androidアプリとして動く(apkファイルを作成する)までの流れが理解しきれず困っております。GUIで操作及び、ブロックのロジックを設定する↓ブラウザベースのサービスなので、そのロジックをもとに、javascriptでjavaのスクリプトに変換(翻訳?)する↓GUIの部分はどういうプロセスを踏んでかは不明だが、xmlファイルに変換し、ボタンなどの位置を記憶する↓apkファイル生成といった漠然としたイメージは持っております。わからないのは、どうして、ブラウザ上で作成したロジックがandroidアプリで動くようになているのかという点です。前述のとおり、何かしらの方法で翻訳しているのだと思うのですが、ただ翻訳するだけでなく、javaのファイルとして生成しなければいけないと思います。その部分が私の今の理解度では追いついておらず、ブラックボックス化しております。ソースコードを呼んだり、ググったりしていたのですが、よくわからず、質問させていただきました。自分でも同じようなことができるようになりたいと思っております。そのために何が必要なのかも差支えがなければ教えていただけると幸いです。拙い知識ではありますが構文解析器コンパイルなどが肝になるのかなと思っております。モバイルアプリが開発できる言語?があります。いうのも今回の質問内容に類似しており、気になるところではあります。rubyの文法で書いたロジックを何かしらの形で翻訳し、javaやobjective-cに変換するのだと思うのですが、ここでいうところのその変換方法が何なのかがわかりませんでした。不足事項などは都度追記させていただきます。票4まず、ブラウザ上のJavascriptではUIのレイアウトとブロックの配置を行うエディタ、そしてXMLや後述するYAIL言語への変換を行います。このスクリプトは単純なJavascriptの他に、Javaで書かれたプログラムをGWTというツールで変換したものも含まれています。Language)という言語です。これはAppInventor独自のScheme風のプログラミング言語で、UIもブロックもこの言語に変換され、Android端末で動かしたYAILインタプリタで動作します。このインタプリタは、Java上のScheme実装であるKawaで実装されています。apkファイルをダウンロードする時には、YAILコードとリソースをビルドサーバーに送り、それらとYAILインタプリタを合体してapkにします。ビルド処理の実装はこのあたりに。いうわけで、Javaのソースコードやバイトコードを自ら生成しているわけではありません。一般にAndroid向けにコンパイルするというとJavaバイトコードを生成するわけですが、Java以外の言語でAndroidアプリを作る方法を考えると、Javaでインタプリタを実装するJavaのソースコードに変換するJavaバイトコードへのコンパイラを実装する(Kawaとか)Javaバイトコードへのコンパイルができる、別の言語を経由する(Kawaを経由するYAIL)バイトコードではなく、ネイティブコードを生成する(Rubymotionなど)といってもLLVM使えば機械語を直接がりがり書く必要はないとかそういうと、結構色んなパターンがあります。できることやパフォーマンス、難易度に大きく差があります。ちなみにこれはどう出力するかの話です。変換元となるプログラムを読み取る処理は別途考える必要がありますが、そこで出てくるのか構文解析などのプロセスです。個の銅バッジ具体的に書いていただき有難うございます。私の知識不足のため、すべてを理解しきれておりませんが、一文一文反芻し、理解していきたいと思います。私は普段、rubyやpythonで実装をしております。そのため、unaristのJava以外の言語でAndroidアプリを作る方法に興味があります。rubymotionがjrubyを使用しているのかどうかはわかりませんが。上記内容は私の理解不足で、齟齬があるかもしれません・・・。変換元となるプログラムを読み取る処理は別途考える必要がありますが、そこで出てくるのか構文解析などのプロセスです。JrubyはRubyインタプリタ・コンパイラのJava実装ですから、箇条書きの1番目と3番目かと思います。ネイティブコード(いわゆる機械語)生成はできません。そのQiita記事はPythonで何らかの構文解析をする方法であり、Pythonプログラムの構文解析とは無関係です。あとは最近だとプログラミング言語を作ることを題材にした書籍もありますから、そういったものを読まれると大筋が理解しやすくなるかもしれません。いった資料を読んで、ご自身で調べても理解できないとなったら、また改めて質問していただければと思います。8:39ご回答有難うございます。コンパイラの仕組み等、きちんと理解しきれていなかったので、ご共有頂きましたURLなどを元に、勉強したいと思います。プログラミング言語を作る書籍もいろいろとありました。いうのやネット記事などを参照し、言語を作る部分についても勉強しようと思います。課題が見えてきましたので、とても感謝しております。ついては今回の要件とは少しずれてしまってますでしょうか・・・。rubyやpythonをやっている身としては、とっかかりとしていいかなと思い。Rubyコンパイラとして動作します。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。表示しようとすると落ちる0swiftでのアプリ制作でエラー内容がわからない0Android8のサービス実装方法について教えてください。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。