elv*_*o79 17 smalltalk seaside aida
三个Smalltalk Web应用程序框架之间有什么区别?
一些起点:
我只是想确定哪种框架适合各种应用程序.
我只能回答海边:
目标: Seaside针对复杂的Web应用程序,重点关注可重用性和开发效率.有自动会话状态管理和后退按钮支持.这两本免费在线书籍动态网页开发海边和海边教程提供了文档.
弱点:对于RESTful URL,您必须做一些额外的工作.
干净的URL:对于RESTful URL,你必须做一些额外的工作,但它是值得的(例如Pier).
AJAX: Seaside中集成了大量的AJAX库(jQuery,jQueryUI,Prototype,script.aculo.us,...).通过集成,您可以从Smalltalk中完全访问这些库.可以轻松集成新库,例如JQueryWidgetBox.
持久性: Seaside是一个Web应用程序框架,而不是持久性框架.您可以使用最适合您的任何持久性解决方案,例如GemStone,GOODS,GLORP,......
另请参阅StackOverflow上的其他问题/讨论:
我可以在伊利亚特方面说些什么:
Sweet spot(s):它无痛地处理AJAX.对我而言,这是转向Iliad的转折点.此外,它非常小而且不臃肿,您可以在一天内阅读整个代码,并掌握它的工作原理.
缺点:社区也很小.这导致缺少文档,附加模块或预制小部件.OTOH,小社区往往愿意更热切地互相帮助,所以你可以通过在邮件列表上询问来解决所有的疑虑.
URL:嗯,因为默认情况下Iliad中的所有调用都是AJAX,所以URL始终保持干净.
阿贾克斯:是的.免费,默认情况下.你只需#markDirty一个小部件,它会自动更新.依赖性与将#addDependantWidget:发送到窗口小部件一样容易定义,因此当第一个被标记为脏时,两者都将被更新.此外,如果客户端没有支持JavaScript的浏览器,则所有呼叫将自动回退到常规HTTP请求.
坚持:没有偏好.由于模型与框架分离(我认为这适用于三个框架),您仍然可以遵循与Aida或Seaside相同的指导原则.
而对于Aida/Web:
甜点:开箱即用的实时网络支持,内容网站和复杂的网络应用程序,HTML5和移动支持,包括Web服务器,因此它在安装后立即工作,您可以从同一图像服务许多虚拟网站.
缺点:缺乏文档,小社区
URL:始终清除类似REST的URL,因为Aida从一开始就遵循moto:每个域对象都可以拥有其URL(也由Alan Kay),域对象甚至可以自己选择其URL.
Ajax:无缝集成,你再也看不到它了,一切都在那里.要刷新网页上的某些元素,您只需致电e update.无需了解任何jQuery或其他JavaScript.同样适用于实时网络应用程序.WebSocket协议是支持的浏览器上的默认通信通道,用于在浏览器和基于Aida的服务器之间交换JSON消息.
持久性:默认情况下,每小时启用基于图像的持久性自动快照.Gemstone/GLASS支持提供下一步.如果需要,关系/其他DB是域级别的职责.
更多: