JavaScript使用DeviceOne开发实战(一) 配置和起步
2015 年 9 月 底,DeviceOne Release发布。至此,DeviceOne 基本完成了对多端的支持。基于 DeviceOne 可以:
- HTML5、Android、iOS、Windows 多端代码一次编写,各处复用;
- 实时简单部署。
- 本地化UI
在接下来的时间,我会通过一系列文章来介绍 DeviceOne。本文介绍环境配置以及如何建立一个简单的项目。(注:本篇文章 iOS 和 Android和Windows 开发都适用。)
目前使用 DeviceOne 开发可以在Windows 或者 Mac 系统进行。
下面介绍下DeviceOne环境搭建,不管是应用开发还是组件开发,都需要搭建开发环境,只需要3分钟就可以完成。
1. 硬件环境
- PC电脑或MAC电脑一台用于开发
- 移动设备一台用于调试和测试,手机或pad都可以(android、ios、windowsphone都可以),Android还可以尝试模拟器。
2. 软件环境
操作系统(MAC或Windows都支持)
Windows: 7 以上操作系统。
MAC:10.9 以上移动设备:
Android : 4.0以上操作系统
IOS : 7.0 以上操作系统
WinPhone :8.1 以上操作系统JDK:1.7版本及以上
3. 网络环境
- 外网环境:很多功能都需要有外网才能进行,App的开发和调试可以离线进行。
4. 注册DeviceOne开发者账户
- 要想使用DeviceOne开发应用,首先需要在www.deviceone.net上注册一个自己的开发者账号,注册的地址是 注册
5. 下载设计器(IDE)
用户需要下载和使用DeviceOne提供的设计器(IDE)来开发移动应用,设计器提供所见即所得的方式来构建UI,提供代码编辑器来编写标准的javascript或lua的逻辑脚本代码,使用设计器提供的即时调试功能和真机移动设备互动调试应用,最后通过设计器提供的打包功能来发布最终应用。
设计器目前包含2个大的版本,一个是基于Eclipse RCP的版本,一个是自己开发的只支持Windows的版本。我们推荐大家使用基于Eclipse的版本。
下载地址是http://docs.deviceone.net/ 平台—>下载中心
安装设计器,直接找到刚才下载好的zip文件。解压到您相应的位置。本设计器是免安装绿色版,Windows的版本直接到解压好的文件路径下找到DoStudio.exe,双击打开。Mac版本解压后直接双击dostuio.app就可以启动。在启动的过程中可能会碰到一些问题,可以参考新版设计安装和启动问题整理


开发环境搭建完成后,我们开始尝试开发第一个DeviceOne移动应用,下面一步步介绍一下Hello DeviceOne应用的构建方法
1. 新建应用
首先打开设计器,点击新建项目,新建项目需要联网,输入用户密码验证码后登陆。但是创建完之后是支持离线开发和调试的。


在弹出的对话框中填写新建项目的名称并选择编写程序想要使用的前端脚本语言,目前可以选择JavaScript和Lua两种,还可以配置基本项目模板,包含空页面模板,带listview的模板等等,还可以配置屏幕分辨率,都配置好后点击确定按钮,会自动生成一个工程项目

我们可以看到设计器主页面如下图,我们可以在设计器里左侧工程导航区树上看到所有代码,其中app.js是整个程序的入口,类似于其它开发语言的main函数。更多的文件结构介绍请参考“DeviceOne应用结构”文档。设计器的详细说明可以参考“设计器使用指南”文档。

我们可以尝试在“控件列表”里拖拽一个Label组件到index.ui文件对应的“视图设计”,设置Label的背景颜色为绿色。视图设计可以所见即所得的拖拽和设置一个界面元素的基本属性和专有属性。

我们再修改一下index.ui.js源代码,把Hello World改成Hello DeviceOne。在js文件里可以修改应用运行的逻辑。

To Be Continue .....
JavaScript使用DeviceOne开发实战(一) 配置和起步的更多相关文章
- JavaScript使用DeviceOne开发实战(三)仿微信应用
这是一个系列的文档,长期目标是利用DeviceOne开发一些目前使用广泛的优质手机应用,我们会最大化的实现这些应用的每一个功能和细节,不只停留在简单的UI模仿和Demo阶段,而是一个基本可以使用的实际 ...
- JavaScript使用DeviceOne开发实战(五)仿ZAKER应用
关于index底下切换的的组件,可以用ViewShower实现,详见: do_ViewShower http://bbs.deviceone.net/forum.php?mod=viewthread& ...
- JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
开发之前需要考虑系统的差异性,比如ios手机没有回退键,所以在开发时一定要考虑二级界面需要有回退键,否则ios的手机就会陷入到这个页面出不去了.安卓系统有回退键,针对这个情况需要要求用户在3秒钟之内连 ...
- JavaScript使用DeviceOne开发实战(二) 生成调试安装包
生成调试安装包 首先需要说明的是,这个步骤并不是每次调试App都必须的,大部分情况生成一次调试安装包,安装到手机上之后就可以忽略整个这个步骤.因为调试安装包包含了很多原生组件,都是可以定制勾选的,如果 ...
- JavaScript使用DeviceOne开发实战(六)点墨真实案例
qq群里的yan用户开发的App,基本完工大家可以看看 安装二维码是 QQ群:365443130
- AI应用开发实战 - 从零开始配置环境
AI应用开发实战 - 从零开始配置环境 与本篇配套的视频教程请访问:https://www.bilibili.com/video/av24421492/ 建议和反馈,请发送到 https://gith ...
- Spring Boot微服务电商项目开发实战 --- 基础配置及搭建
根据SpringBoot实现分布式微服务项目近两年的开发经验,今天决定开始做SpringBoot实现分布式微服务项目的系列文章,帮助其他正在使用或计划使用SringBoot开发的小伙伴们.本次系列文章 ...
- 《JavaScript 设计模式与开发实战》第一部分(1、2、3章)笔记
第1章:面向对象的JavaScript 动态类型和鸭子类型 编程语言按照数据类型大体可以分为两类: ① 静态类型语言:在编译时便已确定变量的类型. ② 动态类型语言:变量类型要到程序运行的时候,待变量 ...
- AI应用开发实战 - 手写识别应用入门
AI应用开发实战 - 手写识别应用入门 手写体识别的应用已经非常流行了,如输入法,图片中的文字识别等.但对于大多数开发人员来说,如何实现这样的一个应用,还是会感觉无从下手.本文从简单的MNIST训练出 ...
随机推荐
- C# 并行编程 之 轻量级手动重置事件的使用
目录(?)[-] 简单介绍 使用超时和取消 跨进程或AppDomain的同步 简单介绍 如果预计操作的等待的时间非常短,可以考虑使用轻量级的手动重置事件,ManualResetEventSlim. ...
- SQL查询符合条件的记录的总数
1. select count(*) from table; //统计元组个数 2. select count(列名) from table; //统计一列中值的个数 3. select co ...
- 手机safari图片上传竖变横处理
在手机safari上传图片时,竖着的照片会变成横着的照片,以下程序片段利用图片exif信息把图片旋转回去,代码抄自php.net官网. http://php.net/manual/zh/functio ...
- 使用Sublime Text3开发AngularJs
之前的Sublime环境安装插件弄得有点乱,卸载了重新安装: 1. 安装sublime: https://www.sublimetext.com/3 2. 注册: —– BEGIN LICENSE — ...
- 大前端学习笔记整理【一】CSS盒模型与基于盒模型的6种元素居中方案
概览 CSS盒模型,规定了元素框来处理元素的 内容.内边距.边框和外边距的方式 元素部分是指内容部分,也是最实际的内容,包围内容的称之为内边距,内边距外围是边框,边框外围就是外边距:且外边距是透明的, ...
- Guidelines for accessing OneDrive from an app
Guidelines for accessing OneDrive from an app https://msdn.microsoft.com/en-us/library/windows/apps/ ...
- 什么是F#
作者:Alexey Bykov@EastBancTech原文:http://bit.ly/1nGroOz翻译:kk1982.com转载请注明 简介 F#是由微软研究团队为.NET平台研发的一种现代函数 ...
- Mysql 分段统计
今天遇到个小问题觉得挺有意思,与大家分享. 需求是这样的,对数据库中的一张表做按时间的分段统计,结果只要每个区间的数量. select YEAR(create_time) as nian,MONTH( ...
- 解决php中json_decode的异常JSON_ERROR_CTRL_CHAR
该字符中含了ASCII码ETB控制符,即\x17导致json解析失败 (截图中显示ETB是因为用了Sublime text2) 解决方法如下:去掉0-31的控制符再进行decode $result = ...
- SQLServer数据库中创建临时表
IF object_id('tempdb..#jimmy') is not NULL BEGIN DROP TABLE #jimmy; END IF object_id('tempdb..#jimmy ...