質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

2回答

7533閲覧

Macで開発できるまでの手間が少なくて、MacとWindowsで動作するGUIのTwitterクライアントを作るにはどの言語が良いでしょうか。

takets

総合スコア43

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

1グッド

4クリップ

投稿2017/02/11 01:42

** ■ゴール **
送信ボタン押下するとテキストボックスの文字列がTwitterに投稿される機能のみがあるGUIの投稿専用クライアントを、
MacとWindows環境で動作するものを作りたい。

** ■前提 **
GUIの知識はゼロ。
普段はPHPのsymfonyで開発をしている。
Macでの開発はしたことがないため、環境構築から行う必要がある。
勉強を兼ねるため、言語は問わない。

** ■質問 **
GUIのデザインを含めて、Mac環境で開発するにはどの言語とライブラリを使用すると
開発を進めやすく、ドキュメント等が充実しており調べやすいかをお教えください。

DrqYuto👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答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

raccy

総合スコア21737

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takets

2017/02/12 12:05

ありがとうございます。 GUIライブラリが網羅されており、非常に参考になりました。
guest

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

kei344

総合スコア69583

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takets

2017/02/12 12:04

ありがとうございます。 ファイルサイズさえ気にしなければ、Electronは有望な選択肢となりますね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問