2008-08-29 4 views
3

プログラマーとしての私の仕事では、オーディオファイルをさまざまな形式に変換するためのプログラムをC++で作成します。おそらく、これには単純なGUIを構築することが含まれます。クロスプラットフォームのGUIツールキットを使用するか、ネイティブのものに頼るべきですか?

ではなくQtのか、GTKのようなクロスプラットフォームのツールキットのココアとのWinFormsを使用してMacとWindows用の別々のGUIを構築するために多大な努力でしょうか?
(私はとにかく別々のWindows版とMac-バージョンを維持する必要があります)
GUIは、おそらく非常に簡単なものとごく基本的な機能が必要になります。

私は常にネイティブのGUIははるかに直感的にそのクロスプラットフォームの兄弟よりも感じていることを感じました...

答えて

8

あなたは、専門知識を持つネイティブのフロントエンドを使用している場合は、それが効果的にあなたがUIのためにしなければならない仕事を倍増ます私の経験から、ネイティブではないUIはネイティブのものよりもちょっと大変です。

1

はい。

しかし、真剣に、それはあなたの目標に依存します。私はネイティブのUIライブラリは、それらに入れて努力の結果、大幅に良い結果を与えるだろうことに同意しますが、多くのアプリケーションでは、非常に基本的なUIが十分であり、既存のクロスプラットフォームのフレームワーク。

たぶん、CLIから始まると機能の作業を取得するには、オーディオ変換アプリケーションのための最も理にかなっています。

7

wxWidgetsを見ましたか?クロスプラットフォームのネイティブコントロール。

+3

最大の問題は、異なるプラットフォームにコントロールをレイアウトするための異なるルールがあることです。ボタンはネイティブに見えますが、アレンジが間違っていれば、全体のUIはまだ吸うでしょう。 (OSXユーザーは、この点で最もピックアップする傾向があります) –

2

可能であれば、ネイティブのフロントエンドが方法に同意します。私は最近wxWidgetsを使用していないし、それは遠い道のりだと聞いたことがあるが、wxWindowsだったときに、X/Motifで構築されるspecであるアプリケーションを構築した。私たちが努力を終えてそれを提供したとき、顧客はX/Motifのようには見えないと言って、私たちはUI全体を私たちの費用で再処理しなければならなかった... Joel Spolskyはこれについて良い記事を書いた。タイトルを覚えていない。彼が言ったことは、IIRCはJavaの問題であり、いくつかのクロスプラットフォームのUIは「あなたの犬は私のアプリで吠える」ということでした。それはあなたを悩ませる小さな不一致です。

+1

:-O。彼らのアプリをMOTIFのように見せてくれるのは誰ですか?これは、インターフェイスツールキットのCOBOLのようなものです! – slacker

1

私はすぐに自分のクロスプラットフォームアプリケーションのGUIレイヤーを作成します。 アプリケーションの複雑さにもよりますが、これはQT、GTK、またはFOXに必要なものの一部である可能性があります。

理由は、我々は、プラットフォーム・ベンダー(アップル最初の)傾向を見ていること、それがユニークに見えるようにそこにシステムを設計しようとしています。これにより、QT、GTK、FOXなどのプラットフォームツールが常に最新のウィジェットと同期を保つことがずっと難しくなります。

下層技術はOSベンダーが、その後プラットフォームのルックアンドフィールにブランディングnoオプションを持っていない、より多くの同じになります。

3

クロスプラットフォームのツールキットは、多かれ少なかれ、すべてのプラットフォーム間の違いは、ボタンの配置やウィジェットのスタイリングの問題であるという間違った仮定を作ります。 Qtアプリケーションは、Windows(UI規約が非常に甘い)とLinux(特にKDE環境)の両方でネイティブであると感じることがあります。一般に、LinuxとWindowsを比較的簡単に移動することができます。慣習は似ていて、Windowsコミュニティはそれらについて怠惰です。

Macは難しいです。そのUIは、WindowsまたはほとんどのLinux環境とは全く異なるパラダイムを中心に構築されています。

しかし、一般に、ネイティブアプリでは、単にウィジェットスタイル以外の方法でプラットフォームの母国語を話す方が簡単です。

0

wxWidgets標準のC++構文とプリプロセッサを使用すると、プレーンCやC++から簡単に変更できます。そして、GTK、X11、MS-Windows、Mac上で表示される場所は、非常にネイティブな外観になります。

1年目のリリースから20年が経過しており、簡単にナビゲートできる完全なドキュメントがあり、世界中の大規模なコミュニティによってサポートされています。 お気に入りのIDEでコーディングするか、または著名なEclipse-IDEとwxFormBuilderをGUIデザイナーとして使用してください。 http://yasriady.blogspot.co.id/2016/01/raspberry-pi-toolchain.html

Linuxデスクトップでアプリケーションを開発し、ラスベリーPi2用のコンパイラも提供しています(Raspbian Jessie上でスムーズに動作するテスト済みのアプリケーションです)........このリンクには、wxライブラリのビルドとIDE /ツールチェーンの設定があります。 .....

関連する問題