随着YUI,JQuery和Prototype等JavaScript框架以及Firebug等调试工具的强大功能,完全在浏览器端JavaScript中运行应用程序看起来像是制作益智游戏和专用计算器等简单应用程序的好方法.
除了暴露您的源代码之外,这还有什么缺点吗?你应该如何处理这种程序的数据存储?
编辑:是的,Gears和cookies可用于本地存储,但您无法轻松访问用户已拥有的文件和其他对象.您也无法将数据保存到用户的文件中,而无需调用某些浏览器功能,如打印到PDF或将页面保存为文件.
我在JS中编写了几个应用程序,包括一个电子表格.
潜在上升空间:
很棒的语言
短代码运行审查周期
DOM操作非常适合UI设计
每台计算机(和手机)上的客户
下行:
浏览器之间的差异(特别是IE)
代码库可伸缩性(没有对命名空间和类的内在支持)
没有好的调试器(特别是,再次,对于IE)
性能(尽管FireFox和Safari取得了很大进展)
您还需要编写一些服务器代码.
底线:去吧.我做到了.
在JavaScript中开发简单桌面应用程序或游戏的另一种选择是Adobe AIR.您可以使用HTML + JavaScript或使用Flash/Flex或两者的组合来构建应用程序代码.它具有跨平台(实际上是跨平台,Linux,OS X和Windows.而不仅仅是Windows和OS X)的优势.
哎呀,这可能是你职业生涯中唯一一个可以编写网页并且只针对一个浏览器的开发人员.
SproutCore是一个完全由JavaScript托管的应用程序框架,特别是从Cocoa(例如KVO)和Ruby on Rails(例如为模型,视图和控制器使用CLI生成器)借用概念.它包括Prototype,但是构建了大量的东西,比如复杂的控件.它的照片演示可以说是令人印象深刻的(特别是在Safari 3.1中).
格雷格已经向你指出了Gears; 此外,HTML 5将带有标准化的本地存储方式.Safari 3.1附带一个实现,其中您有一个具有用户可设置大小最大值的每站点SQLite数据库,以及一个带有SQL查询的内置数据库浏览器.不幸的是,我们需要很长时间才能获得广泛的浏览器支持.到那时,齿轮的确是一种替代(但不包括Safari浏览器... 呢!).为了更简单的存储,当然总是有cookie.