仅用移动开发服务:开发native应用
不花一分钱,就可以做native应用开发,这在以前是根本不敢想象的事儿。然而在今天,移动开发工具和服务已经五花八门,聪明的开发者只要随心所欲的抓取几个顺手的,就能完成native开发。今天给大家介绍的思路其实很简单:
1. 使用Nitrous.IO云端编程环境,开启Node.JS的box模块。
2. 然后使用Github账号连接上Node.JS box。
3. 内容部分,可以使用Ionic框架和Web代码,快速开发出我们需要的界面。
4. 使用PhoneGap编译出native的Android app。
5. 最后还可以使用Firebase连接上你的app,作为后端服务。
Nitrous.IO
Nitrous.IO
提供一个在线的集成开发环境,Nitrous.IO把编程环境完全移植到云端平台,开发者只要网络连接进Nitrous.IO,就可以不用在本地搭建的开
发环境下进行编程,解决了在多种语言编程下,编程环境冲突问题。截至目前,Nitrous.IO支持Ruby、Node.js、Python和Go这四种
编程环境。
此外,Nitrous.IO为开发者提供一个包括拥有384MB内存和750MB运行在云服务平台上的“沙盒”开发环境(Box)。开发者可以为不同的编程语言,创建不同的Box,不同的Box之间互不影响,并且每个Box还可以独立启动运行和停止。
一
旦你在Nitrous.IO中创建了Node.JS
box你就可以使用在线的编程环境了。为了更方便的进行版本管理,可以连接到你的Github账户,这里需要你添加一个Public SSH
key,这样Nitrous.IO和你的Github账户高就挂起来了。你需要在GitHub上创建一个新的项目,把源的地址挂到Nitrous.IO
中。
相关链接:Nitrous.IO官网、Nitrous.IO在Mobilehub主页
Ionic
使
用native代码开发出来的应用,常被冠以运行速度更快,更加流畅,用户体验更好等高帽子。但是倔强的Web设计师和开发人员,总是想找到这么一种途径
来使用Web代码。他们认为Web开发更加简单方便。(虽然也要面对各种JS的虐心)这个名为Ionic的前端框架,又是玩跨界的。它可以在构建
native应用中,使用HTML5、CSS3和JavaScript。欢迎大家踊跃尝试,并分享试用心得给我们。
Ionic
并不是一个可以完全替代PhoneGap的方案,也不是一个真正的JavaScrip框架,它的重点是在于UI交互设计。这个框架附带了SASS,并且可
选各种AngularJS扩展,有许多部件可以调用,如按钮、切换、页眉页脚、标签栏等等。并且最令人印象深刻的是,Ionic团队制作了一套很棒的教程
和示例。
在这里,我们要实现一个很简单的to-do-list的应用,记录我们每日都作了那些工作。
相关链接:Ionic官方网站、Ionic的Mobilehub主页
PhoneGap
PhoneGap
是一款开源的免费移动应用开发框架,能够让开发者使用HTML、JavaScript、CSS等Web技术来开发跨平台移动App,支持iOS、
Android、BlackBerry、webOS、Windows
Phone、Symbian以及bada系统平台。在使用PhoneGap之前,你可能需要一个AdobeID,或者使用Github账号注册。
登陆之后建立一个新的应用程序,选择刚才在Github上建立的repo,一旦添加好这些,就可以选择Build App了。
把刚刚编译好的APK包,装在Android手机上,界面都可以点击,但也许你发现它还不能对数据库进行读写。前端的皮我们已经画好,下面我们需要强大的后端服务支持。
相关链接:PhoneGap官方网站、PhoneGap在Mobilehub主页
Firebase
Firebase
是一家位于旧金山的后端服务提供商,公司于去年启动了其JavaScript API和云服务,主要为Web
App开发者提供后端数据的实时处理服务。使用Firebase的开发者无需担心数据存储问题,无需架设自己的服务器,就可以让自己的App实时更新数
据,App用户也无需刷新页面获取新数据。据悉,Firebase启动一周后已拥有超过4000名开发者注册。无论是Android还是iOS开发者,都
可以使用Firebase开发本地应用。
上
文已经提到,Ionic可以轻松调用各种AngularJS扩展,在这里我们可以使用AngularFire来让App与Firebase连接。挂接很简
单,只需要在index.html文件的<head>部分中加入调用script即可。当然许多核心的代码还少不了需要进一步修改和完善。
<p><!-- Firebase and AngularFire Extensions --></p><p><script src='https://cdn.firebase.com/v0/firebase.js'></script>
<span style="font-size: 14px; line-height: 24px;">
<script src="https://cdn.firebase.com/libs/angularfire/0.5.0-rc1/angularfire.js"></script></span></p>
之后需要进行一些测试,你能在Firebase后台预览这些时实的数据。
相关链接:Firebase官网、Firebase在Mobilehub主页
应用测试
重新在PhoneGap中Build出新的APK包,将其考入手机中,就可以欣赏自己的作品了。你可以添加每日的任务条目,编辑内容,实现一个to-do-list应用最基本的功能。
移动开发工具
下一步?之后需要我们对产品进行不断的打磨,设计好看的图标,优雅的动画效果,以及更多功能。通过使用这些移动开发服务和工具,我们可以不花费一分钱,将所有的精力都集中在开发本身。
仅用移动开发服务:开发native应用的更多相关文章
- 构建微服务开发环境8————Hello 微服务
[内容指引] 1.用IDEA打开微服务项目; 2.更新Maven依赖: 3.IntelliJ IDEA JDK配置; 4.修改代码: 5.运行微服务: 6.将代码变更提交到Github. 经过前面的努 ...
- Expo大作战(三)--针对已经开发过react native项目开发人员有针对性的介绍了expo,expo的局限性,开发时项目选型注意点等
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- 【React Native开发】React Native应用设备执行(Running)以及调试(Debugging)(3)
),React Native技术交流4群(458982758),请不要反复加群.欢迎各位大牛,React Native技术爱好者加入交流!同一时候博客左側欢迎微信扫描关注订阅号,移动技术干货,精彩文章 ...
- 黑少微服务商店之Iron Cloud微服务开发云
近日,由黑少微服务研发团队推出的Iron Cloud微服务开发云已经正式对外提供服务,这是国内第一家基于云端操作的微服务专业开发工具. Iron Cloud 微服务开发云(www.ironz.com) ...
- WebService 服务开发
开发 WebService 服务首先需要根据接口的要求编写相关的 wsdl 文件.编写 wsdl 文件需要先对 XML 语法.XML Schema 语法以及 SOAP 语法有一些简单了解. 假设需要提 ...
- 开发者福音!面向Web场景的云开发服务正式开放!
导 语 继支持小程序开发之后,云开发也支持Web使用啦!开发者们可以使用云开发提供的云端能力,直接开发网站应用,如PC端网页.公众号中的网页等.由此开发者可以在网站应用中借助云函数实现业务逻辑,通过与 ...
- Go单体服务开发最佳实践
单体最佳实践的由来 对于很多初创公司来说,业务的早期我们更应该关注于业务价值的交付,并且此时用户体量也很小,QPS 也非常低,我们应该使用更简单的技术架构来加速业务价值的交付,此时单体的优势就体现出来 ...
- 移动开发--Hybrid和Native混合开发-->HybridApp 、NativeApp、WebApp
1.1. APP三种开发模式 智能手机之普及不用多说,手机APP渗投到各个行业:电商(淘宝.京东等).金融(各手机行业.P2P借贷等).医疗(智慧医疗).交通(滴滴.Uber等).教育(慕课网 ...
- 【工业串口和网络软件通讯平台(SuperIO)教程】七.二次开发服务驱动
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1 服务接口的作用 围绕着设备驱动模块采集的数据,根据需求提供多种应用服务,例如:数据上传服务.数 ...
随机推荐
- mongodb you can't add a second
问题信息: Due to limitations of the com.mongodb.BasicDBObject, you can't add a second 'createTime' expre ...
- 洛谷P1057 传球游戏(记忆化搜索)
点我进入题目 题目大意:n个小孩围一圈传球,每个人可以给左边的人或右边的人传球,1号小孩开始,一共传m次,请问有多少种可能的路径使球回到1号小孩. 输入输出:输入n,m,输出路径的数量. 数据范围:4 ...
- flask数据操纵
Flask ORM 在Django框架中内部已经提供ORM这样的框架,来实现对象关系映射,方便我们操作数据库.如果想在Flask中也达到这样效果,需要安装一个第三方来支持. SQLAlchemy是一个 ...
- Javascript专题(三)c.各种轮播--上下滚动轮播(面向对象版本)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Angular学习笔记 ——input 标签上的【name属性】和【ngModelOptions属性】
利用“@angular/forms" 创建<form>表单的时候,系统默认会创建一个”FormGroup"的对象. 使用带有“ngModel"的”<in ...
- C# AD 验证登陆
using System.DirectoryServices; using System.DirectoryServices.AccountManagement; using (DirectoryEn ...
- Luogu P3391 文艺平衡树(Splay or FHQ Treap)
这道题要求区间反转...好东西.. 对于Splay:把l-1旋到根,把r+1旋到根的右儿子,这样r+1的左儿子就是整个区间了,然后对这个区间打个tg 注意要插-Inf和Inf到树里面,防止越界,坐标要 ...
- tomcat内存配置
-Xms521M-Xmx1024M-XX:PermSize=64M -Xms256m -Xmx1024m -XX:MaxPermSize=256m
- centos6安装bochs
安装包 bochs 2.6.8 平台 centos6 前提依赖 yum groupinstall -y "Server Platform Development" "De ...
- cucumber的疑问解答
在cucumber的自动化测试框架下面,在一个steps文件中定义的@page对象,可以在其他的不同的steps文件中调用,在整个的场景生命周期中都是有效的 原因:cucumber开始执行时,一次性把 ...