1.   Clouda到底是什么东东?

随着各家网站以及论坛上越来越多的谈论JavaScript, 并且随着chrome, V8引擎, Node.js等的流行,大家也越来越关注并开始学习JavaScript开发框架, 一个好的开发框架可以帮助开发者节省大量的时间。 面对拥有众多攻略的国外MVC框架,相信很多人堵已经尝试过了。 这里笔者给大家介绍一款国内的框架, 也可以说是国内先行者中的翘楚-百度Clouda。它也是笔者在研究js框架时的最好的助手和老师。 其实在8月22日当百度通过百度大会向大家抛出“轻应用”和Clouda框架的概念之后, 在业界就引起了不小的轰动, 好多开发者已经开始跃跃欲试。 那么到底Clouda是什么呢?它对咱们到底有啥用呢?怀着好奇的心情, 我们首先来看一下clouda的官方解释, 打开Clouda的官方首页你就会从最醒目的位置看到一条介绍:简单的, 可依赖的实时JavaSscript开发框架, 而且它是国内第一款云端统一框架。

2.   为什么要选择Clouda

在笔者的使用过程中, 深刻体会到了它的跨终端、入门简单、云端统一、高速实时编程、随动反馈、可检索、一键托管、SEO能力等众多特性。 更关键的是Clounda完全免费与开源,其采用MIT协议,全部代码托管在Github上, 对咱们以后得商业部署也不会产生任何麻烦。作为没有多少资金, 精力有限的个人开发者, 以及中小开发者, 这一点尤为关键。同时我在选择Clouda框架的时候也考虑到Clouda顺应了 使用Web技术开发App的新趋势,开发者只需了解JavaScript的基础知识即可进行Web应用的开发。同时,基于Clouda开发出来的Web应用可以调用设备的陀螺仪、相机、麦克、GPS等native功能,使得Web应用不再被拘束于纯网页,这一点着实难能可贵。而且由于基于GoogleV8这个成熟的引擎,Clouda不会有存在明显的性能问题,还有更大的安卓市场。同时,Clouda同百度云服务无缝连接,开发者通过Clouda开发的服务可以直接发布在百度的BAE平台(非常简单),同时可以更快速的结合百度云来实现人脸辨认和声音辨认等功能,而且由于绑定百度的智能搜索,使用Clouda开发的应用可以获得更多的曝光率, 便于市场推广。笔者也在自己的开发过程中, 尽量多的应用嵌入式方面的功能,当然这方面还有很大的进步空间。

3.   Ubuntu下Clouda安装及环境的搭建

在各种linux版本中, 笔者对Ubuntu情有独钟, 所以这里开发环境的搭建也是以Ubuntu作为操作系统, 其它的linux版本略有不同。 由于Clouda是基于node.js的Webapp开发框架,在使用Clouda时首先需要安装node.jsMongoDB 这里笔者就从note.jsMongoDB开始和大家一起在Ubuntu上搭建Clouda的开发环境, 过程非常简单, 也比较适合个人开发者和中小团队。 对于大公司, 迁移现有工程也不会有太大的问题。 尤其随着MangoDB在在线站点,广告平台,手机wap应用领域的广泛应用, 相信更多的公司也会分享出更多的范例让大家来学习。

1.  安装node.js

·        下载地址http://nodejs.org/download/, 选择LinuxBinaries (.tar.gz), 并根据自身系统选择64位或者32位。(如果用户从chrome浏览器打开下载页面, 直接点击Install, 浏览器会自动下载相应的安装包)

·        把安装包放在你的工作文件夹, 譬如/home/abc/node-v0.10.21.tar.gz,然后gunzipand tar-xvf来解压缩生成node-v0.10.21文件夹, 进入node-v0.10.21文件夹, 执行如下命令, 如果遇到任何Error可能是一些相关的程序没有安装, 如curl, g++等

./config

Make

Make install

2.  在本地Clouda使用mongoDB作为数据库, 下面我们再简单介绍一下如何安装mongoDB。 相信很多做web开发的人对mongoDB一定很熟悉了。

·        下载mongoDB,地址:http://www.mongodb.org/downloads

·        解压下载的文件夹,进入解压后的目录,在目录下创建"data"目录,并在创建的"data"目录下创建"db"文件夹

·         进入根目录下的bin/,使用下面的命令启动MongoDB

·        sudo ./mongod -dbpath ../data/db

·        其实更好的方式是根据各个Linux操作系统版本来安装, 譬如笔者的Ubuntu系统, 就最好按照http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ 的方式安装MangoDB

o   安装MongoDB public GPG Key

sudoapt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

o   在source list里面添加mongodb.list

echo'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudotee /etc/apt/sources.list.d/mongodb.list

o   reload your repository

sudoapt-get update

o   加载安装包, 如果没问题的话就安装成功了

sudoapt-get install mongodb-10gen

o  用下面的命令启动mangodb service

sudo service mongodb start

3.  安装运行Clouda(需要注意的是如果你使用proxy代理的话, 需要把代理关掉, 目前至少在我的机器上有时候会遇到因为代理的连接问题)

·         安装sudo npm install -g sumeru
·         创建工程sumeru init ./myproject
·         运行cd myproject
sumeru start

在Clouda框架中有一个itworks的实例,可以在浏览器中输入localhost:8080/debug.html/itworks来运行, 当网页中显示ItWorks时候, 一切就okay了。 总体来说, 非常过程非常的简单直接。
 

4.   Clouda开发入门

简单的一些步骤完成安装后, 你会看到Clouda的目录树结构如下, 非常清晰, 应用程序, 配置文件, 文档, 源代码文件, 库文件等等, 非常易于管理。

相信每一个开发者在遇到一个新语言, 新框架, 新开发环境的时候, 第一想到尝试的就是HelloWorld了, 就像新生儿开始认识世界一样, 我的第一个程序也是先从HelloWorld开始, 其实第一个程序相当简单, 你也可以自己重写一个, 也可以利用ItWorks直接替换掉text部分生成, 下面我们就简单介绍一下.

(1)在app/controller/下创建helloworld.js文件,输入以下代码(controller全部放在controller目录下, 如果你对controller的概念不是很了解, 请参考MVC模型文档):

helloworld.js

sumeru.router.add(

    {

        pattern: '/helloworld',

        action: 'App.helloworld'

    }

  );

通过router添加一个URL与Controller的映射关系,指导网页需要做一个什么样的操作。 继续在helloworld.js输入以下代码。

App.helloworld =sumeru.controller.create(function(env,session){

    env.onrender = function(doRender){

       doRender("helloworld",["push", "left"]);

    };

});

env.onrender()方法是完成对view(界面)的渲染

(2)打开app/controller/package.js,该文件用于将文件之间的依赖关系添加到Clouda中

在package.js中, 将itworks.js改成你新添加的文件名helloword.js

sumeru.packages(

   'helloworld.js'

      );

package.js用于将文件之间的依赖关系添加到sumeru中, 开发者可以在package.js文件中同时添加多个packages, 如下所示

sumeru.packages(

   'student.js',

   .....

 

   'studentList.js'

 )

(3)在app/view/下创建helloworld.html,并输入以下代码

在helloworld.html文件中输入如下html代码标签

<p>Hello World!</p>

Note: 一般情况下将编写的View文件都存放在app/view文件夹下,如果编写的view文件不在app/view文件夹下,Clouda也提供View文件路径配置的方法,框架会在配置路径先寻找需要的View文件:

sumeru.config.view.set('path','path/to/');

则Clouda会在如下目录中加载视图:

app目录/path/to/view/

 

至此,"HelloWorld"应用代码已经完成。

在浏览器中输入localhost:8080/debug.html/helloworld运行该应用,chrome和firefox打开都没有问题。

我们这里只是一个简单的HelloWorld程序并做了一些简单的解释。 如果你想更深入的研究Clouda可以访问Clouda的官网http://cloudajs.org/查看更多的文档。 当然如果你已经开发除了一款自己的app,你也可以将你的Clouda应用托管到百度BAE上去。Clouda是基于node.js开发的,所以需要node.js环境以及需要数据库的支持,百度开发者中心上BAE提供整套的环境的支持,只需简单的配置就可以快速运行基于Clouda开发的应用。

总之它的核心在于云、端使用统一的Javascript语言, 便于在各个平台上部署和应用, 减少代码的开发量和逻辑的复杂度, 所见即所得, 易于调试和部署。 同时在云环境中, 可以运用版本管理, 执行环境管理等各种工具, 不仅节约成本而且很适合几个人合作开发。 对于我等无米青年着实是很大的福利啊。

5.   一些常用名词解释

SEO全称:Search Engine Optimization,即搜索引擎优化。,是指为了从搜索引擎中获得更多的免费流量,从网站结构、内容建设方案、用户互动传播、页面等角度进行合理规划,使网站更适合搜索引擎的检索原则的行为。

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

轻应用框架, Clouda先行相关推荐

  1. 北京经纬信息技术公司企业级轻量框架内训圆满结束

    北京经纬信息技术公司"实战企业级轻量框架"在富海大厦11层会议室如期举办.本次培训为北京经纬信息技术公司精准定制的小班授课,本中心高级讲师余老师亲临授课,此次培训的目的是为了提升技 ...

  2. 打造淘宝极简包的轻量化框架

    淘宝极简包项目分离了一个可以快速搭建极简App的框架. 如今app冗余与包大小一直都是很多业务挥之不去的优化项.行业内很多极简包如雨后春笋般冒出来.又或者是很多业务对极简包的探索也有积极的尝试. 极简 ...

  3. 打造手淘极简包的轻量化框架

    作者:周松(北傲) 如今app冗余与包大小一直都是很多业务挥之不去的优化项.行业内很多极简包如雨后春笋般冒出来.又或者是很多业务对极简包的探索也有积极的尝试. 极简包带来的价值,不仅是包大小上的质变, ...

  4. php 后端 轻量 框架,GitHub - 22cloud/mixphp: 轻量 PHP 框架,基于 Swoole 的常驻内存型 PHP 高性能框架 (开发文档完善)...

    高性能 • 轻量级 • 命令行 MixPHP 是什么 MixPHP 秉承 "普及 PHP 常驻内存型解决方案,促进 PHP 往更后端发展" 的理念而创造,采用 Swoole 扩展作 ...

  5. 使用百度Clouda框架创建RSS阅读器应用

    什么是Clouda? Clouda是百度的一款开源NodeJs轻应用框架,拥有百度强大的技术支持,实现快速开发.优化SEO.易部署等特性,提供简单易用的依赖管理模块化开发环境. 详细信息,请猛击Clo ...

  6. 移动WebApp开发框架 Clouda!

    官方地址:http://baidu.csdn.net/ 实例地址:http://cloudajs.org/docs/step1_getting_started 一.定义 Clouda是简单,可依赖的实 ...

  7. Shiro框架:Shiro简介、登陆认证入门程序、认证执行流程、使用自定义Realm进行登陆认证、Shiro的MD5散列算法

    一.Shiro介绍: 1.什么是shiro: (1)shiro是apache的一个开源框架,是一个权限管理的框架,实现用户认证.用户授权. (2)spring中有spring security,是一个 ...

  8. Java+XML+MVC框架StrutsCX简介[转]

    StrutsCX是一个以Struts为基础的XML解决方案的框架,和Struts不同,它使用XML(确切的说是XSLT)作为表现层,而不是像Struts那样是以JSP作为表现层. 目前它的最新版本是0 ...

  9. 轻量级 Java Web 服务框架漫谈

    博文太长了, 还是先说下概要: 框架"轻量"与否可以从两方面来看待: 1) 框架本身的体量 - 例如小 jar 无依赖的苗条框架; 2) 用户使用框架是否获得各种便利而无阻隔(&q ...

  10. 应对全场景AI框架部署挑战,MindSpore“四招”让你躺平

    摘要:所谓全场景AI,是指可以将深度学习技术快速应用在云边端不同场景下的硬件设备上,包括云服务器.移动终端以及IoT设备等等,高效运行并能有效协同. 本文分享自华为云社区<AI框架的挑战与Min ...

最新文章

  1. Java基础复习笔记系列 九 网络编程
  2. 20个使用Bootstrap制作的前端框架网站案例
  3. Reverse digits of an integer
  4. ui-router 之 $state.go
  5. Visual Studio 2015 专业版安装方法
  6. weibinv matlab,利用MATLAB进行夫琅和费衍射
  7. [莓控]BlackBerry7290用户指南(简体中文)
  8. Spring Boot + WebSocket实现网页在线实时聊天
  9. window.open 卡死
  10. 《形式感+——网页视觉设计创意拓展与快速表现》
  11. java caller_callee和caller属性的区别
  12. 三角形的缩放动画,不会做的看过来!
  13. 从零开始的unity2017笔记【2D】(【二】角色动画)
  14. 如何取消Stadia Pro订阅
  15. VIBE运动目标检测算法实现
  16. Ableton Live 11 Suite v11.1.0 WiN-MAC 电音制作宿主软件
  17. Vue UI组件库(Element UI库)
  18. linux6.5修改网卡名称,Centos7更改网卡名为eth0
  19. 透过2W条评论看动漫《博人传-火影忍者新时代》
  20. UVA 356 - Square Pegs And Round Holes

热门文章

  1. 华裔计算机科学家晟,微软亚洲研究院发表了超过5000篇科研论文:晟最受赞许的企业研究院...
  2. 【费用流】洛谷1251 餐巾计划问题
  3. 题解 【中学高级本-网络流24题】餐巾计划
  4. JAVA POI导入Excel, 和百分比有关的 百分数格式问题
  5. creat是什么意思中文翻译_CREAT是什么意思中文翻译
  6. 近期几篇有关All-Pay论文总结(博弈论+机制设计)
  7. 股票十档行情数据接口怎么看?
  8. Oracle中的sys用户和system用户
  9. 统计学 |辛普森悖论
  10. 基于ARM9处理器的工作模式&工作状态&寄存器&异常类型总结笔记