.NETへの依存を解消するにはどうすればよいですか?[閉まっている]


10

私は何年にもわたってWindows GUIアプリケーションを開発しており、2005年の初めに.NETに飛び込みました。このキャンプに捧げます。GUIアプリケーションを開発できる新しい言語を学びたいです。

Rubyを学び、Pythonをインストールしたところです。Windows GUIアプリを開発するためのフレームワークであるWxRubyについて読みました。Rubyで。私はPythonに似たフレームワークを探しています。

それとは別に、プロダクションレベルのGUIアプリにより適した言語を知りたいです。Rubyが魅力的なRuby on RailsでWebプラットフォームに集中しているとは思えません。

私はこれらの豊富な.NETクラスとその印象的なVisual Studio IDEを取得できない可能性があることを知っていますが、それでもあまり旅に出ない道を歩みたいと思います。私はIronPythonとIronRubyを使いたくありませんが、しばらくしてから、手を探って探検するかもしれません。


5
MicrosoftがIronPythonとIronRubyをランダムに破棄することにしたのは本当に残念だ。彼らがそうすることで彼らが業界/コミュニティにどんな種類の不快なメッセージを送ったか本当に理解していないと私は思います。
宮坂零

2
@Mahmoud彼らはそれにお金を使うのをやめました。彼らはただコミュニティにそれを実行させるだけです。リード開発者であるジムフグニン
宮坂玲


9
@トーマスそれはまだ捨てられています。私がガールフレンドを捨てたからといって、彼女がもはや存在しない、またはもはや存続できないというわけではありません...後者が何を意味するにせよ。
宮坂零

2
@Rei、あなたが関係している限り、彼女はもう存在しません:) Ditchedは、MSDOS、FoxPro、VB6、Silverlight、Flight Sim、IronPython、IronRuby、IronRubyと一緒に出かけることができるシングルバーへの片道チケットです昔のあなたの愛の物語。
gbjbaanb 2011年

回答:


14

Qtを確認してください。

間違いなく.NETと同じくらいリッチで、IDE(QtCreator)はシンプルですがかなり強力です。もちろん、ネイティブC ++で使用する方が適切ですが、Pythonバインディングは完全かつ最新の状態に保たれます。

その上、それは本当にクロスプラットフォームであり、モバイルプラットフォームも含まれています:-)


1
ビルドする前に別のコンパイラーが必要であることを考えると、QtをネイティブC ++システムと呼ぶのは困難です。しかし、それは悪いシステムではありません。
Billy ONeal、2011年

1
まったくではなく、その「ネイティブ」は「マシン言語に直接コンパイルされ、そこにバイトコード/ VM / JITがない」、「プラットフォームエミュレーションレイヤーがない、結果のコードはOS固有である」とも呼ばれます。mocプリコンパイラは、いくつかの特定のコーナー(主に信号ハンドリング)が簡単に見えるコードを作るために多くのいくつかの構文糖よりも何もありません。Cプリプロセッサとほぼ同じ場所でコンパイルチェーンに適合します。これは主に、特定のC ++機能がコンパイラ間で安定する前のAPI安定化の歴史的な成果物です
Javier

公平を期すために、mocは、C ++には最近でも欠けているダイナミズムを追加しています。
タマシュSzelei

6

まあ、wxRubyは、素晴らしいクロスプラットフォームGUIツールキットであるwxWidgetsの Rubyバインディングにすぎません。wxPythonと呼ばれるPythonの同様のバインディングと、他の多くの言語のバインディングがあります。


ウィジェットは存在しますが、それらはコア言語とどの程度シームレスに統合されますか?コミュニティのサポートはどの程度活発ですか?
RPK

1
@RPK-PythonまたはRubyで任意のGUIツールキットを使用するかなり小さなコミュニティーになります。wxPythonコミュニティはRubyよりも大きいです。Rubyのコミュニティは現在Railsに支配されていますが、Pythonには明らかな多様性があります。
ジェレミー

@Jeremy RubyのコミュニティーはRailsに支配されているわけではありませんが、コミュニティーがそれを認識しているのは残念です。
代替

5

質問がRubyとPythonのどちらが優れているかを判断することに限定されているのか、それともWindows GUIアプリを開発するために一般的にどのような言語を学びたいのかを尋ねているのかどうかはわかりません。私は後者を想定しています。

Java、Delphi、またはネイティブのWin32プログラミングもあります。これらはいずれも、WindowsでのGUIアプリの開発に適しています。ネイティブのWin32コードは、Visual Studioを介して(必ず?)記述できますが、.NETへの依存関係はありません。


4
Delphiの場合は+1。.NETを利用せずに、高速のネイティブ32ビットWindowsアプリを構築します。64ビットバージョンはおそらく2011
いつか

1
Java GUIは遅いですか?それはどこで証明されましたか?
Tim Williscroft、2010年

9
@Tim Williscroft-SWTは高速ですが、ほとんどのSwingアプリはやや遅いです。それを証明する必要があるなんて想像もできません。
ジェレミー

1
@ジェレミー私はあなたの優れた知識に頭を下げます。私はとても恥ずかしいです、私は何年もそれを間違っていましたが、今はわかっています。
Tim Williscroft、2010年

2
ネイティブのwin32で結構です。迅速な開発には適していませんが、それほど難しくありません。
ポールネイサン

5

HTML5とJavaScript。

私は冗談だったと思いますが、そうではありません

半年前に誰もこの答えを持っていないと思って怖い。

悲しい...


1年ほど前、プログラマーに対して、マイクロソフトがVB6を浴槽で捨て、.NETでも同じことができるとコメントしました。誰かが私に答えて、MSが.NETを決して捨てないだろうと書いた。さて、驚き、驚き!それが私が自由ソフトウェアとオープンソースコミュニティに固執する理由です。.NETがオープンソースだった場合、コミュニティがフレームワークを前進させることができたので、MSの動作はそれほど問題にならなかったでしょう。
systemovich

1
Monoは主に追いついています。問題は、その汚名とその周りの政治が、他の企業がそれを快適に採用することを不可能にしていることです。同じこと、SunがGoogleを訴えようとしているオープンソースのJavaにも当てはまります。違いは、GoogleがSunが訴訟を起こすことを期待していなかったことです。誰もがマイクロソフトが彼らを訴えることを期待しているので、彼らがそうしないと誓ったとしても、人々は.NET / Mono / ECMA C#を避けます。本当に、これは何でもオープンソースについてではありません。MSが完全に頭を失ったことについてです。ほとんどすべてのソフトウェアは、その主要な貢献者が狂ったり、退屈したり、オープンになったりしないリスクを負います。
宮坂玲

+1は、HTML5とJSをブラウザからネイティブデスクトップアプリケーションに直接移植できることは素晴らしいことです。これで、Web、モバイル(PhoneGapを使用)、およびWindows 8がすべて1つのオープンソースプラットフォームに統合されました。
レイノス'20年

1
あなたがリンクした記事の最後は、MS 巨大な開発者ベースを放棄したり、HTML5 + JSですべてのコードを作成したりすることはなく、これが他の何よりもPRの問題であることを示唆しています。
Scott Whitlock

@ScottWhitlockは、Microsoftが既存のツールのサポートを廃止または削除することなく、使用できるツールを拡張しているだけです。これは、より多くの開発者をマイクロソフトエコシステムに引き込む優れた方法です。
Raynos、2011年

4

筋金入りの非マイクロソフト非アップルの人々はコマンドライン主導であり、GUIデザインはそこにはかなり役に立たないことに注意してください。彼らはある程度、妥協してHTMLでGUIを作成し、ブラウザーで使用されるようにしますが、それはクライアントのためであり、自分のためではありません。

GUIの世界に留まる必要がある場合は、Appleを調べたり、Windowsの.NETを使い続けたいと思うかもしれません。

理にかなっていますか?

HTH


4
これは厳密には当てはまりません。* nixの世界では、非常に広範囲にGUIを使用しています。
greyfade 2010年

@クリストファー:私はそれを知っており、完全に認識しています。たとえば、Oracleを考えてみましょう。彼らは非常に遅いHTML GUIを発表しました。私はネガティブだけを探しているのではなく、おそらくOracleはコマンドラインで非常にうまく管理できます。
RPK、2010年

@RPK:IIRC、Oracle 9iにはGUIデスクトップアプリである素晴らしい管理ツールがありました。私はコマンドライン管理よりもずっと好んでいました。Oracle 10gはそれをWebページとして実装しましたが、それほど良くありませんでした。
David Thornley、2010年

1
GTKはLinuxデスクトップでかなり人気があり、他のGUIツールキットもあります。多くのタスクでターミナルを使用している場合でも、GUIなしでデスクトップを実行するのは一般的ではないと思います。ただし、* nixサーバーでは通常、コマンドラインからすべてを実行します。
ジェレミー

2
私はその発言に似ているので、+ 1。通常、私が行うGUIプログラミングはWebアプリに関連しています。私はその設計の程度を直感的でシンプルかつ明白にすることで機能させるために意識的な努力をしていますが、私自身のコンピューティングエクスペリエンスは80%Emacs、15%ブラウザ、6%その他(1%のエラーマージンあり)のようなものです。
Inaimathi、2010年

3

あなたの状況ではJavaをお勧めします。

理由:

  • .NETを知っている場合は、Javaに比較的慣れています(C#は主にJavaに触発されており、多くの規則とライブラリ名でさえ非常によく似ています)
  • Javaにはいくつかの印象的なGUI機能があります(たとえ広く認知されていなくても)。最高のクロスプラットフォームGUIツールキットは、私の意見では、Swing(完全なクロスプラットフォームであり、一貫したルックアンドフィール)とSWT(Eclipseなどで使用されるネイティブコンポーネントを利用する)です。JavaFX 2.0は、将来性も期待できます。
  • 両方に「GUIビルダー」タイプのツールがたくさんあります(一般に、NetbeansやEclipseなどのIDEプラグインとして利用できます)。
  • それはおそらく個人的な好みの問題ですが、NetbeansまたはEclipseは、全体として、Visual Studioよりも優れたIDEであり、他の言語やプラットフォームで見られるよりも確かに優れていると私は主張します。
  • Javaプラットフォーム/エコシステムは、一般的には最適な場所です。特に、オープンソースが好きな場合は、多種多様なライブラリとツールが利用できます。

あるいは、冒険したい場合は、ScalaやClojureなどの新しい革新的なJVM言語の1つを試すことができます。


3
また、Java開発者はソフトウェアを記述する適切な方法をより速く習得する傾向がありますが、多くの.NETの連中はデザインパターンやSOLIDなどを適用せずにコードを投げるだけです
Wayne Molina

-1

PythonはGUIで正常に動作します。PyQt、PyGTK、WxPythonなどを見ることができます。これらはGUI開発(Linuxで)に積極的に使用されており、クロスプラットフォームであると言われています。


-4

IronRubyやIronPythonなど、.Netランタイムで動作する他のプログラミング言語を調べてください。次に、monoプロジェクトを確認してください。

これらの手順により、.Netの快適ゾーンから抜け出し、Linuxで開発できます。そこから、それは完全なUNIXスタイルの開発への小さな飛躍です。


5
-1彼は「IronPythonとIronRubyに行きたくない」という質問で述べているため
Inaimathi 2010年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.