我已经为Windows平台编写了软件包。
我想换成Ubuntu。目前,我使用Visual Basic和Access数据库。谁能建议我应该使用什么来重写Linux平台的软件?
必须知道我是Linux的完整新手。任何帮助将不胜感激。
我已经为Windows平台编写了软件包。
我想换成Ubuntu。目前,我使用Visual Basic和Access数据库。谁能建议我应该使用什么来重写Linux平台的软件?
必须知道我是Linux的完整新手。任何帮助将不胜感激。
Answers:
正如@Rinzwind所说的那样,您将在stackoverflow中找到更准确的响应,但从一开始就可以...
我建议您尝试将您的编程知识(而不是代码)移植到linux,并尝试python。它是一种简单甚至功能强大的语言,完全是多平台的,具有很好的学习曲线。对于数据库访问,有很多框架和库(例如SQLAlquemy),对于GUI,您可以尝试使用wxPython,QtPython等。如果要开发数据库应用程序,应该尝试一下dabo
但是,如果您仍然想尝试移植VBase代码,则可以尝试:
对于数据库访问...对不起,但我想我不能为您提供帮助,可能是这些框架具有一些数据库支持
希望这可以帮助。
作为曾经使用大量访问和VBScript的人,我可以说过渡并不是一件容易的事,但是有可能并且如果您选择正确的技术,甚至是可取的。这些天,我写的软件要比通过ODBC和Access编写的软件好得多。
有几种选择,但是您的里程会根据您的工作和过去的经验而有所不同。
Python + Django
我的第一个建议是网站开发。我是一个Web开发人员更比什么都重要,所以我会 建议这一点。Django使管理数据库模式变得非常简单。您为每个表创建一个Python类,运行命令,它会建立一个完全关系数据库。然后,您可以基于这些类(称为模型)进行查询。所有这些都无需编写SQL。
它还带有一个非常性感的管理界面,只需几行代码即可激活您的模型。它处理验证,搜索,过滤,排序,输入,一些输出/报告,您可以添加尚不存在的任何内容。并且由于它是一个Web界面,与同事共享要比将Access文件丢到身边要容易得多。
Python是一门美丽的语言。简单优雅。您会根据其他人的建议看到它:)
LibreOffice Base
如果您想使用简单的数据库,那么LibreOffice(或OpenOffice)Base可能是您最想访问的东西。它不是Access,它对于Access可以做什么(如果您知道自己在做什么)非常简单且受限制,但是只能作为一个简单的桌面数据库。
对Access风格的数据库的另一种尝试。它看起来比Base更灵活,但我从未使用过,因此无法真正说出它的优点。
最后两个是您可能更熟悉的模型,但说实话,它们都不是很好,这是因为当存在许多更好的框架时,Access并不是数据库开发的好模型。
您想在迁移到Ubuntu 之前解决开发的未来问题。如果您现在只是启动到Ubuntu,那么如果您无法立即开始工作,您会感到非常沮丧。以上所有三个解决方案都可以在Windows上运行,因此请立即使用。
可以下载并安装这两个应用程序,而Django需要花更多的精力才能开始。首先安装它(遵循他们对Python 2.7的建议),然后转到正式教程开始编程。
我绝对建议您使用Python作为编程语言,并使用GTK和Glade设计GUI界面。Python支持所有类型的数据库,所以这取决于您。MySQL很流行。PostgreSQL也是如此。根据要存储的数据类型,有许多其他选择。但是您可能应该选择一个跨平台的平台。
Python和GTK均可在Windows和OS X以及Ubuntu和其他操作系统上使用。对于数据库也是如此。Ubuntu是一个非常舒适的开发环境,您唾手可得的所有工具。您还应该查看Quickly项目。这是一种快速启动开发项目,简化包装等方式。
由于所有工具都是跨平台的,因此将您的应用程序移植到Ubuntu上,也意味着您以后可以以更少的难度吸引更多的受众。作为Visual Basic程序员,我认为您会非常喜欢Python。
我对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数据库,然后可以在不切换数据库软件的情况下调用它们。