将为单页应用程序(SPA)生成页面-也就是说,它不仅是一个集合服务器生成的HTML的华丽标记。
通过将修改后的数据保存在本地存储中,缓存服务器请求并在服务器可用时发送请求,可以处理应用程序看不到服务器的时间。 >具有与至少以下一种语言一致的编程范例:jQuery,CoffeeScript,JavaScript(甚至PHP,Ruby,Python,C#,但这些可能性可能要小得多。我认为Google Web Toolkit可能会满足我的需求,但我不是Java程序员,也不打算成为一个Java程序员。)
在Windows Phone 8以及当前的Firefox和Chrome浏览器上都可以正常运行。关于前端:客户端,在浏览器上。服务器上的后端超出范围。
您知道JavaScript如何创建DOM对象吗?以及网页如何只是一堆DOM对象。以及如何在用户看到的任何给定网页上,一些DOM对象可以由客户端上的JavaScript创建,而某些可以在服务器上创建并提供给客户端。许多SPA几乎都有在客户端上用JavaScript创建的所有DOM对象。这就是我的追求。我正在寻找一个使事情变得更容易的库。
上下文
我曾经是免费,免费,开源gtd-php应用程序的开发人员。它现在在GitHub上,暂时作为废弃软件。我仍然每天都在使用该应用程序。用户体验不是很舒服,但是功能正是我需要以“完成工作”风格来管理任务所需要的。我想到的是,如果我要重新开发其中的内容,那么我真正想做的事情就是彻底修改前端,并在客户端浏览器中生成所有内容,并通过JSON与服务器交换数据。因此,这个问题。
#1 楼
AngularJS是一个流行的框架,最近获得了很大的流行。这是一个MVC框架,可以真正帮助组织项目。您可以使用Egghead.io上的视频学习很多有关它的信息。这是满足您要求的方法:
使用正确的标记,它可以为您生成很多内容。例如,如果要基于JavaScript对象中的内容创建项目列表。您可以使用
<div ng-repeat="listItem in list"></div>
,它将为列表中的每个项目构成一个元素。如果支持的JavaScript对象(模型)发生更改,它将自动为您更新DOM。将处理不连接服务器的时间
有很多方法可以做到这一点,但是Angular提供了一个
$http
对象,可用于与服务器通信。 $ http对象具有用于缓存请求的选项。默认值非常强大,但是如果您找不到它可以满足您的需求,则可以在$cacheFactory
处自定义自己的值。如果您不想自定义自己的项目,那么还有其他项目(例如,角度数据)可以为您处理很多事情。 具有类似于jQuery,CoffeScript,JavaScript等的编程范例。
所有内容均以JavaScript编写( HTML模板除外),也可以根据需要使用CoffeeScript编写。包括一个名为jqLite的轻量级版本的jQuery,它具有完全相同的编程语法。
Angular建立在现代网络上。它是为当前浏览器设计的,同时也考虑了将来的浏览器。
关于Angular,有几件重要的事情要知道。 Angular有蓬勃发展的社区,总是乐于助人,因此请确保您提出问题。有时文档可能有点令人生畏;但是,团队和社区正在努力改进它。该项目非常活跃,大约每1-2周就会有新版本发布,因此有时功能可能会更改,但是我的建议是选择一个版本并坚持使用,直到您看到转换的价值为止。
评论
我不认为像PhantomJS这样的东西对您有用吗?不确定100%是否符合您的要求,所以我不会发表答案。@EnergyNumbers-您是否真的在寻找静态网站生成器?如杰基尔?我只是在理解您真正想要的东西时遇到了麻烦。您想如何“生成”页面?您必须给它一些东西以使其起作用,这可能是一些华丽的标记。
@EnergyNumbers,因此任何SPA框架都可以做到这一点...您只需对其进行编码即可。除了自己编程之外,没有一种方法可以生成将生成DOM对象的JavaScript。您可以使用Angular在其控制器之一或任何其他框架(例如Ember,Backbone或Knockout)中创建DOM对象。然后,从听起来似乎又可以用普通的旧香草JS完成所有操作。