** ■ゴール **
送信ボタン押下するとテキストボックスの文字列がTwitterに投稿される機能のみがあるGUIの投稿専用クライアントを、
MacとWindows環境で動作するものを作りたい。
** ■前提 **
GUIの知識はゼロ。
普段はPHPのsymfonyで開発をしている。
Macでの開発はしたことがないため、環境構築から行う必要がある。
勉強を兼ねるため、言語は問わない。
** ■質問 **
GUIのデザインを含めて、Mac環境で開発するにはどの言語とライブラリを使用すると
開発を進めやすく、ドキュメント等が充実しており調べやすいかをお教えください。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
WindowsとMac両方動作するマルチプラットフォーム向けのデスクトップアプリを作る場合、選択肢は結構少ないです。
###Electron
Node.jsとChromium(Google Chromeのコア部分)を使用して、Webアプリのようにデスクトップの作成が可能。GUI部分はブラウザでWebページを表示するのと同じ仕組み(HTML+CSS)のため、Webページを作る技術があればそのままGUI部分が作れてしまう。
言語: JavaScript (+HTML+CSS)
利点: JavaScriptとWeb技術がある程度わかれば作成できる。流行っている。
欠点: バイナリがでかい(Google Chromeが丸ごと入っているようなモノだから)。
###Qt
マルチプラットフォームなGUIライブラリ(ツールキット)。QtCreatorという扱いやすいエディタもあるので、(C++がわかれば)簡単にGUIが作れる。LinuxではGTKと並んでデファクトスタンダードになっている。
言語: C++ (それ以外もライブラリ経由で多数使用可能)
利点: 高速かつネイティブなGUI。
欠点: C++という敷居の高さがネック。他言語用のライブラリがあるが、ちゃんと作るにはC++の方がよさそうなので、お手軽とは言えない。一部の機能が有償だったり、商品に組み込む場合はライセンス費用が必要だったりする。
###GTK+
もともとはGIMPを作るために作られたGUIライブラリ(ツールキット)。GIMPと同じ独特のインターフェースを持つが、今は色々スキンを変えれるはず。LinuxではQtと並んでデファクトスタンダードになっているが、最近はQtに推され気味の雰囲気。
言語: C (それ以外もライブラリ経由で多数使用可能)
利点: ボタンとかがGIMPっぽい。というか、GIMPそのもの。それがまたいいような気がする。
欠点: ボタンとかがGIMPっぽい。というか、GIMPそのもの。なんかダサいような気がする。
###Java + JavaFX or Swing or AWT or SWT
Javaで動くGUIライブラリ。最新のJavaではJavaFX/Swing/AWTは標準で入る。SWTはEclipse用に開発されたモノで、プラットフォーム毎にライブラリを用意してネイティブに動作するため、速い。
言語: Java (ScalaやKotlin等のJavaVMを使える言語も可能)
利点: Javaというところ。SWT以外は一つのバイナリで全てのプラットフォームで動作する。
欠点: Javaを入れておいて貰う必要がある。JavaVM毎配るという手段もあるが、でかくなるし、ライセンスの再配布条件に注意が必要。
###.NET + Xamarin.Forms or GTK#
.NET用のGUIライブラリ。.NET標準でSystem.Windows.Formsというのも一応あるのだが、文字化けとかするのでまともに使えるかはわからない。Xamarin.FormsはXamarinが作ったモノで商用向けというのもあって、いけてる…らしい。GTK#はGTK+を.NETに移植したモノ。
言語: C#などの.NET Framework言語
利点: .NET FrameworkであるためWindowsとの親和性が高い。Xamarin.FormsはWindowsストアアプリも作れるようだ。開発環境にVisual Studioが使える。
欠点: .NETを入れておいて貰う必要がある。Windows標準の.NETには上のGUIライブラリ入っていないため、同じく別途入れておく必要がある。Xamarinは一部有償(企業で使う場合は特に注意)。
###wxWidgets
マルチプラットフォームなGUIライブラリ(ツールキット)を作ろうと言うことで作られたモノ。各言語用にライブラリが用意されている。さわったことがないため、よくわからない。
言語: 多数 (本体はC++)
利点: よくわからない。
欠点: よくわからない。
###Tk
古くからあるGUIライブラリ(ツールキット)。というか、名前がそのままツールキット。Tclを拡張したモノだったため、Tclと一緒によく使われる。
言語: Tcl、他多数
利点: 枯れている。
欠点: 古い。(一応、更新はされているようだが)
投稿2017/02/11 02:56
総合スコア21737
0
Electronとか。
【Electronの手習い〜Electron環境からパッケージ化まで〜 - Qiita】
http://qiita.com/tagosaku324/items/c720499080d523bbe1d7
【30分で出来る、JavaScript (Electron) でデスクトップアプリを作って配布するまで - Qiita】
http://qiita.com/nyanchu/items/15d514d9b9f87e5c0a29
投稿2017/02/11 03:01
総合スコア69583
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/12 12:05