在考虑用于应用程序开发的工具,尤其是需要数据库组件的工具时,在考虑MysqL和Postgresql等开源工具与4D或Pervasive sql等专有解决方案时应该注意什么?
SO社区对各种数据库工具(如4D,Pervasive,FilemakerPro等)有什么好的(和坏的!)体验?
任何糟糕的经历?
解决方法
优点:
>界面&代码与数据引擎密切相关,这使得开发丰富的跨平台用户界面非常快速和简单.
>专有关系数据引擎在两个平台上本机运行,以及本机客户端接口(但需要多用户许可证).自动关系很有帮助(但有时会妨碍).
>可以通过SOAP和ODBC以及sql驱动程序访问外部系统(有限).
>可以通过SOAP或http请求从外部系统访问4D&网页.
>基于Pascal的本机过程编程语言,易于学习.
>适用于中小型部门的优秀工具.
>最新版本接受sql命令子集和原始数据访问,因此它的向后兼容性记录非常好.
> 4D的安全性很容易.
>您可以构建通过各种方式部署的解决方案,并且不受是否安装了MS Access的限制.
缺点:
>界面&代码与数据引擎密切相关,这可能导致抽象和“黑盒”编码的使用受到限制,除非您将其作为开发目标.
>编译为一个整体结构文件,强制重启单个修复程序.
>语言仍然只是程序性的 – 使面向对象的程序员更难接受.每个方法都需要在4D中使用单独的“文件”,因此您不能在单个例程中包含多个函数或过程 – 这需要一些时间来适应它.
>虽然公司似乎处于良好状态,正在成长和发展,但你根本不会知道,因为他们保持自己的状态.
>公司从未真正推销自己 – 信任其开发人员基础,通过网站部署和产品升级传播信息并发展产品.网站显然只对已经使用该产品的开发人员有用 – 它根本无法吸引新用户.
>产品升级似乎总是关注工具如何更好地为开发人员而不是那些开发人员的客户.
> sql缺少视图,复合索引和其他常见sql功能.
>当用户请求特定数据列的报告时,我经常需要编写另一个程序来提供该特定数据 – 我不能总是只查询数据并生成文本文件.
>几乎不使用基于Web浏览器的应用程序来处理新的操作系统版本.旧版本在Mac OS 10.6上被破坏,最新版本需要最新的Mac OS 10.6. Windows 7上尚未认证任何版本.
我已经将近一年的时间学习ASP.NET,并在Ruby on Rails上学习了几周.虽然sql数据存储很容易,但用户界面很难 – 但是当您的应用程序仍然通过操作系统升级运行时,它是值得的.如果最新版本出现问题,您可以随时使用旧版浏览器.
我建议您考虑其中任何一个,具体取决于您可用于实施项目的资金–Rails是两者中更便宜的.然后,任何带有Web浏览器的系统都可以访问数据,您可以根据需要动态修复界面页面,而不是让整个系统在几分钟内完成一次简单的更新.这些技能在未来可能更具市场价值.