Clouda开发笔记
来源:互联网 发布:淘宝客服 日均接待量 编辑:程序博客网 时间:2024/06/06 00:03
Clouda介绍
Clouda是由百度开发的基于nodejs的Javascript开发框架,主要为移动端设计,运行性能和兼容性都比较好。
可以从这里获得源码:https://github.com/brandnewera/sumeru
官方网站:http://cloudajs.org/
安装与运行
由于Clouda是基于nodejs的框架,所以试用前首先要安装nodejs。
nodejs可以从这里下载:http://nodejs.org/download/
此外,Clouda使用MongoDB作为本地数据库,计算机还需要安装MongoDB。
MongoDB可以从这里下载:http://www.mongodb.org/downloads
接下来安装Clouda就比较简单了,使用一条简单的命令即可搞定:
npm install -g sumeru
然后创建一个项目:
sumeru init ./testpro
运行该项目:
cd myproject
sumeru start
开发实战
下边利用Clouda开发一个RSS阅读器,本文只列出核心代码,具体项目源码可以参考https://github.com/brandnewera/clouda-examples/tree/master/SpiderNews 然后将对应文件替换为文中代码即可。
externalPublishConfig.js (本段代码实现获取RSS内容的功能)
var iconv = require('iconv-lite');var extpubConfig = {}extpubConfig['pubnews'] = { geturl : function(params){ return 'http://blog.csdn.net/rss.html?type=Home&onlytitle=1'; }, resolve : function(originData){ data = iconv.decode(originData,'utf-8'); var reg = /<item>[\s\S]*?<title>(.+?)<\/title>[\s\S]*?<guid>(.+?)<\/guid>[\s\S]*?<\/item>/img; var arr = [];data.replace(reg, function(a,b,c){arr.push({title:b,link:c});}); var resolved = {topnews: arr }return resolved; }, fetchInterval : 6 * 1000, buffer : true}module.exports = extpubConfig;
news.js (本段代码实现对数据的输出)
sumeru.router.add({ pattern: '/news', action: 'App.news' });sumeru.router.setDefault('App.news');App.news = sumeru.controller.create(function(env, session){ var view = 'news'; var getNews = function(){ session.news = env.subscribe('pubnews', function(newsCollection){ var obj = newsCollection.getData()[0]; session.bind('newsBlock', { 'topNews' : obj['topnews'] }); }); }; env.onload = function(){ return [getNews]; } env.onrender = function(doRender){ doRender(view, ['push','left']); };});
运行结果
使用体验
Clouda采用了MVC模式来实现web开发,在保证良好规范的前提下也比较容易上手,并且支持在前台页面中编写后端代码,这个跟Angular有点相似。
本人根据实际编程以及个人喜好,列举一下Clouda比较赞的一些功能:
1、接近完美的MVC开发模式
2、model的validation机制
3、对model集合的封装:collection
4、trunsition特效实现
5、流畅易用的touch操作
6、内置数据的订阅与发布
最后,由于Clouda是基于nodejs的,并且数据库用的MongoDB,性能和速度上没有任何问题,但凡事都有两面性,这样写死的绑定也限制了开发者采用其它数据库的可能性,如果能通过配置来修改这些绑定就比较完美了。
- Clouda开发笔记
- CLOUDA开发笔记
- 百度云开发clouda学习(一)
- 实时Javascript开发框架Clouda、Meteor、Firebase对比
- Webapp开发框架Clouda的使用(一)
- 百度开放云编程马拉松Clouda开WebApp开发新模式
- 实时Javascript开发框架Clouda、Meteor、Firebase对比
- 实时Javascript开发框架Clouda、Meteor、Firebase对比
- 轻松打造品牌轻应用:实时Web App开发框架Clouda
- Clouda试玩
- Clouda聊天室实践
- 安装和使用Clouda
- Clouda 之我见
- 2.安装Clouda框架
- Clouda聊天室实践
- Clouda框架环境搭建
- 使用百度轻应用框架clouda开发的新闻抓取程序(学习而已,所有责任概不负责)
- 百度Clouda的初步探索
- java流中的换行符在javascript中的表示
- 理解 Linux 配置文件
- 软件度量都该度个啥?(2)——如何度量公司效益指标、如何度量缺陷?
- 百度笔试面试
- Tiny Jpeg Decoder (JPEG解码程序) 源代码分析 1:解码文件头
- Clouda开发笔记
- 责任链模式
- pb函数库 - DataWindow常用函数(转)
- 对象克隆
- 网关和路由器的区别
- MyEclipse 8.6 + BIRT2.5.2
- 关于JIRA的自动邮件通知测试时收不到邮件的问题说明
- 《Oracle Applications DBA 基础》5- AD 工具 and patching
- OJ n-1问题