一般来说,Ada最严重的用途发生在防御承包商圈子内,而不是Web 2.0群体。
有很多更好的语言可以进行Web开发,但是我没有在google上找到带有ada的web-dev的预构建库或框架,我的同事给了我一个空白的样子。
也就是说,如果您想使用ada-hammer来解决问题,您可以构建一些东西来编译HTML代码并将其移动到服务器中的适当文件夹中。或者也许做一些花哨的即时编译HTML通过apache..painful返回,但我想可行
你可以看看 http://blog.vacs.fr/index.php?tag/JSF 查看如何使用的示例 Ada Server Faces 。
关于您是否可以使用Ada进行重型Web开发的问题的答案取决于您想要做什么。如果您对cgi-bin方法感到满意,那么可以使用Ada软件包来完成工作,您可以像使用任何Web界面一样附加级联样式表。如果要处理XML解析,也可以使用Ada / XML。有些情况下这很有用,尽管您可能想要考虑XML是否是您所需要的。因为编译了处理Web接口的Ada过程,所以它的性能应该与C相当。此外,您可以使用Bounded_Strings包进行字符输入解析,该包可以让您测试输入字符串不包含不可接受的字符且不会太长。这两项检查在网站上都很重要,可以降低黑客攻击成功的可能性。
如果您正在将数据库用于Web设计,那么您应该查看Ada Web Server(AWS),其中包括指向数据库的链接。对于更繁重的工作,您可能需要查看Ada-AWA项目,该项目是开源的。如果您正在处理对象关系数据库,那么您可能还需要考虑PolyORB,它可以处理CORBA和Ada分布式系统附件。如果你是一个单独的开发人员,这是非常重要的事情。您几乎肯定需要有人来处理日常的系统管理工作 - 您需要获得Internet服务提供商的许可才能托管网站。
如果您需要一个必须支持重型数值工作的Web界面,那么您应该知道Ada具有支持多线程应用程序的任务 - 通常Ada编译器和链接器将为每个任务分配一个线程。该语言旨在使用rendezvous直接支持线程到线程的通信。此外,语言设计者不得不担心硬调度问题,其中错过从一个线程到另一个线程的通信被视为程序失败。如果你要进行多代理通信,你可能应该得到一个UML设计工具,它可以让你使用同步图来设计这些类型的程序,因为围绕这种计算的思路与顺序编程非常不同。
需要注意的是,Ada专为嵌入式编程而设计,这意味着它专为有许多计算机的环境而设计,每台计算机都可以以点对点的方式与其他计算机通信。它最初由美国国防部使用,但它也被用于控制飞机中的襟翼和其他表面的航空电子设备软件,以及汽车中的等效系统。波音777航空电子设备软件是用Ada编写的。我似乎记得戴姆勒 - 克莱斯勒使用的是阿达 - 注意到目前的汽车有80台嵌入式电脑。软件开发成本是 可能约占新车当前成本的20%。
尝试AWS,只有适当的解决方案,我才能找到......
http://libre.adacore.com/libre/tools/aws/
但是 -
我仍然建议你学习一种更适合web开发的语言,例如: PHP,asp.net,JSP ....
AWS已经介绍给您,现在您只需要一个框架。我可以推荐一下 的 ADA-AWA 强> 项目。
这是一个关于如何入门的视频: youtube.com
我对AWS / Templates_Parser,XML / Ada和GNATColl非常满意。这是三个坚实的包,使您能够使用Ada做令人兴奋的事情。
我正在逐渐远离PHP(在我的业务中有很多用PHP构建的内部工具),到目前为止,Ada已经证明是一个非常可靠的伴侣。它已经到了我真正不喜欢回到PHP的地步。我非常期待有一天我的所有工具都由Ada提供动力。
只是准备做一些比使用“普通”网络语言更多的腿部工作。奖励是一个更少的错误和更好的最终产品(与PHP相比)。至少这是我的经历。
有人已经发布了指向AWS的链接。以下是GNATColl和XML / Ada的链接: http://libre.adacore.com/libre/tools/gnat-component-collection/ http://libre.adacore.com/libre/tools/xmlada/
如果您想在网上启用烤面包机,可以尝试使用嵌入式Web服务器 EWS 。甚至不需要服务器上的文件系统。