Bagaimana cara port software yang saya tulis untuk Windows ke Ubuntu?


10

Saya memiliki paket perangkat lunak tertulis untuk platform Windows.

Saya ingin mengubah ke Ubuntu. Saat ini saya menggunakan Visual Basic dan Access Database. Adakah yang bisa menyarankan Apa yang harus saya gunakan untuk menulis ulang perangkat lunak saya untuk platform Linux?

Harus diketahui bahwa saya seorang pemula yang lengkap untuk Linux. Setiap bantuan akan BANYAK dihargai.


1
Anda harus menanyakan ini pada forum pengkodean yaitu. stackoverflow.com (seseorang mungkin akan memindahkan pertanyaan Anda di sana;)) Namun singkatnya: bahasa perl / python dan MySQL dari SQLite sebagai basis data. Oh dan jika Anda melakukannya dengan yang Anda juga dapat membuatnya bisa digunakan pada kedua platform;)
Rinzwind

1
Pemrograman untuk Ubuntu telah menjadi salah satu topik situs ini sejak dulu. Kami bahkan memiliki tag untuk itu. Itu bahkan ada di FAQ, poin 3. Pertanyaan ini bisa terlalu terbuka, tetapi ini bukan topik.
Javier Rivera

1
Ini adalah pertanyaan tentang topik, teman. Kami menangani pengembangan juga.
Oli

Jawaban:


4

Seperti yang dikatakan @Rinzwind, Anda akan menemukan respons yang lebih akurat di stackoverflow tetapi sebagai permulaan ...

Saya akan merekomendasikan Anda untuk mencoba port ke linux pengetahuan pemrograman Anda, bukan kode Anda, dan coba python. Ini adalah bahasa yang sederhana dan kuat, benar-benar multi platform dan dengan kurva belajar yang sangat bagus. Untuk akses basis data ada banyak kerangka kerja dan pustaka (SQLAlquemy misalnya) dan untuk GUI Anda dapat mencoba wxPython, QtPython, ... misalnya. Jika Anda ingin mengembangkan aplikasi database, Anda harus mencoba dabo

Tetapi, jika Anda masih ingin mencoba untuk mem-porting kode VBase Anda, Anda dapat mencoba dengan:

  • Gambas Yang merupakan lingkungan pengembangan berdasarkan juru bahasa dasar
  • Mono Yang merupakan kerangka NET. Seperti untuk linux. (lihat juga ide mengembangkan-tunggal)

Dan untuk akses basis data ... maaf tapi saya rasa saya tidak dapat membantu Anda dengan hal itu mungkin kerangka kerja ini memiliki beberapa dukungan basis data

Semoga ini membantu.


Saya akan mengatakan untuk seseorang yang datang dari VB, Gambas mungkin sangat cocok. Konon, python adalah lingua fraca Linux. Anda akan menemukan python di hampir setiap distribusi linux. Mengembangkan aplikasi berbasis python membuatnya mudah untuk digunakan dengan setuptools.
viyyer

3

Sebagai seseorang yang biasa menggunakan banyak akses dan VBScript, saya dapat mengatakan transisi tidak super mudah tetapi mungkin dan jika Anda memilih teknologi yang tepat, bahkan diinginkan. Saya menulis perangkat lunak yang jauh lebih baik hari ini daripada yang pernah saya lakukan di ODBC dan Access.

Ada beberapa opsi tetapi jarak tempuh Anda akan bervariasi berdasarkan apa yang Anda lakukan dan pengalaman masa lalu.

  1. Python + Django

    Saran pertama saya adalah pengembangan web. Saya seorang pengembang web lebih dari yang lain jadi saya akan menyarankan ini. Django membuat mengelola skema basis data Anda menjadi sangat sederhana. Anda membuat kelas Python untuk setiap tabel, menjalankan perintah dan itu membuat database sepenuhnya relasional. Kemudian Anda dapat meminta berdasarkan kelas-kelas tersebut (dikenal sebagai Model). Semua ini tanpa menulis satu baris pun dari SQL.

    Ini juga dilengkapi dengan antarmuka admin yang sangat seksi yang hanya memerlukan beberapa baris kode untuk diaktifkan untuk model Anda. Ini menangani validasi, pencarian, pemfilteran, pemesanan, input, beberapa output / pelaporan dan Anda dapat menambahkan apa pun yang belum ada di sana. Dan karena itu adalah antarmuka web, jauh lebih mudah untuk dibagikan dengan kolega daripada dengan melemparkan file Access.

    Dan Python adalah bahasa yang indah. Keanggunan sederhana. Anda akan melihatnya berdasarkan berapa banyak orang menyarankannya :)

  2. Pangkalan LibreOffice

    Jika Anda ingin tetap menggunakan database sederhana, LibreOffice (atau OpenOffice) Base mungkin adalah yang paling mirip Akses di ujung jari Anda. Itu bukan Access dan itu cukup sederhana dan terbatas sehubungan dengan apa yang bisa dilakukan Access (jika Anda tahu apa yang Anda lakukan) tetapi itu hanya seharusnya menjadi database desktop yang sederhana.

  3. Kexi

    Pandangan lain tentang database Access-style. Ini terlihat lebih fleksibel daripada Base tapi saya tidak pernah menggunakannya jadi tidak bisa mengatakan seberapa bagusnya.

Dua yang terakhir adalah model yang Anda mungkin lebih nyaman dengan tetapi jujur, tidak ada yang bagus dan itu karena Access bukan model yang baik untuk pengembangan basis data ketika ada begitu banyak kerangka kerja yang lebih baik.

Anda ingin membahas masa depan pengembangan Anda sebelum bermigrasi ke Ubuntu. Jika Anda baru saja boot ke Ubuntu sekarang, Anda akan menjadi sangat frustrasi jika Anda tidak dapat segera mulai bekerja. Ketiga solusi di atas dapat berjalan di Windows sehingga tersangkut di sekarang.

Kedua aplikasi ini dapat diunduh dan diinstal dan Django membutuhkan sedikit usaha untuk melanjutkan. Mulailah dengan ini untuk menginstalnya (ikuti saran mereka tentang Python 2.7) dan kemudian pindah ke tutorial resmi untuk memulai pemrograman.


1

Cara yang bagus untuk memulai pengembangan untuk Ubuntu adalah dengan mengunjungi situs pengembang di developer.ubuntu.com. Di sana Anda akan menemukan tutorial dan informasi tentang berbagai opsi yang Anda miliki. Setelah Anda selesai mengembangkan, kirimkan aplikasi Anda ke sana untuk memasukkannya ke pusat perangkat lunak.


0

Saya benar-benar akan merekomendasikan Anda menggunakan Python sebagai bahasa pemrograman dan GTK dan Glade untuk mendesain antarmuka GUI Anda. Python mendukung semua jenis database, jadi terserah Anda. MySQL populer. Begitu juga PostgreSQL. Ada banyak yang lain untuk dipilih, tergantung pada jenis data apa yang ingin Anda simpan. Tetapi Anda mungkin harus memilih platform lintas.

Baik Python dan GTK dapat digunakan pada Windows dan OS X serta Ubuntu dan lainnya. Hal yang sama berlaku untuk database. Ubuntu adalah lingkungan pengembangan yang sangat nyaman dengan semua alat yang Anda butuhkan ada di ujung jari Anda. Anda juga harus melihat proyek Quickly. Ini adalah cara untuk memulai proyek pengembangan, mempermudah pengemasan, dll.

Porting aplikasi Anda ke Ubuntu, juga berarti Anda akan memiliki kemampuan untuk menjangkau audiens yang lebih besar dengan lebih sedikit kesulitan nanti, karena semua alat adalah lintas platform. Sebagai programmer Visual Basic, saya pikir Anda akan sangat menyukai Python.


0

Jika Anda tidak menggunakan terlalu banyak pustaka khusus windows dalam pengembangan, Anda dapat menggunakan mono untuk menjalankan aplikasi di sistem berbasis Linux dan Mac. Tapi saya lebih suka Qt untuk pengembangan lintas platform. Ini juga akan membantu untuk port aplikasi Anda di perangkat seluler.


Agar adil, Qt hanya mendukung MeeGo, Symbian, dan Windows Phone di mana. Net \ C # \ mono mendukung Android, iOS, Windows Phone 7 dan saya percaya MeeGo dan Symbian juga. (Sehubungan dengan platform seluler)
Wesley Wiser

0

Qt sebagai SDK dan QtCreator sebagai IDE adalah apa yang Anda inginkan. Itu membuat Aplikasi GUI yang bagus terlihat bagus di hampir setiap OS yang ada, termasuk 3 (Windows, Linux, OS X) Mudah dipelajari, tidak aktif, dan performan. Cobalah, Anda tidak akan menyesal!


0

Saya tidak tahu banyak tentang VisualBasic, dan saya tidak tahu yang setara di dunia Linux.

Untuk Pascal, ada gpc (GNU Pascal Compiler). Belum pernah menggunakannya, tapi saya yakin cukup mudah bagi seorang programmer Pascal untuk melakukan transisi. Kasus serupa untuk banyak bahasa pemrograman lain seperti C, C ++, FORTRAN, dll. Meskipun, saya tidak akan menyarankan semua itu kepada programmer VisualBasic, ada beberapa opsi untuk bahasa yang berada di beberapa platform. Saya kira pilihan bahasa Anda mungkin sedikit tergantung pada kebijakan perusahaan Anda, dll.

Python akan menjadi rekomendasi atas saya. Mudah dipelajari, memaksa Anda untuk menulis kode yang mudah dibaca, dan multi-platform secara default. Jika Anda ingin mengirimkan aplikasi sumber tertutup, Anda akan melihat bahwa ada beberapa perbedaan yang nyata antara platform. Tetapi secara umum sebagian besar kode yang Anda tulis akan dikompilasi pada sistem apa pun. Bagian yang sulit adalah menjaga dengan struktur folder (yaitu C: / Program Files / vs / usr / share /). Tetapi ada parameter lingkungan os yang dapat Anda gunakan untuk menghindari opsi spesifik platform hard coding. Sisi buruknya adalah Anda harus belajar bahasa baru. Sisi baiknya adalah Anda dapat menggunakan kode yang sama di Windows dan Linux dan MacOSX, dll.

Untuk menjaga GUI untuk aplikasi Anda, ada beberapa opsi dalam Python. Banyak pengembang Ubuntu tampaknya menggunakan GTK3, yang juga tersedia untuk Windows. Secara pribadi, saya lebih suka Qt4 (Anda dapat menggunakan Qt4 untuk C / C ++ juga, paket Python disebut PyQt4 untuk yang resmi dan PySide untuk proyek komunitas). Anda tidak akan memiliki IDE dengan cara yang sama Anda lakukan di VisualBasic, tetapi menggunakan Qt Designer untuk membuat tampilan GUI membuatnya mudah untuk kemudian mengimplementasikannya dalam IDE hanya kode (misalnya IDE Wingware, Eclipse, IPython ...). Jadi Anda harus beralih antara aplikasi desainer GUI dan aplikasi IDE pengkodean. Hal yang sama berlaku untuk GTK3, di mana Anda akan menggunakan Glade untuk membuat GUI.

Python memiliki paket database default yang mengimplementasikan SQLite3. Database itu agak mampu, tetapi tidak ada GUI untuk membangunnya seperti dengan Access. Namun ada paket untuk mengakses sebagian besar jenis database. Secara pribadi, saya lebih suka menggunakan PostgreSQL untuk semua barang saya karena sangat skalabel. PyQT4 memiliki kelas untuk semua database utama dalam modul QtSql, tetapi ada banyak opsi lain. Anda tentu saja bisa juga mengatur database Access lama Anda pada mesin Windows dengan ODBC dan kemudian Anda bisa memanggil mereka tanpa berpindah perangkat lunak database.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.