(一)半小时开发一个APP
【前言】
HPP是什么?
HybirdApp的简称,详细介绍参见:HPP——让所有中小企业拥有自己的APP
说白了就是用html+css+js开发app,包括ios和android版本。
HBuilder
具体实现方式比较多,自行百度吧,就不一一叙述了,
之前比较推荐的HBuilder+mui+nativejs那套,相关资料:
Framework7
HBuilder优点有很多,参见上面的几篇文章,
缺点也有些,比较大的就是ui,和Framework7一比,完全是天壤之别,
从几年前的初识,到前段时间Framework7推出android版本的惊艳,
感觉总有人在耳语,这么好的东西不做app,可惜了,
结
说了半天,其实就是想说Framework7效果很好,但这个东西配合HBuilder玩不转,配合phonegap效果很好。
【前期准备】
1.安装phonegap
npm i -g phonegap@latest
安装过程参见官网:http://docs.phonegap.com/getting-started/1-install-phonegap/cli/不要害怕,只是几行代码,前提是有nodejs和npm,这个就自己百度吧。
2.下载phonegap developer app
iphone直接在app store搜索就行,android的话需要去google play,如果不能翻墙的同学可以下载这个
3.git clone
git地址:https://github.com/uikoo9/phonegap-framework7.git
4.目录介绍

demo1为android版本,demo2为ios版本
【android版】
1.cd到demo1/www下

2.phonegap serve
Framework7文件比较多,输入命令后耐心等会。

3.打开phonegap developer app
找一个安装了phonegap developer app的android手机,而且要保证可以访问到手机网络
打开app,然后输入上面serve地址,点击connect

4.效果

【ios版】
和android版本相似,不同的是进入demo2,并且使用iphone手机查看效果,如下:

【phonegap-serve】
phonegap serve 命令会在本机启动一个小型的web serve服务,
做前端的应该比较熟悉,和browser-sync类似,
当手机访问本机serve的时候,会将本机www目录下的文件传输到手机上,
进而基于phonegap developer app打包成一个app,方便调试,
这种真机调试方式也是比较好的,
1.不需要数据线,只需要手机上安装app
2.启动的serve可以监听文件修改,当有文件修改的时候立即更新
【Framework7单页面应用】
文件结构
从github上下载framework7之后,可以看到文件结构如下:

简单的介绍下:
1.dist:放构建后的资源文件,一些js,css之类的
2.kitchen-sink-ios:ios风格
3.kitchen-sink-material:android风格
进入kitchen-sink-ios文件夹下可以看到结构如下:

打开各个html,发现只有index是有完整结构的,也就是有html,head,body等,
而其他的html文件都只是一些html片段,例如popover.html文件:

SPA应用
前端发展迅猛,经常会听到一些名次,spa,mvvm,mvc之类的,
如果你的前端还是停留在切图做页面的层次,那么已经out的不行了,
所谓spa,就是单页面应用,
所谓单页面应用就是,进入的时候只加载一个主页面,然后其他你看到的跳转页面,都是以div的形式展现,
拿framework7来说,就是通过ajax加载不同的html文件中的html片段然后展现,
单页面的最大好处是:加载快,页面之间跳转可以做出各种效果,普通的href跳转是无能为力的。
前端mvc
可能有经验的人员已经想到了,你加载的url都是index.html,然后这个url不变化,只是加载各种div页面,
那么问题来了?当用户要直接访问about.html的时候怎么做,因为你只有一个index.html的url,
spa一般是通过#分隔外加路由实现的,例如访问about.html的时候url为index.html#about之类的,
所以说一个完善spa框架,路由部分是必不可少的,
或者说前几年的spa大火,激发了一波前端mvc框架,例如backbone,angularjs等,
mvvm
如果仔细想想,那是不是又会有一个问题,spa的主html+其他div的模式带来一个问题,
普通的href跳转的方式,服务器返回的是已经渲染号的html+data的一个整体,例如jsp,
但是spa的模式,通过ajax请求获取的是一段html代码片段,然后再次ajax请求data,
那么你到手的是html和data,并不是html+data的整体,
这个时候将data渲染到html最普通的方式就是js或者jq一个一个设置,想想都头大,
解决这个问题的就是js template,也就是js模版,例如juicer这个模版效果:

大大加快了data整合html的过程。
js template是一个data到html的单向数据绑定,而mvvm就是双向数据绑定。
结
1.spa
现在前端的迅猛发展,spa功不可没,虽然现在spa相对不那么火了。
2.phonegap过时?
有人和我说phonegap他12年就听说了,不是早过时了么,
phonegap火的时候,对应的ui最佳搭档是jquery ui,体积大效果差,外加硬件跟不上,
这些才是phonegap被诟病的缘由,而并不是phonegap本身不好,
phonegap,hbuilder这类工具只是一个打包工具,将你的html+css+js打包正app,只是做了这个事情,
只要hybirdapp还存在一天,phonegap做为打包工具就不会过时,
而且目前手机硬件上来了,phonegap+spa的方式应该也是一种不错的体验。
转载:http://uikoo9.com/book/chapterDetail/105
(一)半小时开发一个APP的更多相关文章
- 开发一个 app 有多难?
171 个回答 默认排序 道衍天机 有事情的加微信1293190838找我 1,150 人赞同了该回答 ----------------------------------------------- ...
- 2016开发一个app需要多少钱?app开发需要哪些成本-app开发问题汇总-广州达到信息
作为一个APP开发从业者,被外行的朋友们问及最多的问题是,"做一个网站需要多少钱?"或者"开发一个APP需要多少钱?".作为开发过完整网站项目和手机APP的人, ...
- 开发一个app需要多少钱
App应用开发是目前最热门的产业,很多企业都想通过app的开发来进入移动互联网市场分一杯羹. 那么你一定很想知道开发一个app需要多少钱吧?那下面企业帮就来帮大家计算一下费用吧. 面对app抄袭成风的 ...
- 我想外包开发一个APP,需要多少钱,多少时间?
在一个阳光明媚的下午,我正瘫坐在椅子上改bug.忽然有人给我发微信:“我想做个app,多长时间,多少钱?” 从我从业iOS开发到现在,这个问题被问过无数次,比那句:“你是程序员,那你会修电脑吗?”还要 ...
- 后移动互联网时代:到底还要不要开发一个App?
后移动互联网时代,到底是什么样的一个时代? 首先,后移动互联网时代中,产生头部应用的几率变小了,像微信这样巨头式的App很难在产生第二个.其次,后移动互联网时代,物联网发展迅速,所有的智能硬件都需要一 ...
- 成都开发一个app大概好多钱?
目前,移动APP已成为很多小企业业务销售的新渠道之一,于是问题来了,一般想到要开发一个自己的app,就想问:开发一个app好多钱?去百度.360.搜狗等等平台去找相关的app开发公司咨询或者问问朋友有 ...
- 开发一个App要多少钱?APP开发报价单,APP开发外包有哪些注意事项-广州达到信息www.ddapp.com.cn
来源:广州达到信息著作权归广州达到信息所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作为一个APP开发从业者,经常会有人问到:开发一个App要多少钱?下面针对这个问题来好好解答解答正经的谈 ...
- 开发一个App的成本是多少?
英文出处:savvyapps.欢迎加入翻译小组. 在最近的一个会议上,一个叫Bob的老顾客引用了<App Savvy>(<放飞App:移动产品经理实战指南>)中探讨研发一个io ...
- 行内人解读开发一个App需要多少钱?
对于很多互联网的创业者来说,评估前期的创业成本是很重要的.在这几年的创业大潮中,伴随着“互联网+”和“互联网思维”的普及,很多创业项目选择了开发app作为创业项目的载体.在我接触到的很多创业者,找Ap ...
随机推荐
- 图解javascript this指向什么?
JavaScript 是一种脚本语言,支持函数式编程.闭包.基于原型的继承等高级功能.JavaScript一开始看起来感觉会很容易入门,但是随着使用的深入,你会发现JavaScript其实很难掌握,有 ...
- Elastic Image Slider 带缩略图功能的幻灯片
今天我们要为您展示如何创建一个简单的弹性幻灯片,带有缩略图预览功能.Elastic Image Slider 这款幻灯片能够自动调整以适应到其父容器,我们可以通过幻灯片使用缩略图预览或幻灯片的自动播放 ...
- 20款时尚的 WordPress 企业模板【免费主题下载】
在这篇文章中,我们收集了20款时尚的 WordPress 企业模板.WordPress 作为最流行的博客系统,插件众多,易于扩充功能.安装和使用都非常方便,而且有许多第三方开发的免费模板,安装方式简单 ...
- javascript创建对象的几种方式
javascript创建对象简单的说,无非就是使用内置对象或各种自定义对象,当然还可以用JSON:但写法有很多种,也能混合使用.主要为下面几种:1.对象字面量的方式 person={firstname ...
- SAP程序代码中RANGE表的用法禁忌
最近经常有出现以上的SQL代码导致程序DUMP,SAP错误日志如下: 经过检查RANGE表GR_MATNR,当用于WHERE条件是,只限较小的数据量的情况(约100条左右): 若为大数据量 ...
- ArcGis设置到 Oracle 的连接
设置到 Oracle 的连接 地理数据 » 管理地理数据库 » Oracle 中的地理数据库 要建立从客户端计算机到 Oracle 数据库的连接,必须在客户端计算机上安装 Oracle 客户端应用程序 ...
- System.currentTimeMillis()与SystemClock.uptimeMillis()
1.System.currentTimeMillis()获取的是系统的时间,可以使用SystemClock.setCurrentTimeMillis(long millis)进行设置.如果使用Syst ...
- Android对话框
这周过的实在是艰辛,自打这周二起我的本本就开始闹"罢工",最后还是重装系统了事. . . 只是可怜了我的那些被格了的软件(悲伤辣么大)! 往事不要再提,人生几度风雨... 简 ...
- 深入.net(数据类型)
C#究竟为我们提供了哪些“数据类型”供我们使用?这些类型有什么样的“特征”? 数据类型的分类: --- 数据类型是存放数据的容器.那么我们就以它们“存放数据的方式”分类! 1.值类型:变量中直接存放着 ...
- OC中的protocol
一. 简单使用 1. 基本用途 可以用来声明一大堆方法(不能声明成员变量) 只要某个类遵守了这个协议,就相当于拥有这个协议中的所有方法声明 只要父类遵守了某个协议,就相当于子类也遵守了 2. 格式 协 ...