web-dev-qa-db-ja.com

完全な開発プラットフォームとしてのLinux?

Fedora Linuxを次のようにできるようにしたい:

  1. Linuxを使用して、他のOSをインストールせずに完全な開発プラットフォームを実現しますが、さまざまなプラットフォームでプログラムをビルドおよびテストできます。

  2. 他のすべての作業については、Windowsマシンを完全に交換してください。オフィス、ペイント、リモートデスクトップなど。

上記の目的を達成するためのオープンソースプロジェクトとツールを提案できますか?

8
Xinus

システムプログラマー、Web開発者、デスクトップアプリケーション開発者のいずれであっても、クロスプラットフォーム開発を簡単に行うことができます。システムに興味がある場合は、Linux用に作成したユーティリティやドライバーは、最小限の変更で他の* nixでもうまく機能する可能性があります。標準のCコードを記述し、システム固有の呼び出しをあまり多く使用しない場合は、Windowsへの移植も簡単です。

デスクトップアプリケーションの開発者であれば、GTK、QT、またはwxWidgetsをターゲットにすることができ、アプリは今日の主要な3つのプラットフォーム(* nix、Windows、Mac)でうまく機能する可能性があります。繰り返しになりますが、システム固有の呼び出しを最小限に抑えるか、システム固有のラッパーライブラリに分離します。また、JVMやCLRなどの仮想マシンをターゲットとして呼び出します。これにより、アプリケーションが全面的に機能できるようになります。

あなたがウェブ開発者であるなら、あなたは選択するのにあまりにも多くの異なる選択肢に出くわす可能性があります。 Cherokee という小さなWebサーバーが好きで、ASP.NET(mono)とDjango Django $ ===アプリを開発して実行し、PgSQLバックエンドを使用します。

したがって、ターゲットプラットフォームでコードをコンパイルでき、コードを作成するとき、またはVMをターゲットにする場合は、そのことを念頭に置いて、Linuxでクロスプラットフォーム開発を行うことができるという結論になります。もう1つのポイントは、選択のパラドックスに遭遇し、何を使用すればよいかわからない可能性があることです。そのために、2番目の質問に対する私の答えを以下に読んでください。

2番目の質問に関して、私が見つけた最高のリソースは オープンソースの代替案 と呼ばれています。このWebサイトには、商用ソフトウェアとそのオープンソースの代替案がリストされています。ほとんどすべての選択肢はLinuxとFreeBSDで実行されます。

3

「プラットフォーム」を定義します。クロスコンパイルを使用してLinuxでビルドすることが可能であっても、実際にそれらのオペレーティングシステムを実行せずに、WindowsまたはMacで使用することを目的としたソフトウェアを合理的にテストすることはできません。他のオペレーティングシステムで実際にテストする場合、VMwareは優れたツールです。

あなたの質問の2番目の部分はおそらく完全に別の質問であるべきです。ただし、OpenOffice.orgまたはGoogleDocsを使用してMSOffice、Pinta、GIMPを置き換えるか、Paint、VNC、Empathy + Vinagreを使用してリモートデスクトップなどを置き換えることができます。

より具体的な使用例を挙げれば、これらの質問に答えるのは簡単です。

4
Sandy

Weeeeeeel、#1はかなりドゥージーです、サー。この目標を達成する方法があるかどうかはわかりません。他の* nixへのクロスコンパイルは開発ボックスで実行できますが( 少し頭痛の種 )、適切なOSとアーキテクチャなしでそのコードをどの程度正確に実行することになっていますか? システムエミュレーション への広範な進出がありますが、最終的にはこれは手がかりです。 OS /アーキテクチャでソフトウェアをテストしたい場合は、そのOS /アーキテクチャで実行してください。

一方、現在、さまざまな構成で同じプロジェクトを簡単に構築できるツールがあります。 Cmake はおそらく最もよく知られており、十分にテストされています。少なくともこれは、他のシステムでプロジェクトをテストするのに役立つか、他の人にそうするように勧めます。

ちなみに、これは他のオペレーティングシステムでも不可能だと確信しています。

#2ははるかに簡単です

そして何度も。私はもっ​​と助けたいと思いますが、あなたの質問の鋭敏さは急激に低下します。

2
Eli Frey

MonoDevelop は、開発側のハンドルを取得するのに役立つはずです。

MonoDevelopはIDE主にC#およびその他の.NET言語用に設計されています。MonoDevelopを使用すると、開発者はデスクトップおよびASP.NET WebアプリケーションをLinuxWindowsおよびMac OSX。MonoDevelopは開発者は、Visual Studioで作成された.NETアプリケーションをLinuxに移植し、すべてのプラットフォームに対して単一のコードベースを維持するのは簡単です。

(強調は私のものです)

1
Larry Smithmier

ターゲットプラットフォームによって異なります。仮想プラットフォーム(Java、さらには.NET)向けに開発している場合は、それ以上の問題はありません。 LinuxではWindowsよりもさらに使いやすいプラットフォームがいくつかあります(Rubyなど)。

デスクトップとしてのLinuxに関しては、探しているソフトウェアをリストするだけです。 Linuxの代替手段がないWindowsデスクトップソフトウェアは、最近ほとんどありません。

1
Pablo