不花一分钱,就可以做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应用的更多相关文章

  1. 构建微服务开发环境8————Hello 微服务

    [内容指引] 1.用IDEA打开微服务项目; 2.更新Maven依赖: 3.IntelliJ IDEA JDK配置; 4.修改代码: 5.运行微服务: 6.将代码变更提交到Github. 经过前面的努 ...

  2. Expo大作战(三)--针对已经开发过react native项目开发人员有针对性的介绍了expo,expo的局限性,开发时项目选型注意点等

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  3. 【React Native开发】React Native应用设备执行(Running)以及调试(Debugging)(3)

    ),React Native技术交流4群(458982758),请不要反复加群.欢迎各位大牛,React Native技术爱好者加入交流!同一时候博客左側欢迎微信扫描关注订阅号,移动技术干货,精彩文章 ...

  4. 黑少微服务商店之Iron Cloud微服务开发云

    近日,由黑少微服务研发团队推出的Iron Cloud微服务开发云已经正式对外提供服务,这是国内第一家基于云端操作的微服务专业开发工具. Iron Cloud 微服务开发云(www.ironz.com) ...

  5. WebService 服务开发

    开发 WebService 服务首先需要根据接口的要求编写相关的 wsdl 文件.编写 wsdl 文件需要先对 XML 语法.XML Schema 语法以及 SOAP 语法有一些简单了解. 假设需要提 ...

  6. 开发者福音!面向Web场景的云开发服务正式开放!

    导 语 继支持小程序开发之后,云开发也支持Web使用啦!开发者们可以使用云开发提供的云端能力,直接开发网站应用,如PC端网页.公众号中的网页等.由此开发者可以在网站应用中借助云函数实现业务逻辑,通过与 ...

  7. Go单体服务开发最佳实践

    单体最佳实践的由来 对于很多初创公司来说,业务的早期我们更应该关注于业务价值的交付,并且此时用户体量也很小,QPS 也非常低,我们应该使用更简单的技术架构来加速业务价值的交付,此时单体的优势就体现出来 ...

  8. 移动开发--Hybrid和Native混合开发-->HybridApp 、NativeApp、WebApp

    1.1.     APP三种开发模式 智能手机之普及不用多说,手机APP渗投到各个行业:电商(淘宝.京东等).金融(各手机行业.P2P借贷等).医疗(智慧医疗).交通(滴滴.Uber等).教育(慕课网 ...

  9. 【工业串口和网络软件通讯平台(SuperIO)教程】七.二次开发服务驱动

    SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.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 ...

  2. 洛谷P1057 传球游戏(记忆化搜索)

    点我进入题目 题目大意:n个小孩围一圈传球,每个人可以给左边的人或右边的人传球,1号小孩开始,一共传m次,请问有多少种可能的路径使球回到1号小孩. 输入输出:输入n,m,输出路径的数量. 数据范围:4 ...

  3. flask数据操纵

    Flask ORM 在Django框架中内部已经提供ORM这样的框架,来实现对象关系映射,方便我们操作数据库.如果想在Flask中也达到这样效果,需要安装一个第三方来支持. SQLAlchemy是一个 ...

  4. Javascript专题(三)c.各种轮播--上下滚动轮播(面向对象版本)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Angular学习笔记 ——input 标签上的【name属性】和【ngModelOptions属性】

    利用“@angular/forms" 创建<form>表单的时候,系统默认会创建一个”FormGroup"的对象. 使用带有“ngModel"的”<in ...

  6. C# AD 验证登陆

    using System.DirectoryServices; using System.DirectoryServices.AccountManagement; using (DirectoryEn ...

  7. Luogu P3391 文艺平衡树(Splay or FHQ Treap)

    这道题要求区间反转...好东西.. 对于Splay:把l-1旋到根,把r+1旋到根的右儿子,这样r+1的左儿子就是整个区间了,然后对这个区间打个tg 注意要插-Inf和Inf到树里面,防止越界,坐标要 ...

  8. tomcat内存配置

    -Xms521M-Xmx1024M-XX:PermSize=64M -Xms256m -Xmx1024m -XX:MaxPermSize=256m

  9. centos6安装bochs

    安装包 bochs 2.6.8 平台 centos6 前提依赖 yum groupinstall -y "Server Platform Development" "De ...

  10. cucumber的疑问解答

    在cucumber的自动化测试框架下面,在一个steps文件中定义的@page对象,可以在其他的不同的steps文件中调用,在整个的场景生命周期中都是有效的 原因:cucumber开始执行时,一次性把 ...