使用EWF(Eiffel Web Framework)在Eiffel中构建网站会有什么不利之处?

时间:2015-03-19 14:58:32

标签: web frameworks cgi fastcgi eiffel

我们希望在现有的Eiffel业务层核心之上构建一个网站,该核心位于MS SQL Server数据库之上。我目前正在考虑编写Web和移动层的优缺点,或者纯粹是在Eiffel中,纯粹在典型的Web堆栈中,或者是一些混合的。

对于我们来说,纯埃菲尔有明显的优势,其中最重要的是:

  1. 在其他语言中找不到继承和其他语言符号机制。
  2. 编译器无法看到其他语言的代码,因此我们处于同样的劣势,我们将其从Eiffel转换为其他语言。
  3. 自动测试是我们在Eiffel代码中非常依赖的东西,它明显优于契约式设计。在其他语言中,我们失去了这种力量,并留下了TDD(例如他们在埃菲尔的自动测试版本)。
  4. 我们现在必须学习的不仅仅是:Eiffel,HTML-5,CSS-3,JS以及我们使用的任何JS框架。
  5. 每种新语言和工具都会增加项目的复杂性。
  6. 将Eiffel程序编译为C - > EXE,它们比脚本和解释型对象快得多。
  7. 我认为现有的非埃菲尔语也有一些明显的优势:

    1. 现有的框架和工具可以很快地开发简单到中等的网站和移动应用程序。
    2. 现有的“最佳实践”并不可怕,并且可以生成相当可靠和可维护的代码。
    3. 我不确定所有的优点和缺点是什么,所以我在问。然而,在一天结束时:我们的核心业务套件是纯埃菲尔。这永远不会改变。

      提前感谢您的反馈!

2 个答案:

答案 0 :(得分:1)

以下是我自己的经验(我在不同的框架中创建了几个Web应用程序,包括Eiffel中的一个)。首先,Eiffel Web Framework现在非常实用。其他框架的优点是它们的功能。以下是我使用Eiffel创建Web应用程序时遇到的主要问题列表:

  • 我必须自己创建MVC设计(其他框架,如Django,Rails或Laravel自动完成)。
  • 埃菲尔缺乏是一个很好的模板系统。 Smarty库是可以的,但它确实缺少其他一些非常好的模板功能。此外,尝试在Smarty中使用UTF-8文件可能非常困难(这对我来说很痛苦)。
  • 我必须基于cookie进行一些会话管理,因为Eiffel Web Framework中的那个是非常原始的。
  • 发布过程(删除Nino)并不容易,缺乏良好的文档(我使用Apache,我不知道IIS)

就是这样,除此之外,每件事情都很顺利。

答案 1 :(得分:1)

下一个缺点列表来自我天真的观点:

  1. EWF软件包尚未完成,将来会有更好的功能,因此您可能需要按照新的开发来利用新功能。
  2. Eiffel编译器无法动态更新Web程序,需要重新编译和重新部署。
  3. 如果程序将是多线程的,那么您需要学习一种基于SCOOP模型处理并发性的结构化方法。
  4. 某些工具(例如,XSLT处理器)不容易集成到EWF中,您可能需要自己执行此操作。
  5. 当前的EWF API相当低级,因此在构建于EWF之上的高级框架变得普遍之前,您可能需要执行比预期更多的低级编程(低级别我主要意味着通过生成HTML / XML /或您的Web服务将要生成的其他格式。)
  6. 只需使用一种语言来执行应用程序逻辑和HTML生成(允许轻松调试),可能会降低开发人员及其技能的要求,这可能会影响您的业务模式。
  7. 有几种工具可以满足特定需求,如维基,简单的网页创建,授权等,但您可能需要增强它们以获得更丰富的功能以及设计软件的体系结构,因为有些成语和使用模式尚未建立。