当前位置:首页 > 芯闻号 > 充电吧
[导读]一:跨平台APP开发目前采用html5+javascript+css 开发跨平台应用正成为一个热点。html5开发网页的骨架,CSS开发网页皮肤,JS用于网页互动。即仅需维护一套代码,通过不同编译方式

一:跨平台APP开发



目前采用html5+javascript+css 开发跨平台应用正成为一个热点。html5开发网页的骨架,CSS开发网页皮肤,JS用于网页互动。即仅需维护一套代码,通过不同编译方式,适配PC端,ios移动端,android移动端。 在跨平台框架中,meteor 以快速开发著称。

二: Meteor 强大之处

1. 极速构建

a. 几条命令完成创建

b. 服务端客户端一体(屏蔽通讯实现)

c. 包含数据库

2.Plugin插件 丰富

3.包容第三方(如react)

4.官方文档完善

三:Meteor App 效果演示

meteor官网上有app 效果演示,如下面的截图。功能强大。

四:用meteor 快速实现 App

1. 创建

#curl https://install.meteor.com | /bin/sh 安装meteor

#meteor create a1_hello

#cd a1_hello

#meteor 运行

更改a1_hello.html 保存 网页会同步变化

浏览器访问http://localhost:3000会看到:

//----源码a1_hello.html 实现界面的显示






Welcome to Meteor!


{{> hello}} //调用模板hello


//定义模板hello (模块对外的显示)


Youve pressed the button {{counter}} times.

//{{counter} 调用模板hello里的对象counter




//----源码a1_hello.js 实现界面的互动

if (Meteor.isClient) { //检测是否是客户端,是则使用下面的代码运行

// counter starts at 0

Session.setDefault('counter', 0); //设置counter的键值为0 --- Session 用于处理 键值对(key-value)

Template.hello.helpers({ // 实现模板hello的 helpers方法

counter: function () { // 把对象counter和函数function 关联起来 (接口+实现)

return Session.get('counter'); //返回counter的键值

}

});

Template.hello.events({ // 实现模板hello的事件 click button

'click button': function () { //click button 是事件,function是事件触发的函数 (接口+实现)

// increment the counter when button is clicked

Session.set('counter', Session.get('counter') + 1); //使counter值加一

}

});

}

if (Meteor.isServer) { //检测是否是服务端,是则使用下面的代码运行

Meteor.startup(function () {

// code to run on server at startup

});

}

2. 列表显示

//----源码a1_hello.html 加入 列表显示

List

{{> task}}

list 1

list 2

list 3

//----源码 a1_hello.css 设置 显示效果

body { //设置 html中自带的body标签对象的 显示属性

font-family: sans-serif;

background-color: #315481;

background-image: linear-gradient(to bottom, #315481, #918e82 100%);

background-attachment: fixed;

position: absolute;

top: 0;

bottom: 0;

left: 0;

right: 0;

padding: 0;

margin: 0;

font-size: 14px;

}

.container { //设置自建的类名为container的对象的 显示属性

max-width: 600px;

margin: 0 auto;

min-height: 100%;

background: white;

}

header { //设置header对象的 显示属性

background: #d2edf4;

background-image: linear-gradient(to bottom, #d0edf5, #e1e5f0 100%);

padding: 20px 15px 15px 15px;

position: relative;

}

ul { //设置ul列表对象的 显示属性

margin: 0;

padding: 0;

background: white;

}

li { //设置li列表项对象的 显示属性

position: relative;

list-style: none;

padding: 15px;

border-bottom: #eee solid 1px;

}

3. 远程数据库存储

//----源码a1_hello.html 使用表单输入方式,添加列表内容显示











//----源码a1_hello.js 表单输入后能插入数据库中(MongoDB Collection)


Tasks = new Mongo.Collection("tasks"); //创建数据库连接(MongoDB collection) “tasks" 用于存储列表内容


if (Meteor.isClient) {


// This code only runs on the client


Template.body.helpers({


tasks: function () {


return Tasks.find({},{sort: {createdAt: -1}}); //查找数据库MongoDB内容并排序, 详见API文档 http://docs.meteor.com/#/basic/Mongo-Collection-find


}


});


Template.body.events({


"submit .new-task": function (event) { //实现对象new-task的submit事件的触发函数


// Prevent default browser form submit


event.preventDefault();


// Get value from form element


var text = event.target.text.value;


// Insert a task into the collection


Tasks.insert({


text: text,


createdAt: new Date() // current time


});


// Clear form


event.target.text.value = "";


}


});


}


if (Meteor.isServer) {


Meteor.startup(function () {


// code to run on server at startup


});


}


五:丰富组件


搜索组件 https://atmospherejs.com


使用account组件


Ÿ#meteor add accounts-ui


#meteor add accounts-password



六:开源的样例

#meteor create --example todos

#cd todos

#meteor

浏览器访问http://localhost:3000会看到

#meteor create --example localmarket

#cd localmarket

#meteor


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

摘要:Electron结合了Chromium、Node.js和用于调用操作系统本地功能的API,能够使用纯Javascript来创建桌面应用,具有跨平台、开发高效、模块隔离等技术优势。现分析了Electron的运行原理和...

关键字: 跨平台 桌面应用 Electron

摘 要:随着云计算、物联网、移动互联网等新技术的发展和信息化背景下教育云的推动,云书包的应用应运而生。但是 传统的云书包的建设通常都是指针对单一平台进行开发和建设,不能满足当前跨平台云资源共享的时代要求。针对该问题提 出...

关键字: 云计算 跨平台 混合云终端中间件平台 云书包

摘要:为了简化邻近异构分布式通信网络系统的组建并统一物联网通信框架,采用高通公司最新推出的AllJoyn开源框架,进行了Windows平台间通过WiFi-Direct方式传输文件的组网实验及VMware下Windows与...

关键字: AllJoyn 物联网 跨平台 近场无线通信 点对点数据传输

我们都知道,浏览一个网页,有两个很主要的“电脑”在共同运行,一台是远程的,为你提供网页数据的“服务器”,一台是你正在使用的客户端电脑。

关键字: javascript java

在各种网页制作技术论坛中,常常有人询问javascript与Java有什么区别,甚至有人误认为javascript就是Java。javascript与Java确实有一定的联系,但它们并不像我们想象的那样联系紧密,甚至可以...

关键字: javascript java

摘 要:随着科学技术的发展,智能家居生活也渐渐成为趋势。然而,高成本、操作复杂的智能家居也仅仅在豪宅中应 用。鉴于此种情况,我们有必要设计一种低成本、易操作的智能家居系统。将基于Wi-Fi的Web控制方法应用于智能家居中...

关键字: 智能家居 Wi-Fi Web技术 跨平台

nodejs和JavaScript的简单比较

关键字: nodejs javascript

js必备的内置对象,内置对象是ECMAscript标准以及定义好的,由浏览器厂商已经实现的标准对象 内置对象中封装了专门的数据和操作数据常用的API JavaScript中内置对象列表有

关键字: javascript 程序

3月16日,微软子公司、全世界最大的代码存放平台和开源社区Github表示,已同意收购代码分发初创公司NPM。微软高管表示,NPM目前拥有130万个软件包,每月支持750万次下载。微软希望永远让NPM对开发者保持开源和免...

关键字: javascript 微软

this是Javascript语言的一个关键字。 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如,   function test(){     this.x = 1;   }

关键字: javascript this
关闭
关闭