0

私はプロのプログラマーではありませんし、近い将来になるつもりもありません。私は主に楽しみのためにコーディングしていますが、実際に使用するプログラムを作成するのが好きです。つまり、主にグラフィカルなプログラムです。私は Java と Python から始めましたが、ここ数年はほぼすべて JavaScript を使用するようになりました。これは、HTML でインターフェイスを簡単に作成できることと、表示を制御して入力を受け取るための API が非常に簡単であるためです。 (特に jQuery の場合)。

ただし、JavaScript には制限があり (実際のファイル IO はありません。たとえば、キャンバスを介した複雑なグラフィックスの API は扱いにくく、ブラウザーで実行する必要があります)、特に美しい言語でも強力な言語でもありません。私が使用したより肉付けされた言語 (Java、Haskell、Ada) のより強力な機能が恋しいです。したがって、私は新しい言語の市場にいます。ただし、グラフィカルアプリケーションを簡単に構築できるものである必要があります。

開発のより興味深い側面からあまり気を散らさない、優れた高級言語、おそらくスクリプト言語、またはおそらくよりヘビーデューティーなプログラミング言語を推奨できる人はいますか? それとも、Web アプリの作成に行き詰まっていますか?

4

1 に答える 1

1

オプション 1: .Net (Windows アプリケーションの実行に関心がある場合に適用)

@Branyacの回答とは対照的に、winformsの部分をスキップして、現在の関連テクノロジー(XAMLベース)に直接進むことをお勧めします

2013 年に今すぐ winform の学習を開始しても意味がありません。理由は次のとおりです。

  • 時代遅れです。レガシー アプリケーションを維持するためだけに、新しいプロジェクトに使用する人はいません。
  • 深いレベルのカスタマイズはサポートしていません ( ControlTemplates.
  • 多くの興味深い視覚的機能 (など) を (ネイティブに) サポートしていませんAnimations
  • これはソフトウェア レンダリングであり、ハードウェア アクセラレーションをサポートしていないため、多くの視覚的なアプリケーションを winform で実行することは不可能です。
  • 高度な機能は公開されていないDataBindingため、より多くのコードを入力して達成する必要があるものは少なくなります。
  • いかなる種類のドキュメント APIも公開しないため、HTML で簡単に実現できる多くのことは、winform でははるかに困難です。
  • これは、現在一般的にコミュニティによって推し進められている最先端の開発パターン ( MVVM ) をサポートしていません。
  • 大量のデータを処理する場合、実際にゲームチェンジャーになる可能性のあるUI 仮想化を(ネイティブに) サポートしていません。

このような限られた UI テクノロジに対処する代わりに、Microsoft が過去 5 ~ 6 年間に積極的に開発してきた XAML ベースのテクノロジのいずれかを使用することをお勧めします。

  • WPF (Windows プレゼンテーション ファンデーション)。
    • Windows XP 以降で動作し、.Net Framework が必要です。フルパワーです。XAML ベースです。
  • シルバーライト
    • クロスプラットフォームで、ブラウザーで実行され、XAML ベースでもあり、機能が制限されており、WPF 機能のサブセットがあります。
  • WinRT
    • Windows 8 以降で動作し、XAML ベースでもあります。WPF 機能のサブセットも含まれています。

現在のテクノロジーを使用する利点は無限にあります。その一部については、ここや Web 全体で説明されています。

上記のすべてに加えて、HTML のバックグラウンドは、XAML の考え方を習得するのに非常に役立ちます。XAML は HTML と同様にマークアップ言語ですが、より多くの機能を備えています。XAML を使用して WPF で UI を定義し、データを含む関連する ViewModel およびモデルに UI をデータバインドします。

winforms のアプローチはあまりにも手続き的であり、どこにでも多くのボイラープレート コードが必要です。そうではないと思いmake it easy to build graphical applicationsます。

オプション 2: HTML + Javascript の方法を続けます。

于 2013-07-15T19:44:41.917 に答える