web-dev-qa-db-ja.com

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

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

Ubuntuに変更したいです。現時点では、Visual BasicとAccessデータベースを使用しています。 Linuxプラットフォーム用にソフトウェアを書き直すために私が使用すべきものを誰でも提案できますか?

私はLinuxの初心者です。どんな援助も大歓迎です。

10
Mel Burnett

@Rinzwindが言ったように、stackoverflowではより正確な応答が見つかりますが、最初は...

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

ただし、VBaseコードを移植しようとする場合は、次を試してください。

  • Gambas これは、基本インタープリターに基づいた開発環境です
  • Mono これはLinux用の.NETのようなフレームワークです。 (mono-develop ideも参照)

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

お役に立てれば。

4
thamurath

かつて多くのアクセスとVBScriptを使用していた人としては、移行は非常に簡単ではありませんが、それは可能であり、適切なテクノロジーを選択すれば、望ましいことです。最近、ODBCおよびAccessを使用して作成したものよりもはるかに優れたソフトウェアを作成しています。

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

  1. Python + Django

    私の最初の提案はウェブ開発です。私は他の何よりもWeb開発者なので、これを提案します。 Djangoを使用すると、データベーススキーマの管理が非常に簡単になります。各テーブルにPythonクラスを作成し、コマンドを実行して、完全なリレーショナルデータベースを確立します。次に、それらのクラス(モデル)に基づいてクエリを実行できます。これはすべて、SQLの1行を記述することなく行われます。

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

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

  2. LibreOffice Base

    単純なデータベースに固執したい場合、LibreOffice(またはOpenOffice)Baseはおそらく、あなたの指先で最もAccessに似たものです。それはAccessではなく、Accessができることに関しては非常にシンプルで制限されています(あなたが何をしているのかを知っている場合)が、それは単純なデスクトップデータベースにすぎないはずです。

  3. Kexi

    Accessスタイルのデータベースのもう1つの例。それはベースよりも柔軟に見えますが、私はそれを使用したことがないので、それがどれほど良いかを本当に言うことはできません。

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

Ubuntuに移行する前に、開発の将来に対処したい今すぐUbuntuを起動するだけで、すぐに作業を開始できない場合は非常にイライラします。上記の3つのソリューションはすべてWindows上で実行できるので、今すぐ動かないでください。

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

3
Oli

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

1
William

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

PythonとGTKは、WindowsとOS Xだけでなく、Ubuntuなどでも使用できます。同じことがデータベースにも当てはまります。 Ubuntuは、必要なすべてのツールをすぐに使える、本当に快適な開発環境です。 Quicklyプロジェクトもご覧ください。これは、開発プロジェクトを開始したり、パッケージングを簡単にしたりする方法です。

また、アプリケーションをUbuntuに移植すると、すべてのツールがクロスプラットフォームであるため、後で多くのユーザーに簡単にアクセスできるようになります。 Visual Basicプログラマとして、あなたは本当にPythonが好きになると思います。

0

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

0
baru

SDKとしてのQtとIDEとしてのQtCreatorはあなたが望むものです。優れたGUIアプリケーションは、3(Windows、Linux、OS X)を含む、ほぼすべてのOSで見栄えがよくなります。学ぶのは簡単で、直観的でパフォーマンスが良いです。試してみて、後悔しないでください!

0
entonjackson

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

Pascalには、gpc(GNU Pascalコンパイラー)があります。使用していませんが、Pascalプログラマーが移行するのはかなり簡単だと確信しています。 C、C++、FORTRANなど、他の多くのプログラミング言語についても同様のケースがあります。VisualBasicプログラマにはこれらのいずれも推奨しませんが、いくつかのプラットフォームに存在する言語にはいくつかのオプションがあります。言語の選択は、会社のポリシーなどに少し依存する可能性があると思います。

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

アプリケーションのGUIを維持するために、Pythonにはいくつかのオプションがあります。多くのUbuntu開発者は、Windowsでも利用可能なGTK3を採用しているようです。個人的には、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は非常にスケーラブルであるため、すべての項目でPostgreSQLを使用することを好みます。 PyQT4には、QtSqlモジュールのすべての主要なデータベースのクラスがありますが、他にも多くのオプションがあります。もちろん、ODBCを使用してWindowsマシンに古いAccessデータベースをセットアップし、データベースソフトウェアを切り替えずにそれらを呼び出すこともできます。

0
GaRyu