Windows用に作成したソフトウェアをUbuntuに移植するにはどうすればよいですか?


10

Windowsプラットフォーム用のソフトウェアパッケージを作成しました。

Ubuntuに変更したい。現時点では、Visual BasicとAccessデータベースを使用しています。Linuxプラットフォーム用にソフトウェアを書き換えるために何を使用すればよいか、誰か提案できますか?

私はLinuxの完全な初心者であることを知っておく必要があります。どんな援助でも大歓迎です。


1
あなたはコーディングフォーラムでこれを尋ねるべきです。stackoverflow.com(誰かがおそらくあなたの質問をそこに移動します;))しかし、要するに、データベースとしてのSQLiteの言語perl / pythonおよびMySQLです。ああ、それらを使用する場合は、両方のプラットフォームで使用可能にすることもできます;)
Rinzwind

1
Ubuntuのプログラミングは、常にこのサイトのトピックの1つです。タグも付いています。それはFAQのポイント3にもあります。この質問はあまりにもオープンである可能性がありますが、トピック外ではありません。
ハビエルリベラ

1
これは話題の質問です。開発も手がけています。
Oli

回答:


4

@Rinzwindが言ったように、あなたはstackoverflowでより正確な応答を見つけるでしょうが、最初は...

コードではなくプログラミングの知識をLinuxに移植して、Pythonを試してみることをお勧めします。シンプルで強力な言語であり、完全にマルチプラットフォームであり、学習曲線が非常に優れています。データベースへのアクセスには多くのフレームワークとライブラリ(SQLAlquemyなど)があり、GUIにはたとえばwxPython、QtPythonなどを試すことができます。データベースアプリケーションを開発する場合は、daboを試してみてください

しかし、それでもVBaseコードを移植したい場合は、次のようにしてみてください。

  • 基本インタプリタに基づく開発環境であるGambas
  • MonoこれはLinux向けの.NET風のフレームワークです。(mono-ide ideも参照してください)

そして、データベースアクセスのために...申し訳ありませんが、私はあなたを助けることができないと思いますこれらのフレームワークはいくつかのデータベースをサポートしているかもしれません

お役に立てれば。


VB出身の人にとっては、Gambasは本当にぴったりかもしれません。とはいえ、PythonはLinuxの共通語です。ほとんどすべてのLinuxディストリビューションにPythonが含まれています。Pythonベースのアプリケーションを開発すると、setuptoolsを使用して簡単にデプロイできます。
viyyer

3

多くのアクセスとVBScriptを使用していた誰かとして、私は移行が非常に簡単ではないと言うことができますが、それは可能であり、適切なテクノロジを選択すればさらに望ましいと言えます。最近では、ODBCやAccessよりもずっと優れたソフトウェアを書いています。

いくつかのオプションがありますが、あなたの走行距離はあなたがやっていることと過去の経験に基づいて異なります。

  1. Python + Django

    私の最初の提案は、ウェブ開発に関するものです。私はので、私は、ウェブ開発者何よりもよ にこれを示唆しています。Djangoは、データベーススキーマの管理を愚かにシンプルにします。テーブルごとにPythonクラスを作成し、コマンドを実行すると、完全なリレーショナルデータベースが確立されます。次に、それらのクラス(モデルと呼ばれる)に基づいてクエリを実行できます。SQLを1行も書くことなく、これらすべてが可能です。

    また、非常にセクシーな管理インターフェイスが付属しており、モデルで有効にするために数行のコードが必要です。検証、検索、フィルタリング、順序付け、入力、一部の出力/レポートを処理し、まだ存在しないものを追加できます。また、これはWebインターフェイスであるため、Accessファイルをあちこち投げるよりも、同僚と共有する方がはるかに簡単です。

    そしてPythonは美しい言語です。シンプルなエレガンス。他の多くの人がそれを提案することに基づいてそれを見るでしょう:)

  2. LibreOfficeベース

    単純なデータベースを使い続けたい場合は、LibreOffice(またはOpenOffice)BaseがおそらくAccessのようなものです。これはAccessではありません。Accessでできること(実行していることがわかっている場合)に関しては非常にシンプルで制限されていますが、これは単純なデスクトップデータベースであることが前提となっています。

  3. ケシ

    Accessスタイルのデータベースのもう1つの見方。ベースよりも柔軟に見えますが、使用したことがないので、どれほど優れているかはわかりません。

最後の2つは、おそらくより快適なモデルですが、正直なところ、どちらも素晴らしいものではありません。これは、より優れたフレームワークが多数ある場合、Accessはデータベース開発に適したモデルではないためです。

Ubuntuに移行するに、開発の将来に取り組む必要があります。今すぐUbuntuで起動した場合、すぐに作業を開始できないと非常にイライラします。上記の3つのソリューションはすべてWindowsで実行できるので、すぐに立ち往生してください。

2つのアプリケーションをダウンロードしてインストールすることができ、Djangoを使用するには少し手間がかかります。これをインストールしてインストールし(Python 2.7に関する彼らのアドバイスに従ってください)、公式チュートリアルに進んでプログラミングを開始します。


1

Ubuntuの開発を始めるための優れた方法は、developer.ubuntu.comの開発者サイトにアクセスすることです。そこには、チュートリアルとさまざまなオプションに関する情報があります。開発が完了したら、アプリを提出してソフトウェアセンターに送信します。


0

プログラミング言語としてPythonを使用し、GUIインターフェースを設計するにはGTKとGladeを使用することをお勧めします。Pythonはあらゆる種類のデータベースをサポートしているので、それはあなた次第です。MySQLは人気があります。PostgreSQLも同様です。保存するデータの種類に応じて、他にも多くの選択肢があります。しかし、おそらくクロスプラットフォームを選択する必要があります。

PythonとGTKはどちらも、WindowsやOS X、Ubuntuなどで使用できます。データベースについても同様です。Ubuntuは、必要なすべてのツールをすぐに利用できる、本当に快適な開発環境です。また、Quicklyプロジェクトもご覧ください。これは、開発プロジェクトを迅速に開始し、パッケージ化を容易にする方法などです。

アプリケーションをUbuntuに移植することは、すべてのツールがクロスプラットフォームであるため、後で簡単に大きなオーディエンスにリーチできることを意味します。Visual Basicプログラマーとして、あなたは本当にPythonを好きになると思います。


0

開発時にWindows固有のライブラリをあまり使用しない場合は、monoを使用して、LinuxベースのシステムとMacの両方でアプリを実行できます。しかし、私はクロスプラットフォーム開発ではなくQtを使用したいと思います。また、アプリをモバイルデバイスに移植するのにも役立ちます。


公平を期すために、QtはMeeGo、Symbian、およびWindows Phoneのみをサポートしています。.Net\ C#\ monoはAndroid、iOS、Windows Phone 7をサポートしており、MeeGoとSymbianも同様に信じています。(モバイルプラットフォームに関して)
Wesley Wiser、2012年

0

SDKとしてのQtおよびIDEとしてのQtCreatorが必要です。優れたGUIアプリケーションは、3つ(Windows、Linux、OS X)を含むほぼすべてのOSで見栄えがよくなります。習得は簡単で、直感的で、パフォーマンスに優れています。ぜひお試しください。後悔することはありません。


0

VisualBasicについてはあまり知りませんし、Linuxの世界では同等のものについては知りません。

Pascalには、gpc(GNU Pascal Compiler)があります。使ったことはありませんが、Pascalプログラマにとっては簡単に移行できます。C、C ++、FORTRANなど、他の多くのプログラミング言語の場合も同様です。VisualBasicプログラマーにこれらを提案することはしませんが、いくつかのプラットフォームに存在する言語にはいくつかのオプションがあります。言語の選択は、会社の方針などによって多少異なると思います。

Pythonが私の一番のお勧めです。習得は簡単で、読みやすいコードを書く必要があり、デフォルトではマルチプラットフォームです。クローズドソースのアプリケーションを提供したい場合は、プラットフォーム間にいくつかの顕著な違いがあることがわかります。ただし、一般に、作成するほとんどのコードはどのシステムでもコンパイルできます。トリッキーな部分は、フォルダー構造を維持することです(つまり、C:/ Program Files / vs / usr / share /)。ただし、ハードコーディングプラットフォーム固有のオプションを回避するために使用できるos環境パラメーターがあります。欠点は、新しい言語を学ぶ必要があることです。利点は、WindowsとLinux、MacOSXなどで同じコードを使用できることです。

アプリケーションのGUIを維持するために、Pythonにはいくつかのオプションがあります。多くのUbuntu開発者はGTK3を採用しているようです。GTK3はWindowsでも使用できます。個人的には、Qt4を好みます(C / C ++にもQt4を使用できます。Pythonパッケージは公式パッケージではPyQt4、コミュニティプロジェクトではPySideと呼ばれます)。VisualBasicと同じようにIDEはありませんが、Qt Designerを使用してGUIの外観を作成すると、コードのみのIDE(Wingware IDE、Eclipse、IPythonなど)に簡単に実装できます。そのため、GUIデザイナーアプリとコーディングIDEアプリを切り替える必要があります。同じことは、Gladeを使用してGUIを作成するGTK3にも当てはまります。

Pythonには、SQLite3を実装するデフォルトのデータベースパッケージがあります。そのデータベースはかなり機能的ですが、Accessのようにデータベースを構築するGUIはありません。ただし、ほとんどのタイプのデータベースにアクセスするためのパッケージがあります。個人的には、非常にスケーラブルなので、すべてのものについてPostgreSQLを使用することを好みます。PyQT4には、QtSqlモジュールにすべての主要なデータベースのクラスがありますが、他にも多くのオプションがあります。もちろん、ODBCを備えたWindowsマシン上に古いAccessデータベースをセットアップし、データベースソフトウェアを切り替えることなくそれらを呼び出すこともできます。

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