Frameworks 基于web的应用程序是否应该遵循web标准?

Frameworks 基于web的应用程序是否应该遵循web标准?,frameworks,standards,web-standards,Frameworks,Standards,Web Standards,白天,我是一名前端web开发人员,但在业余时间,我涉猎过其他语言,如C、Objective-C、Python等。当我第一次进入web开发时,web应用程序的概念才刚刚开始 从那时起,出现了两个惊人的框架,SproutIt的SproutCore和280 North的Cappuccino(+Objective-J)。SproutCore被苹果用于其MobileMe应用程序,并发布了280张幻灯片。这两个应用程序都是惊人的,它们证明了网络上的可能性。因此,势头正在转变。Web应用程序的外观和行为开始类

白天,我是一名前端web开发人员,但在业余时间,我涉猎过其他语言,如C、Objective-C、Python等。当我第一次进入web开发时,web应用程序的概念才刚刚开始

从那时起,出现了两个惊人的框架,SproutIt的SproutCore和280 North的Cappuccino(+Objective-J)。SproutCore被苹果用于其MobileMe应用程序,并发布了280张幻灯片。这两个应用程序都是惊人的,它们证明了网络上的可能性。因此,势头正在转变。Web应用程序的外观和行为开始类似于桌面应用程序

所以我的问题是:基于web的应用程序是否应该遵循web标准、标记(内容)、表示(设计)和行为(功能)的分离

我不确定SproutCore,因为我没有看过源代码,但我知道如果你去280slides.com并关闭JavaScript,一切基本上都会消失。你只剩下一些毫无意义的话


让我澄清一下,我明白基于web的应用程序(如280张幻灯片)是要安装JavaScript的,没有它就不能正常工作,但在我的日常工作中,我主要关注的是编写清晰的标记,分离内容、演示和行为,以便我们的网站和应用程序能够被尽可能多的人使用。

是的。一开始会很困难,但一旦代码库成熟,您就会感谢您遵守了这些严格的标准


编辑:一个额外的好处是通过CSS配置文件和诸如此类的东西可以移植到许多基于web的平台。

我认为他们应该这样做。遵循这种类型可以更容易地实现更改,提供良好的性能,并且对于项目的新手来说通常更容易理解。

MVC模型可以轻松地应用于桌面应用程序,就像它可以应用于基于web的应用程序一样。我看不出有什么理由区分这两者,特别是在web应用程序中,这条线更加模糊


我不知道这些特定的框架,但是现在很多web框架都是围绕MVC模型构建的,比如ASP MVC、CakePHP、Ruby on Rails等等。

尽可能地分离,最终会得到回报。当事情变得复杂和多毛时:)

似乎到目前为止回答的其他人都不知道你在说什么

和我一样,让web应用程序尽可能地可访问,这一点在您的头脑中也受到了冲击。也就是说,它们应该在没有脚本和样式表的情况下工作。JavaScript和CSS只能用于增强体验。它们不应该是必需的

并且是前端开发框架,要求用户同时启用JavaScript和CSS。你的问题是,我们如何使这一点与当今的教条相一致

不幸的是,我没有一个明确的答案。我喜欢SproutCore和Cappuccino(可能还有其他)正在测试web浏览器中可能存在的限制。我还坚信,鉴于技术的局限性,网络上提供的信息和服务应该尽可能多地提供给更多的人

如何处理解决方案需要基于对用户基础的深入了解。如果你正在使用iPhone应用程序,你不必担心传统的网页可访问性,因为这种体验非常直观。如果您正在为普通用户构建web应用程序,那么这些新框架可能是一个糟糕的选择(如果您重视尽可能广泛地访问您的信息和服务)

随着时间的推移,屏幕阅读器软件可能会更好地解释JavaScript繁重的界面,所以这个问题可能会消失。事实是,其他东西很可能会“萌芽”起来。

Javascript是一种Web标准——当然比Flash更重要,Flash以前(现在仍然经常)用于富Web应用程序。在这方面,SproutCore和卡布奇诺是我书中的巨大改进


这里的问题似乎真的是无障碍性有多重要。正如安德鲁所说,这在很大程度上是一个基于了解用户的个人决定。对于一些应用程序来说,可访问性真的没有多大意义——280张幻灯片就是一个很好的例子。这是一款主要关注视觉行为的图形设计应用程序。它降级为纯文本没有多大意义。(至少,一个基于文本的应用程序能够完成280张幻灯片的功能,这将是一件完全不同的事情。)

我不知道为什么人们会投票支持这个。它根本没有解决这个问题。他在问是否优雅的降级、渐进式增强等将随着新的基于JavaScript的前端框架的流行而被淘汰。我显然误解了这个问题。我很高兴看到其他人能够给出更好的答案。