我将使用什么软件基于数据库构建应用程序?

幸运的是,您有很多选择。 首先,“应用程序”是指移动应用程序还是网站? 本质上,所有网站都处理GET和POST之类的HTTP请求,并且它们输出HTML和/或REST与浏览器或移动客户端通信。 这个过程的背后是一种编程语言,现在,感谢天哪,是一个Web框架,它为应用程序提供了逻辑结构。

第二,正如您所注意到的,连接到数据存储也是几乎所有有用网站的必需部分。

尽管这些组件通常会组合在一起(例如php + mySQL或ASP.NET MVC + SQL Server),但您应该真正将它们混在一起。 就是说,应该分别考虑Web框架和数据存储,并且由于有许多驱动程序充当各种语言之间的连接器,因此现在可以将其分别考虑。 此外,还应考虑用于全文搜索的第三个组件。 (以及用于响应式设计和客户端库(例如,引导程序和jQuery)的UI级别的第四组框架。)

如果用“应用程序”来表示移动应用程序,那么我强烈建议您首先选择您要使用的应用程序平台(iOS,Android,Windows Phone等),然后选择该客户端的母语。 对于iOS,它是目标C。对于Android,是Java和ADK。 对于Windows Phone,它是C#。 如果这些由数据库提供支持,则您很可能希望它们连接到服务器,因此这涉及将服务器编写为以简单REST格式读写的网站。 还可以使用Xamarin Studio这样的中介程序,让您编写单个移动应用程序并将其输出为多种格式。

一些最受欢迎的框架,数据存储和搜索引擎是:

Web框架
* ASP.NET(尤其是使用C#的ASP.NET MVC框架)
* Ruby on Rails(许多开发人员发现非常有生产力的框架)
Java和Spring MVC(我认为稍微复杂一点,但是可以在Linux上免费完成,了解Java非常有用)
* Python
* Node.js(一个迅速崛起的框架,在服务器上使用JavaScript)
* php(在我看来,传统,没有理由在此启动新项目)
* ColdFusion(同上)

资料库
* NoSQL“文档存储”数据库,例如MongoDB,RavenDB,Cassandra等。
* SQL 关系数据库,例如SQL Server,mySQL

全文搜索
* SQL Server全文搜索
* ElasticSearch
*单反
* mySQL全文搜索

推荐一个选项开启了一场关于利弊的宗教辩论。 Java的功能极其强大,在您处理其他编程领域时,它将为您提供良好的支持。

我非常喜欢C#和MVC,它是一个非常丰富的框架,带有出色的工具集(我认为是最好的开发环境),并且相当容易使用。 Node.js迅速流行并依赖JavaScript,当您将学习成果应用到其他领域时,Node.js也将有所回报。 就个人而言,我会远离PHP,因为它是一种相当老的技术,可能正在逐渐普及。

我鼓励您探索NoSQL选项

Web应用程序框架的比较

Web框架排名| HotFrameworks