それらすべてを支配するための1つの言語? (プラットフォームである。)[閉じた
https://softwareengineering.stackexchange.com/questions/9675
-
16-10-2019 - |
質問
私はクライアントとプロジェクトについて話し合ってきましたが、彼らは単一の言語を使用して、できるだけ多くのプラットフォームに展開したいと考えています。
(各プラットフォームには異なるユーザーエクスペリエンスとUIメタファーが提供されるため、それほど良いアイデアであるかどうかはわかりません。場合によっては、画面サイズも異なります。 、私は脱線します...)
プロジェクトは毎日任意のテキストブロックを表示し、ユーザーがそれを「読み取る」かどうかを追跡します。テーブルの他のいくつかの機能は、「ナグ」と、別の日のテキストに行く能力です。
私はCS3日のフラッシュを知っています、そしてそれは空気につながると思いますが、空気が私たちが望むことをすることができるかどうかはわかりません。
一方、私は(a)JavaやPythonでの経験がほとんどありませんが、それらは良い候補のように見えます。
ここでどの言語を使用する必要がありますか?なんで?
編集:
これは、デスクトッププラットフォームでも実行されます。
解決
ActionScript 3は言語です。さまざまなプラットフォームで実行されます。ブラウザ(フラッシュプレーヤー)、デスクトップ(AIR)、ブラウザのモバイルデバイス(Android)、およびネイティブアプリケーション(AndroidとiOSの両方)で。フラッシュライトを忘れてください。
他のヒント
これらは、非常に優れた展開要因を持つ言語です。
JavaScript。
なんで?ブラウザで実行され、気にするほとんどのプラットフォームにはブラウザがあります。ただし、一部のローエンド携帯電話には、ブラウザーがひどく剥がれた場合があります(または、プロキシサイドでのみJavaScriptをサポートし、非常に限られたクライアント側JavaScript)。
JVM
Java仮想マシンは、ほぼすべての携帯電話、デスクトップ、またはサーバーコンピューターで遍在しています。他のすべてのものは平等です。おそらく、簡単に移植性を必要とする場合は、おそらく最高のプラットフォームです。古いものと新規であるほぼすべての携帯電話がJVMをサポートしています。唯一の主要な例外はiPhoneです。
Python
PythonはLinuxとUnixの世界で非常に遍在しています。また、この言語にはさまざまなプラットフォームで非常に一貫した動作があり、Pythonでクロスプラットフォームプログラムを作成するための追加作業はほとんど必要ありません。ただし、ほとんどのWindowsはデフォルトではPythonで発送されず、ほとんどの携帯電話はPythonをサポートしていません。 Otoh Jython、PythonコードをJVMにコンパイルします。これは、Pythonの一貫性と使用の容易さとJVMプラットフォームの遍在性を兼ね備えています。
iPhoneを気にする必要がない場合は、JVM開発が進む方法です。 Javaの言語構文が嫌いなら、Jythonはより良い選択肢です。ただし、最も移植性が必要な場合は、JavaScriptはおそらく行く方法です。しかし、JavaScriptで何かを書くのは苦痛です。
c
最も小さなマイクロコントローラーからHugest SuperComputerまで、夢見ることができるあらゆるプラットフォーム用のGCCのバージョンを見つけることができます。
無料のパスカル (別名FPK Pascal)は、オープンソース32および64ビットプロのPascalコンパイラです。さまざまなプロセッサで利用できます。
- Intel X86
- AMD64/x86_64
- PowerPC
- PowerPC64
- Sparc
- 腕
現在、次のオペレーティングシステムがサポートされています。
- Linux
- FreeBSD
- 俳句
- Mac OS X/Darwin
- dos
- Win32
- Win64
- ひるみ
- OS/2
- ネットウェア(LIBCおよびクラシック)
- モルフォス
中止された1.0バージョンは、Motorola 680x0もサポートしています。
ラザロ PascalおよびObject Pascal開発者にDelphi模倣開発エクスペリエンスを提供するオープンソースのクロスプラットフォームIDEです。無料のPascalコンパイラのために開発され、サポートされています。 Lazarusは、Microsoft Windows、いくつかのLinux分布、FreeBSD、およびMac OS Xで利用できます。
.netで、 単核症, GTK#, Monotouch と Android用モノ 任意の.NET言語で大部分のプラットフォームに到達し、それぞれにネイティブのUIを持つことができます。
- .NETはあなたを取得します
- Web用ASP.NET
- WindowsとMacのWeb用のSilverlight(MonoのMoonlightもLinuxにもなります!)
- Windows Phone 7のSilverlight
- GTK#を備えたモノはあなたを取得します
- Mac OSX
- Linux
- おそらく他の人ですが、それほどネイティブに見えません。モノと一緒にWiiに到達した人もいます。 。 。
- iPhone、iPadなどのモノタウチ
- Android用のモノドロイド
- BlackBerry .NET - 最初に聞いたことがありますが、彼らはブラックベリーで.netと言います、私はQTで想定しています。
あなたがそこに欠けている他の主要なプラットフォームについては考えられません。君?もちろん、これはこれらすべてのプラットフォームをターゲットにするために使用できるフレームワークを指摘しています。言語を選ばせます。 C#、oxygeneまたはvb.netは、.netで最も人気があります。 Oxygene(Delphi Prismに含まれる)には、ネイティブWindows開発のためにDelphiネイティブと部分的に互換性があるという利点がありますが、IronrubyまたはF#を使用する場合は、止まりません。
あなたは見たいかもしれません http://www.phonegap.com/
詳細なアプリケーションは非常にシンプルに聞こえます。個人的には、私はネイティブプラットフォームの上に座っているレイヤーのファンではありませんが、これはあなたにぴったりかもしれません。
編集:質問の性質がいくらか変わったようです。
これはモバイルプラットフォームが正しいように思えますか?その場合、あなたはそれらをすべて支配する言語がないので、あなたはほとんど運がありません。別のソリューションを相互にコンパイルする製品があります( http://www.xmlvm.org/android/)しかし、それとは別に、母国語/環境を使用する必要があります。
うーん、どうですか ハックス?今までに多くのプラットフォームをターゲットにすることができ、OCAMLを学んだ場合は、あなたが空想するもののために新しいバックエンドを自由に書くことができます。
私 最近、NetflixがHTML5を使用して400以上のプラットフォームに展開する方法を読んでください。 それは間違いなく読む価値があります。
一般的に、私は1つの言語にコミットしようとはしません。私が働いている会社では、さまざまな言語や技術を利用しています。それは、あなたが仕事に適したツールを使用するのと同じように、適切な仕事に適切な言語を使用することです。ハンマーを使用して車のラグナットを交換しないのと同じように、ドライバーを使用して爪をハンマーしません。
LiveCode / Runtime Revolution
Mac、Windows、Linuxに展開し、他のあらゆるプラットフォーム向けのスタンドアロンソフトウェアも作成します。
C#.NETを使用すると、任意の主要なモバイルプラットフォームにネイティブに展開できます(基本的にハイブリッドWebアプリであるPhoneGapのようなHTMLプラットフォームとの大きな違い)、Mono(Android用)、Monotouch(Apple)、およびBlackBerry.Netを使用します。
言語とプラットフォームはマイクロソフトによって十分にサポートされており、多くの雇用主がそのスキルセットを探しています。完全に販売されていない場合は、お気に入りのTechジョブWebサイトにアクセスして、検索ボックス内のさまざまな言語/プラットフォームで接続し始めてください。どの方向を取りたいかについてのアイデアが得られます。
Adobe Flash/Flex
(それがあなたの質問で除外されているかどうかはわかりません)
ほぼすべてのブラウザ、ほとんどのモバイルプラットフォーム、およびAIR、ほとんどのデスクトッププラットフォームで実行されます。
時計: http://www.youtube.com/watch?v = 22vicdlzmki&feature=player_embedded