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


8

Fedora Linuxを以下の機能に対応させたい:

  1. 他のOSをインストールせずにLinuxを使用して完全な開発プラットフォームを構築しますが、異なるプラットフォームでプログラムをビルドしてテストできます。

  2. Office、ペイント、リモートデスクトップなど、他のすべての作業のためにWindowsマシンを完全に置き換えます。

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


他のプラットフォームでプログラムをインストールしてテストしたいですか?それとも誤解しているの
でしょうか

3
この質問は非常に一般的な言葉で書かれているため、簡単に答えることはできません。あなたが正確に何をしたいのかをもう少し近くに指定できれば、それは役に立ちます。特定のプラットフォームが1つのソリューションでサポートされている可能性がありますが、すべての可能なプラットフォームではありません。さらに、VMを受け入れますか?
txwikinger 2010

回答:


3

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

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

あなたがウェブ開発者であるなら、あなたが選ぶにはあまりにも多くの異なる選択肢に出くわす可能性があります。私はチェロキーと呼ばれる小さなWebサーバーを好み、ASP.NET(モノ)と、その上で実行され、PgSQLバックエンドを使用するDjangoアプリを開発して実行します。

したがって、結論は、ターゲットプラットフォームでコードをコンパイルでき、コードを記述するとき、またはVMをターゲットにする場合は、そのことを念頭に置いて、Linuxでクロスプラットフォーム開発を実行できるということです。もう1つのポイントは、The Paradox of Choiceに遭遇し、何を使用すればよいかわからないということです。そのため、以下の2番目の質問に対する私の回答をお読みください。

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



申し訳ありませんが、デバイスドライバーはカーネル(およびその正確なバージョン)に大きく依存しています。カーネルと直接対話する部分は、多かれ少なかれカーネルに密接に依存しています(glibc、ps(1)、mount(8)など)、他の「システム」の部分(たとえば、sort(1)やbashなど) (1)は、「単なる」普通のC / C ++プログラムであり、さまざまなUnicesでまったく同じようにコンパイルおよび実行されます)。GUI全体はカーネルに依存しませんが、独自のルールがあります。
フォンブランド2013年

4

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

質問の2番目の部分は、おそらく完全に別の質問になるはずです。ただし、OpenOffice.orgまたはGoogleドキュメントを使用して、MS Office、Pinta、またはGIMPを置き換えるか、ペイント、VNC、またはEmpathy + Vinagreを置き換えて、リモートデスクトップを置き換えることができます。

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


AppleはMacOSXのみをAppleブランドのコンピュータで実行するためのライセンスを取得していることを覚えておきたいかもしれません。または、シュリンクラップライセンスについてどのように感じているかによって、それを無視することもできます。
David Thornley、2010

もちろん、OS XをホストOSとして使用し、LinuxとWindowsをVMware Fusionで実行することもできます。
Sandy、

2

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

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

運良く言うと、これは他のオペレーティングシステムでも同様に不可能だと確信しています。

#2ははるかに簡単です

そして次々と。私はもっ​​と助けたいと思いますが、あなたの質問の視力は急激に落ちます。


1

ターゲットプラットフォームによって異なります。仮想プラットフォーム(Java、または.NET)向けに開発している場合は、問題ありません。Linuxの方がWindowsよりもフレンドリーなプラットフォームがあります(Rubyなど)。

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


1

MonoDevelopは、開発側のハンドルを取得できるようにする必要があります。

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

(強調は私のものです)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.