如何将为Windows编写的软件移植到Ubuntu?


10

我已经为Windows平台编写了软件包。

我想换成Ubuntu。目前,我使用Visual Basic和Access数据库。谁能建议我应该使用什么来重写Linux平台的软件?

必须知道我是Linux的完整新手。任何帮助将不胜感激。


1
你应该在编码论坛上问这个。stackoverflow.com(可能会有人将您的问题移到那里;))但总之:语言perl / python和SQLite的MySQL作为数据库。哦,如果您使用它们,也可以在两个平台上使用它;)
Rinzwind'1

1
一直以来,Ubuntu编程一直是该站点的主题之一。我们甚至有一个标签。甚至在FAQ的第3点上也是如此。这个问题可能太开放了,但并不是没有题。
哈维尔·里维拉

1
人们,这是一个很热门的问题。我们也负责开发。
奥利

Answers:


4

正如@Rinzwind所说的那样,您将在stackoverflow中找到更准确的响应,但从一开始就可以...

我建议您尝试将您的编程知识(而不是代码)移植到linux,并尝试python。它是一种简单甚至功能强大的语言,完全是多平台的,具有很好的学习曲线。对于数据库访问,有很多框架和库(例如SQLAlquemy),对于GUI,您可以尝试使用wxPython,QtPython等。如果要开发数据库应用程序,应该尝试一下dabo

但是,如果您仍然想尝试移植VBase代码,则可以尝试:

  • Gambas,这是一个基于基本解释器的开发环境
  • Mono这是一个适用于Linux的.NET框架。(另请参见mono-develop ide)

对于数据库访问...对不起,但我想我不能为您提供帮助,可能是这些框架具有一些数据库支持

希望这可以帮助。


我想说,对于来自VB的人来说,Gambas可能真的很合适。也就是说,python是Linux的通用语言。在几乎每个Linux发行版中都可以找到python。开发基于python的应用程序可以很容易地使用setuptools进行部署。
viyyer 2012年

3

作为曾经使用大量访问和VBScript的人,我可以说过渡并不是一件容易的事,但是有可能并且如果您选择正确的技术,甚至是可取的。这些天,我写的软件要比通过ODBC和Access编写的软件好得多。

有几种选择,但是您的里程会根据您的工作和过去的经验而有所不同。

  1. Python + Django

    我的第一个建议是网站开发。我是一个Web开发人员更比什么都重要,所以我 建议这一点。Django使管理数据库模式变得非常简单。您为每个表创建一个Python类,运行命令,它会建立一个完全关系数据库。然后,您可以基于这些类(称为模型)进行查询。所有这些都无需编写SQL。

    它还带有一个非常性感的管理界面,只需几行代码即可激活您的模型。它处理验证,搜索,过滤,排序,输入,一些输出/报告,您可以添加尚不存在的任何内容。并且由于它是一个Web界面,与同事共享要比将Access文件丢到身边要容易得多。

    Python是一门美丽的语言。简单优雅。您会根据其他人的建议看到它:)

  2. LibreOffice Base

    如果您想使用简单的数据库,那么LibreOffice(或OpenOffice)Base可能是您最想访问的东西。它不是Access,它对于Access可以做什么(如果您知道自己在做什么)非常简单且受限制,但是只能作为一个简单的桌面数据库。

  3. 克西

    对Access风格的数据库的另一种尝试。它看起来比Base更灵活,但我从未使用过,因此无法真正说出它的优点。

最后两个是您可能更熟悉的模型,但说实话,它们都不是很好,这是因为当存在许多更好的框架时,Access并不是数据库开发的好模型。

您想迁移到Ubuntu 之前解决开发的未来问题。如果您现在只是启动到Ubuntu,那么如果您无法立即开始工作,您会感到非常沮丧。以上所有三个解决方案都可以在Windows上运行,因此请立即使用。

可以下载并安装这两个应用程序,而Django需要花更多的精力才能开始。首先安装它(遵循他们对Python 2.7的建议),然后转到正式教程开始编程。


1

进入Ubuntu.ubuntu.com上的开发人员网站,是开始为Ubuntu开发的一种好方法。在这里,您将找到有关各种选项的教程和信息。开发完成后,在此处提交您的应用程序以将其带入软件中心。


0

我绝对建议您使用Python作为编程语言,并使用GTK和Glade设计GUI界面。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应用程序在几乎所有的OS上都看起来不错,包括这3种(Windows,Linux,OS X)。它易于学习,具有直觉性和表现力。试试吧,您不会后悔!


0

我对VisualBasic不太了解,也对Linux世界不了解。

对于Pascal,有gpc(GNU Pascal编译器)。还没用过,但是我相信Pascal程序员过渡起来相当容易。对于许多其他编程语言(例如C,C ++,FORTRAN等),情况也类似。尽管我不会向VisualBasic程序员推荐任何一种,但对于驻留在多个平台上的语言,有多种选择。我猜您对语言的选择可能取决于您的公司政策等。

Python是我的最高推荐。它很容易学习,它迫使您编写易于阅读的代码,并且默认情况下它是多平台的。如果您要交付封闭源应用程序,您会发现平台之间存在一些明显的差异。但是通常,您编写的大多数代码都可以在任何系统上编译。棘手的部分是保持文件夹结构(即C:/ Program Files /与/ usr / share /)。但是,您可以使用一些os环境参数来避免对平台进行硬编码。不利的一面是你必须学习一种新的语言。好处是您可以在Windows,Linux和MacOSX等中使用相同的代码。

为了保持应用程序的GUI,Python中有多个选项。许多Ubuntu开发人员似乎都选择了GTK3,它也可用于Windows。就个人而言,我更喜欢Qt4(您也可以将Qt4用于C / C ++,Python包用于正式版称为PyQt4,而社区项目则称为PySide)。您不会像在VisualBasic中那样拥有IDE,但是使用Qt Designer创建GUI外观可以轻松地在仅代码的IDE(例如Wingware IDE,Eclipse,IPython ...)中实现它。因此,您将不得不在GUI设计器应用程序和编码IDE应用程序之间切换。对于GTK3,情况也是如此,您将在其中使用Glade创建GUI。

Python具有实现SQLite3的默认数据库包。该数据库功能强大,但是没有像Access一样可以构建它的GUI。但是,有些软件包可以访问大多数类型的数据库。就个人而言,我喜欢所有内容都使用PostgreSQL,因为它具有很高的可伸缩性。PyQT4在QtSql模块中具有所有主要数据库的类,但是还有许多其他选项。当然,您也可以在具有ODBC的Windows计算机上设置旧的Access数据库,然后可以在不切换数据库软件的情况下调用它们。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.