August 10, 2009
JavaScript 模板
JavaScript模板是什么东东?懂php smarty框架的人应该能够理解模板,作为MVC的view层,为什么对这个东西感兴趣,最近给blog添加google日历,用的是json的方式,用创建dom的方式展示数据超级麻烦,而且死google的json嵌套又特别复杂,为了维护方便还是用js模板比较好一些。
不过还没应用到blog上,先看我的demo
下面就粘贴几个不错的模板资料,还有twinsenliang弄的WTemplet。
- 一个简单的JavaScript模板原理教程客户端模版应用
- WTemplet,请重点看下这个技术所传达的web开发流程优化
- 一个完善的牛逼的老外的JavaScriptTemplates,先一睹他的demo
JavaScriptTemplates想多说几句,他是TrimPath项目的一个部分,目的是在js基础上实现MVC的模式,应用google gears的离线技术等创建牛逼的客户端应用,JavaScriptTemplates只是TrimPath的view层应用。该项目中还包含了一个TrimQuery,我个人对js知道的甚少,觉得这个玩意也很牛逼,因为他实现客户端使用SQL的方式查询数据,直接看他的demo一目了然,反正我能看懂的洋码子也不对。这个项目在Google code开源了,可以方便拿到代码,自己顺便留个记号,以防以后用得到。
取他例子的一段代码看看:
TrimQuery
SELECT Customer.id, Customer.acctBalance, Invoice.total FROM Customer, Invoice WHERE Customer.id = Invoice.custId ORDER BY Customer.id
JavaScriptTemplates
<table>
<tr><td>Name</td>
<td>Description</td>
<td>Price</td>
<td>Quantity & Alert</td>
</tr>
{for p in products}
<tr><td>${p.name|capitalize}</td><td>${p.desc}</td>
<td>$${p.price}</td><td>${p.quantity} :
${p.alert|default:""|capitalize}</td>
</tr>
{forelse}
<tr><td colspan="4">No products in your cart.</tr>
{/for}
</table>
August 6, 2009
应用google gears提高打开速度
google gears是提供离线存储的一个平台,NB的应用gmail的离线版,google日历的离线版等,他的本地存储对不经常变动的静态文件进行存储,降低请求数挺爽的,qzone已经采用了,不过今天我测试了下又没了。
下面简单几句就搞定静态文件的存储,如果安装了gears,就可以体验到我的blog的文件本地存储服务。
一个完整的离线测试demo。
简单的代码
<script type="text/javascript" src="gears_init.js"></script>
<script type="text/javascript">
var localServer = google.gears.factory.create('beta.localserver');
var store = localServer.createManagedStore('test-store');
store.manifestUrl = 'site-manifest.txt';
store.checkForUpdate();
</script>// site-manifest.txt
{
"betaManifestVersion": 1,
"version": "site_version_string",
"entries": [
{ "url": "site.html" },
{ "url": "gears_init.js" }
]
}