私はクライアントとプロジェクトについて話し合っていますが、クライアントは単一の言語を使用して、できるだけ多くのプラットフォームにデプロイしたいと考えています。
(プラットフォームごとにユーザーエクスペリエンスとUIメタファーが異なるため、これが良いアイデアかどうかはわかりません。場合によっては、画面サイズも異なります。また、使用している言語に関係なく、iPhoneは動作していません。しかし、 、私は余談です...)
プロジェクトは毎日任意のテキストブロックを表示し、ユーザーがそれを「読んだ」かどうかを追跡します。テーブルの他のいくつかの機能は「ナグ」と別の日のテキストに移動する機能です。
私はCS3の時代からFlashを知っていて、それはAIRに変換されると思いますが、AIRが私たちの望むことを実行できるかどうかはわかりません。
一方、私は(a)JavaまたはPythonの経験がほとんどありませんが、それらも優れた候補のようです。
ここではどの言語を使用する必要がありますか?どうして?
編集:
これはデスクトッププラットフォームでも動作します。
言語はActionScript 3です。さまざまなプラットフォームで動作します。ブラウザー(Flashプレーヤー)、デスクトップ(AIR)、ブラウザーのモバイルデバイス(Android)、およびネイティブアプリケーションとして(AndroidとiOSの両方)。懐中電灯のことは忘れてください。
これらは、非常に優れた展開要素を持つ言語です。
どうして?それはブラウザ上で動作し、あなたが気にするほとんどのプラットフォームはブラウザを持っています。ただし、一部のローエンド携帯電話ではブラウザが大幅に削除されている場合があります(またはOpera Mini、プロキシ側でのみJavascriptをサポートし、クライアント側のJavascriptを非常に制限します)。
Java Virtual Machineは、ほぼすべての携帯電話、デスクトップ、またはサーバーコンピュータに普及しています。他のすべてのものは同等であり、移植性を簡単にしたい場合は、おそらくこれが最良のプラットフォームです。新旧を問わず、ほぼすべての携帯電話がJVMをサポートしていますが、唯一の大きな例外はiPhoneです。
PythonはLinuxとUnixの世界では非常に広く普及しています。また、言語はさまざまなプラットフォーム間で非常に一貫した動作をするため、Pythonでクロスプラットフォームプログラムを作成するための追加作業はほとんど必要ありません。ただし、ほとんどのWindowsにはデフォルトでPythonがデフォルトで付属しておらず、ほとんどの携帯電話はPythonをサポートしていません。OTOHJythonは、PythonコードをJVMにコンパイルします。これは、Python)の一貫性と使いやすさを、JVMプラットフォームの遍在性と組み合わせています。
IPhoneを気にする必要がない場合は、JVM開発が適しています。 Javaの言語構文が嫌いな場合は、Jythonの方が適しています。ただし、最も移植性が必要な場合は、おそらくJavaScriptが適しています。ただし、Javascriptで何かを書くのは面倒です。
[〜#〜] c [〜#〜]
あなたが夢見ることができるあらゆるプラットフォーム用のgccのバージョンを見つけることができます。最小のマイクロコントローラーから最大のスーパーコンピューターまであります。見つからない場合は、独自のツールチェーンを構築できます。
Free Pascal (別名FPK Pascal)は、32ビットおよび64ビットのオープンソースのプロフェッショナルなPascalコンパイラです。さまざまなプロセッサで利用できます。
現在、次のオペレーティングシステムがサポートされています。
廃止された1.0バージョンは、Motorola 680x0もサポートしています。
LazarusはオープンソースのクロスプラットフォームですIDEこれはDelphiに似た開発を提供しますPascalおよびObject Pascal開発者向けの経験。FreePascalコンパイラ用に開発され、サポートされています。Lazarusは、Microsoft Windows、いくつかのLinuxディストリビューション、FreeBSD、Mac OS Xで利用できます。
.NETでは、 Mono 、 GTK# 、 MonoTouch および Mono for Android のプラットフォームの大多数に到達できます。任意の.NET言語を使用し、それぞれにネイティブに見えるUIがあります。
そこにない他の主要なプラットフォームは考えられません。君は?もちろん、これはこれらすべてのプラットフォームをターゲットにするために使用できるフレームワークを示しています。言語を選んでもらいます。 C#、Oxygene、またはVB.NETが.NETで最も人気があります。 Oxygene(Delphi Prismに含まれています)には、ネイティブWindows開発用のDelphiネイティブと部分的に互換性があるという追加の利点がありますが、IronRubyまたはF#を使用したい場合でも、私たちはあなたを止めません。
http://www.phonegap.com/ をご覧ください。
詳細を示しているアプリケーションは非常にシンプルに聞こえますが、個人的にはネイティブプラットフォームの上にあるレイヤーのファンではありませんが、これはあなたにぴったりかもしれません。
編集:質問の性質が多少変更されたようです。
私は 最近、NetflixがHTML5を使用して400以上のプラットフォームに展開する方法を読んでいます。 間違いなく読む価値があります。
一般的に、私は1つの言語に専心しようとはしません。私が働いている会社では、さまざまな言語や技術を利用しています。仕事に適したツールを使用するのと同じように、仕事に適した言語を使用することです。ハンマーを使って車のラグナットを交換しないのと同じように、ドライバーを使って釘を打ちません。
ええと、 haXe はどうですか?今では多くのプラットフォームをターゲットにすることができます。OCamlを習得したら、好きなもののために新しいバックエンドを自由に作成できます。
これはモバイルプラットフォーム用のように聞こえますか?その場合、それらすべてを支配する言語がないので、あなたはほとんど運が悪いです。ソリューションを別のソリューションにクロスコンパイルする製品( http://www.xmlvm.org/Android/ など)がありますが、それとは別に、ネイティブの言語/環境を使用する必要があります。
LiveCode /ランタイム革命
mac、Windows、およびLinuxに展開し、他のあらゆる種類のプラットフォーム用のスタンドアロンソフトウェアも作成します。
C#.NETを使用すると、Mono(Androidの場合)、MonoTouch(Appleの場合)、BlackBerry.NETを利用して、主要なモバイルプラットフォーム(PhoneGapなどのHTML 5プラットフォームとの大きな違い)にネイティブに展開できます。
言語とプラットフォームはマイクロソフトによって十分にサポートされており、多くの雇用者がそのスキルセットを探しています。完全に販売されていない場合は、お気に入りの技術系求人のウェブサイトにアクセスして、検索ボックスでさまざまな言語/プラットフォームに接続してください。どちらの方向に進みたいかがわかります。
Adobe Flash/Flex
(それがあなたの質問で除外されていたかどうかはわかりません)
ほとんどすべてのブラウザー、ほとんどのモバイルプラットフォーム、およびAIRではほとんどのデスクトッププラットフォームで動作します。
見る: http://www.youtube.com/watch?v=22vicDlzmkI&feature=player_embedded