Sublime用户如何快速高效开发跨平台App
2015年9月15日,APICloud举办了一周年开源分享会,发布开源插件支持Sublime用户开发跨平台App,APICloud 开源技术负责人周兴海分享了Sublime关于插件方面相关的内容。

Sublime是一款关注度很高的的开发工具,有以下几个特点:
主流前端开发编辑器
体积较小,运行速度快
文本功能强大
支持编译功能且可在控制台看到输出
内嵌python解释器支持插件开发以达到可扩展目的
Package Control:ST支持的大量插件可通过其进行管理
接着,周兴海对APICloud三款插件进行了展示:
第一个是Loader插件;
第二个是Snippet插件;
第三个是Package插件;
上述三个插件为大家在Sublime Text下基于APICloud开发App提供更多的便捷性,前两款已经通过Package Control审核,现在可以直接通过Package Control下载使用。
他进一步强调:通过上述插件,首先在开发过程中可以自动提示补全代码;开发后可以把应用widget包推送到安卓手机或海马模拟器上,并通过loader对widget包进行真机同步的演示;最后可以对开发好的包按照APICloud上传代码的格式进行压缩,便于用户直接把代码上传到云平台。
接下来主要讲解了APICloudLoader的目录文件及结构,关键文件如下:
首先是Load.apk,这是官方的loader,可以通过APICloud官网直接下载,名字必须是load.apk。Load.conf是相应的配置文件。Custor-Loader目录中定义自定义Loader的相关信息,结构同官方loader类似,如果大家想装一个自定义Loader的话,新建一个文件夹,放入相应的apk文件和配置文件即可。
widget文件夹包含4个widget模板包,分别放置默认的widget项目、底部导航项目、首页导航项目和侧边导航项目的模板,创建应用的时候,可以从菜单中选这四个选项中的一个,然后从模板里面拷贝代码到目标目录的工程,并把config.xml中的应用名称做相应替换。
Startinfo,因为APICloud官方Loader支持多个widget应用放到其中,默认启动哪个应用需要从名称为startinfo的文件进行读取。这个文件会被自动推送到远端设备。
接下来周兴海在现场展示了如何基于Sublime Text做插件:
首先Sublime Text要有一个控制台窗口,通过View->show console显示出控制台,这个控制台很重要,要注意控制台的输出,通过控制台可以了解插件python文件是否有语法错误以及相应的控制台输出。
SublimeText插件支持的命令类型有三种,分别是:
ApplicationCommand
WindowCommand
TextCommand
活动现场还进行了真机同步实现原理及源码相关讲解,真机同步插件包含下面3个子命令,分别是:
新建APICloud项目
真机同步
压缩widget包
真机同步插架所包含的Tools目录中有一个adb命令,真机同步这个插件主要就是调用adb命令去把本地的包拷贝到远程的设备上,启动这个Loader,Loader会自动去找对应文件位置的这个widget包,然后根据widget包启动应用。然后详细讲解了进行真机同步用到的几个adb命令的详细用法。
最后,为大家主要展示了真机同步子命令的源代码的结构:
首先介绍了插架中is_enabled和is_visible两个函数的使用方式和场景,然后介绍了详细的代码内容。真机同步中的命令主函数,主要是通过调用Load函数完成的,load函数封装了所有adb命令的调用逻辑结构。其他的一些函数都是对adb命令的封装。接着,对Load函数进行了讲解:
首先检测一下基本环境信息,比如adb命令是否存在,这个检测通过以后,需要查看custom-loader下是否有待同步appId相同名称的目录。如果有的话就需要用自定义load的apk安装包。
当把widget信息推送到远端设备后,需要把当前设备已安装的loader版本与本地loader版本信息进行对比。如果没查到设备上loader版本信息,则说明设备loader没有安装,那需要安装这个本地loader;如果设备上版本号比本地版本号小也要装loader,首先要卸载设备上loader包,然后再装新的loader,装完以后,启动远程loader的就可以完成真机同步。
然后,创建应用这个子命令。新建APICloud项目这个操作主要用到了函数show_input_panel,这个是一个Sublime Text的api,它总共有五个参数,详细可参考官方文档。当用户输入用户名后点击回车后,会把相关模板拷贝到当前工程目录并修改拷贝的工程项目名称。
最后他也表示APICloud很鼓励大家去做一些更适合自己开发的插件,希望大家能通过自己的插件和我们官方的插件一起使用更好的帮助大家在Sublime Text里面去开发基于APICloud的应用,提高大家的工作效率。
2015年9月15日,APICloud发布多种开发工具支持策略,使用任何你喜欢的HTML5工具,都可以开发APICloud应用,其中包括了类似Sublime Text3、Eclipse、Webstorm、Notepad++、VIM、Aptana Studio3以及微软最新的Visual Studio Code等等一系列,促进中国移动平台行业生态发展的合作心态,服务开发者和企业。「十几款开源项目代码共享在了基于Git的代码托管与在线协作平台GitCafe上,希望能通过在GitCafe上开源带给开发者更多便利。」
Sublime用户如何快速高效开发跨平台App的更多相关文章
- 带你从零学ReactNative开发跨平台App开发(一)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发(九)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发[expo 打包发布](八)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发(七)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发(二)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发-[react native 仿boss直聘](十三)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发(十一)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发(十)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发(六)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
随机推荐
- [转]C#将image中的显示的图片转换成二进制
本文转自:http://www.cnblogs.com/shuang121/archive/2012/07/09/2582654.html .将Image图像文件存入到数据库中 我们知道数据库里的Im ...
- 合金装备V 幻痛 制作技术特辑
合金装备V:幻痛 制作特辑 资料原文出自日版CGWORLD2015年10月号 在[合金装备4(Metal Gear Solid IV)]7年后,序章作品[合金装备5 :原爆点 (Metal Gea ...
- LR处理文件上传和下载
文件上传 在业务场景有上传操作时,使用LR能录制到上传操作,代码如下.在录制的原始代码中,Filename的Value是上传的文件名,name的Value是一串文件名的加密串,file的Value也是 ...
- 大话数据结构(五)(java程序)——顺序存储结构的插入与删除
获得元素操作 对于线性表的顺序存储结构来说,我们要实现getElement操作,即将线性表的第i个位置元素返回即可 插入操作 插入算法思路: 1.如果插入位置不合理,抛出异常 2.如果插入表的长度大于 ...
- bug 发表文章不显示图片
bug 描述: 现象是我们这不能发布图片, 测试说患教方向是可以正常发布图片的(还是要感激测试,正是他们鞭策我们不断挑战困难,解决之,从而提高自己姿势水平). 图片没上传上去, 服务端协助查找发现没调 ...
- HK游记 Day2迪斯尼(下)
接下来我们要去看狮子王庆典,绕啊绕啊,终于进场了,说实话我对一大帮人扮演动物歌舞表演不是很感冒,静倒是觉得很好看,印象最深的是狮子王的主题曲,还有大象车,长颈鹿车,狮子王车,静举着手机拍视频. 看完表 ...
- Technical analysis of client identification mechanisms
http://www.chromium.org/Home/chromium-security/client-identification-mechanisms Chromium > Chro ...
- ORACLE的安装与网页版创建表空间的简单操作以及PLsql的简单操作
1.oracle的安装: 安装简单易学,在这里不做解释.下载看装包后耐心等待,注意安装目录不要有中文字符,尽量按照指定目录进行安装.安装完成后会占用有大约5g的内存. 如果要卸载oracle,需要用其 ...
- 【转】 使用Redis的Pub/Sub来实现类似于JMS的消息持久化
http://blog.csdn.net/canot/article/details/52040415 关于个人对Redis提供的Pub/Sub机制的认识在上一篇博客中涉及到了,也提到了关于如何避免R ...
- iframe框架里镶嵌页面;<marquee>:滚动效果;<mark>做标记;内联、内嵌、外联;选择器
标签:①②③④⑤⑥⑦★ 框架: 一.frameset:(框架集) 1.如果使用框架集,当前页面不能有body 2.cols="300,*":左右拆分,左边宽300,右边宽剩余 3. ...