我应该选择哪种RDBMS和开发工具来重写基于角色的应用程序?

时间:2010-07-27 04:09:09

标签: c# sql informix

我有一个20年前用INFORMIX-SQL / SE(DOS)编写的当铺CRUD应用程序,它目前在Windows Vista上的Microsoft Virtual PC 2007中的DOS 6.22上运行。我想用GUI,基于SQL的引擎使这个应用程序现代化并保留其现有功能。它不需要任何网络或多用户功能。我更喜欢一种免版税的产品。

我也希望尽可能少的努力快速重写它。你会推荐哪种工具?

我在讨论是否用I4GL(基于字符)或其他基于Windows / GUI的工具重写我的INFORMIX-SQL应用程序。

我的应用程序非常强大,并且具有一些我的用户非常满意的令人难以置信的功能。只有障碍才能阻止我有效地实现市场渗透,相信它,我的应用程序是基于字符的,我想用GUI复制相同的功能。我的感觉是,用户使用基于char的应用程序处理事务比使用鼠标聚焦光标更快,但化妆品对我有害!

我想知道在我投入大量时间评估其他产品之前使用其他开发工具的限制,错误或缺点的具体实例。这个问题的答案可以节省我很多时间和金钱!

如果您访问www.frankcomputer.com,则可以观看我的典当行应用的视频演示。 (CAVEAT:网站是西班牙语,使用谷歌翻译来获得或多或少的文本翻译。在两分钟的标记处启动视频,720p分辨率和全屏以最好地理解我的应用。)< / p>

5 个答案:

答案 0 :(得分:3)

如果正在这样做,我可能会选择在C#中使用SQL Server Express后端数据库编写WPF GUI。像SQLite这样的嵌入式数据库也可以运行。但我选择的主要原因是因为这是我最熟悉的。其他人可能会选择其他东西......

我也可以选择ASP.NET MVC并将其作为Web应用程序(如果这是一个选项)(你说不需要多用户,但我说它不是还是)。< / p>

另外,如果你不是那个将要开发它的人(也就是说你将雇用某人为你构建它),那么我会说你应该找到开发者第一个让他们选择(或至少说出来)这项技术。如果您预先选择技术,那么您只是限制了能够与您合作的开发人员的领域,并且实际上并没有多大意义。

答案 1 :(得分:3)

我建议您将Python与PostgreSQL后端一起使用。现在有些人会认为这有点矫枉过正,但看完你的视频并阅读你的网站后(我不得不使用translator),我怀疑通过这条路线你会真正享受到更多的灵活性。

我认为这个解决方案的原因是:

  1. Python和PostgreSQL都是很棒的产品,在你需要的时候会有很棒的社区。
  2. 两种产品的发展前景都很光明。既然你明显花了很多时间和精力调整SPACE,我打赌你会在接下来的40年里做同样的事情。因此,在您继续开发周期时,您现在选择的工具需要随身携带。
  3. 他们都是免费的友好许可证。
  4. 跨平台支持。
  5. 可扩展性。您可以使用本地安装的PostgreSQL并通过套接字连接或使用负载平衡连接池将其一直扩展到多个服务器。
  6. 安全。
  7. 数据完整性。这包括使整个环境易于备份变得容易,因此在发生灾难时可以轻松恢复。
  8. 您最终选择的是什么工具。我祝你在这个项目中一切顺利。我可以告诉你正在研究你真正喜欢的事情,这是我们应该努力的事情!

答案 2 :(得分:1)

选择最简单的语言和技术。如果您需要数据库访问和较短的提前期,听起来像Java或Visual Basic是最好的。两者都有很多免费工具可以帮助您入门。

答案 3 :(得分:1)

StackOverflow中的顶级语言标签是C#(长边),然后是Java,PHP和DotNet,其次是C ++和Python。 Joel&amp; amp; amp; amp; amp;杰夫的网站起源,但任何这些都超过了能力的任务。就个人而言,我会使用Java或Python,但我不喜欢被捆绑到Microsoft堆栈。

wxWidgets和QT可能是GUI组件的选项。

在数据库中,mysql,SQL Server Express或Oracle Express Edition都是免费且强大的。 SQLite对于大多数单用户应用程序来说已经足够了。我把它放在'重要性'列表的底部。对于小规模的单用户应用程序,您应该能够毫不费力地切换和更改数据库平台。最重要的是在磁盘发生故障或损坏时实际备份/复制/恢复数据的方式。

答案 4 :(得分:1)

根据你的答案和你强调时间来做出改变,而你似乎根本不想改变应用程序,但是当时你被逼到了,你当然应该从{{3}评估Genero }。

这将允许您利用现有代码,但提供更好看的前端。您还可以维护支持字符和“Gui”客户端的单个代码库。