javababel6 编译jsx不成功手机APP成功后怎么怎么管理APP

需求发布后1小时内收到服务商响应每个需求平均有10个服务商参与95%以上的需求得到了圆满解决所有需求不向雇主收取任何佣金年终总结这么写,升职又加薪
编写一个app的后台(java)
有相似问题想解决?专业顾问来帮助您
匹配服务商
选择服务商,签单
服务商工作
验收并付款
已投标服务商
综合评分:5颗星
速度:5.00
服务:5.00
态度:5.00
好评率:100%
共有2个服务商参与报价,查看更多服务商报价
参与报价,开始赚钱
提交你的报价和方案
中标后交付作品
获得任务赏金
极速:10分钟急速响应
高品质:精选服务商提供服务
放心:不满意可退款
APP成品套餐
APP成品源码套餐
交易成功的需求
APP开发相关需求如何把应用程序app编译进android系统 - 无语 - ITeye技术网站
博客分类:
转载:
http://ywxiao66./blog/static//
------------------------------------------------------------------
把常用的应用程序编译到img文件中,就成了系统的一部分,用户不必自己安装,当然也卸载不了;
同时也可以删减系统自带的应用程序,精简系统;
1.\build\target\product 目录下generic.mk文件:
PRODUCT_PACKAGES := \
AccountAndSyncSettings \
DeskClock \
AlarmProvider \
Bluetooth \
Calculator \
Calendar \
CertInstaller \
DrmProvider \
Gallery3D \
LatinIME \
Launcher2 \
我们添加一个testMid \ 应用名称。
2.把testMid包放入
\packages\apps 目录下,修改android.mk文件。
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := testMid
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
注:LOCAL_PACKAGE_NAME := testMid (包名必须和generic.mk中添加的相同)
编译源码,可以看到在
\out\target\product\smdkv210\system\app
目录下生存了testMid.apk了。这时system.img也包含了此应用。
-------------------------------------------------------------------
特殊情况:有时,应用需要包含jar包,这时的app导入源码时会出现问题:
MODULE.TARGET.JAVA_LIBRARIES.libarity already defined by ... stop
由于 LOCAL_STATIC_JAVA_LIBRARIES := libarity& 会引发错误信息。
目前解决方法是:
\build\core 目录下修改base_rules.mk
注释掉错误信息:
ifdef $(module_id)
#$(error $(LOCAL_PATH): $(module_id) already defined by $($(module_id)))
endif
$(module_id) := $(LOCAL_PATH)
--重新编译,这时可以通过了。
& (2)、删除原厂(Telchips)带源码的应用程序,如DTV_DVBT
& 在/device/telechips/m801/device.mk
& 注释掉相应语句:
& # PRODUCT_PACKAGES += \
& #&&& SampleDVBTPlayer \
& 同时,在/out/target/product/m801/system/app 找到相应的.APK包,并删除
浏览: 92040 次
来自: 深圳
原来是要这样子滴,谢谢博主咯!当前访客身份:游客 [
拥有积分:135
这家伙太懒,还没有签名!
解答题中心
java 后台框架 支持APP接口调用 APP后台 手机后台框架
( 19:11:47) &|
&评论(0)&&|
&阅读次数(3662)|
人收藏此文章,
开发快报: 页面打印功能,websocket 强制下线功能,玩转websocket技术&&【金牌】
A 代码生成器(开发利器);&&
& &增删改查的处理类,service层,mybatis的xml,SQL( mysql& &和oracle)脚本,& &jsp页面 都生成
& &就不用写搬砖的代码了,生成的放到项目里,可以直接运行
B 阿里巴巴数据库连接池
&&数据库连接池&&阿里巴巴的 druid。Druid在监控、可扩展性、稳定性和性能方面都有明显的优势
C 安全权限框架
&&Shiro 是一个用 Java 语言实现的框架,通过一个简单易用的 API 提供身份验证和授权,更安全,更可靠
D ehcache 自定义二级缓存;
&&是一个纯Java的进程内缓存框架,具有快速、精干等特点
&&是一种广泛使用的开源Java分布式缓存。
E 微信接口开发(2.5版本新增)(后续会加入Activiti5 工作流 )
-------------------------------------------------------------------------------------------------------------------------
1. 模块化、服务化,流程化,耦合度低、扩展性好,灵活度高,工具类封装完整,干净利索,调用简单方便 2. 提供Rest服务,支持APP手机应用(android和ios)接口、php、.net、易语言、VB等第三方接口调用 3. 全新高大尚HTML5+css3.0+bootstrap响应式开发界面UI,( 手机 PC 平板 截图在下面)、前沿.&&spring restful 风格 4. 框架搭建完善成熟,在此基础上做过很多项目,系统具有并发处理、分布式、稳定性。 5. 系统功能完善,此为框架平台,文档、注释齐全,提供技术支持,专门供二次开发 6. 在此基础上可二次开发(OA、ERP、CRM ,医疗管理、金融、网站后台、APP后台、电子商务、商城(赠送UI)等等
7.我们这边是公司,主要业务是定制开发,&&此系统为我们平时给客户做项目用的,经过很多项目实战考验
&&-------------------------------------------------------------------------------------------------------------------------
1. 组织管理:角色管理,分角色组和成员,有组权限和成员权限。
2. 系统用户:对各个基本的组会员增删改查,单发、群发邮件短信,导入导出excel表格,批量删除
3. 会员管理:对前台用户管理,分配会员级别,到期时间,状态,联系信息等资料
4. 菜单管理:增删改查菜单 ztree(自定义菜单)业务菜单和系统菜单分离
5. 数据字典:无限级别,支持多级别无限分类。内设编号,排序等
6. 系统设置:修改系统名称,邮件服务器配置,短信账号设置,图片水印配置,微信配置
7. 代码生成:打开代码生成器模块& &&&
8. 图库管理:对批量上传的图片统一管理
9. 性能监控:监控整个系统的性能,SQL监控,SQL防火墙,URL监控,SPRING监控,SESSION监控等
10. 接口测试:POST or GET 方式检测系统接口,参数加密,json返回结果,计算服务器响应时间
11. 发送邮件:单发,群发邮件& &
12. 置二维码:生成 or&&解析二维码& &&&
13.地图工具:经纬度操作
即时通讯:打开即时聊天窗口
在线管理:(统计在线人数和在线列表,可强制某用户下线),同一用户只能在一个客户端登录
打印测试:页面打印预览测试
-------------------------------------------------------------------------------------------------------------------------
菜单权限:分配给每个角色不同的菜单权限, 每个角色看到的菜单不同
按钮权限:独立分配不同的角色不同的功能权限,增删改查权限分配具体到不同的菜单
支持多用户分权限管理后台,&&权限具体到不同的菜单不同的按钮
--------------------------------------------------------------------------------------------------------------
信息模块(小项目代码中)
新闻管理:新闻的维护、发布、权重排序等 采用百度ueditor富文本框
公告管理:公告的维护、发布
广告管理:广告的维护、发布,状态维护,上传广告图片
友情链接:友情链接的维护、状态维护
特别推荐:特别推荐、状态维护
关注回复:微信用户关注公众号回复
文本回复:匹配关键词进行文本回复
图文回复:匹配关键词进行图文回复
应用命令:匹配关键词进行命令操作,例如微信发送命令,执行服务器重启、关机、锁定等操作
-------------------------------------------------------------------------------------------------------------------------
1. 导出 导入 excel 文件
2&&导出word文件
3. IO 流上传下载文件
4. 群发邮件,可以发html、纯文本格式,可以发给任意邮箱(实现批量发送广告邮件)
5. 群发or单独 发送短信,支持两种第三方短信商接口
6. spring& &aop&&事物处理
7. 代码生成器 (freemarker), 代码 zip 压缩打包
8. MD5加密 SHA加密(登录密码用此加密)接口加密身份校验
9. 数据库连接池&&阿里的 druid。Druid在监控、可扩展性、稳定性和性能方面都有明显的优势,支持并发
10.加入安全框架 shiro (登录授权)(session管理)
11.根据汉字 解析汉字的全拼(拼音)和首字母(导入excel到用户表,根据用户的汉字姓名生成拼音的用户名)
12.app接口@ResponseBody
(支持与其它语言数据交互)
13.极光推送 (推送给APP及时消息,APP不启动也能收到)
14.微信接口(身份验证,文本、图文回复等) 微信远程控制服务器重启、锁定、其它应用程序
15.java Quartz
定时器 (定时执行某程序,精确到秒,可设置周期)
16.java websocket 即时通讯技术,点对点,群聊,单聊,EXT4对话框
17.新增Lucene
18.Base64传输图片
19.图片加水印(图片水印,文字水印)
20.生成 or&&解析 二维码
21.HTML5 + JAVAEE&&WebSocket 通信技术,
WebSocket 验证用户登录,强制某用户下线
22.批量异步上传图片,可预览,有进度条,支持拖拽上传(百度webuploader )。列表动态滑动放大展示。
23.ehcache 自定义二级缓存 ,选择缓存存放目录,处理并发,增加系统性能
24.服务器内部GET POST 请求
25.uploadify 上传插件,单条、批量上传多线程,带进度条,异步,图片、视频, 其它文件格式均可上传
26.地图选点获取经纬度坐标,根据俩经纬度计算距离
27.tab标签页面功能,标签自由切换,不重复操作数据库
-------------------------------------------------------------------------------------------------------------------------
系统框架为:
springmvc +
mybaits 3.2 有
maven 版本和
非maven 版本 jdk 1.6 1.7 1.8&&tomcat 6 7 8
数据库:oracle 版本 和 msyql 版本 ( spring3.0 和4.02&&mybaits 3.2)& &&&开发工具:myeclipse&&eclipse 均可
赠送 同UI& && &springmvc + hibernate&&
SpringSecurity
Quartz MySQL、Oracle、SQL Server
-------------------------------------------------------------------------------------------------------------------------
系统演示视频:
之前录的(有点粗糙, 凑合着看)
--------------------------------------------------------------------------------------------------------------------
PC实物截图如下
登录界面背景用HTML5特效自动切换(百叶窗,幕布等多种切换方式)
关注微信,跟着我们扩展技术视野。每天推送IT新技术文章,每周聚焦一门新技术。微信二维码如下:
微信公众账号:尚学堂(微信号:bjsxt-java)
声明:博客文章版权属于原创作者,受法律保护。如果侵犯了您的权利,请联系管理员,我们将及时删除!
(邮箱:(#换为@))1017人阅读
前端JS(8)
[思路网注]&过去这些年,HTML5颠覆了PC互联网的格局,优化了移动互联网的体验,接下来,HTML5将颠覆原生App世界。这听起来有点危言耸听,但若认真分析HTML5的发展史,你会发现,这个世界的发展趋势确实就是这样。
2007年W3C(万维网联盟)立项HTML5,直至2014年10月底,这个长达八年的规范终于正式封稿。
过去这些年,HTML5颠覆了PC互联网的格局,优化了移动互联网的体验,接下来,HTML5将颠覆原生App世界。这听起来有点危言耸听,但若认真分析HTML5的发展史,你会发现,这个世界的发展趋势确实就是这样。
HTML5对开发者的7大优势
在多屏年代,开发者的痛苦指数非常高,人人都期盼HTML5能扮演救星。多套代码、不同技术工种、业务逻辑同步,这是折磨人的过程。有点类似个人电脑早期世界,那个时候的每家电脑都有自己的操作系统和编程语言,开发者疲于做不同版本,其实DOS的盛行也很大程度是因为开发者实在没精力给其他电脑写程序。跨平台技术在早期大多因为性能问题夭折,但中后期硬件能力增强后又会占据主流,因为跨平台确实是刚需。
快速迭代:
移动互联网是一个快鱼吃慢鱼的时代,谁对用户的需求满足的更快,谁的试错成本更低,谁就拥有巨大的优势。互联网产品大多免费、且有网络效应,后入者抢夺用户的难度非常大。使用原生开发,从招聘、开发、上线各个环节的效率都慢一倍以上,而且参与的人越多,沟通效率往往拖慢不止一倍。
持续交付:
很多人有这样的体会,一个原生应用上线Appstore,突然有一个大bug,只好连夜加班修复,然后静静等待2周或更长时间的Apple审核,这2个星期被用户的涂抹淹死,市场上一片差评,用户大量流失。等新应用被审核上线了,用户已经卸载了。但是,HTML5没有这些问题,你可以实时更新,有问题立即响应。
大幅下降成本:
创业者融资并不容易,如何花钱更高效非常重要。如果你使用原生开发的App和竞争对手使用HTML5开发的App没什么区别,但你的开发成本高出一倍,我相信没有投资人会喜欢给你投钱。
开源生态系统发达:
HTML5前端是开放的正反馈循环生态系统,大量的开源库可以使用,开发应用变得更轻松、更敏捷,当然这也体现在了快速迭代和成本下降上。不过更重要的是,这种开放的正反馈循环生态系统未来的生命力是比原生生态系统更强劲的。
开放的数据交换:
HTML是以page为单元开放代码的,它无需专门开发SDK,只要不混淆,就能与其他应用交互数据。开发者可以让手机搜索引擎很容易检索到自己的数据, 也更容易通过跨应用协作来满足最终用户需求。
更容易推广、更容易爆发:
导流入口多:HTML5应用导流非常容易,超级App(如微信朋友圈)、搜索引擎、应用市场、浏览器,到处都是HTML5的流量入口。而原生App的流量入口只有应用市场。聪明的HTML5开发者当然会玩转各种流量入口从而取得更强的优势。
流量大:前段时间微信朋友圈风靡一时《神经猫》,这个游戏如果放到Appstore,绝对没有那么多流量,超级App带来的流量,远大于原生应用市场。假如微信允许游戏在桌面创建快捷方式、假如游戏后续升级解决持续娱乐问题,未来不可想象。
导流效率高:除了入口多、流量大,导流效率高也不可忽视,谁都知道:页游和端游打同样的广告,广告变用户的转化率,页游远远高于端游。
HTML5对最终用户的3大优势
大幅降低使用门槛
为什么流媒体会替代下载视频成为主流?为什么页游会如此火爆?只因用户太“懒”。让用户更方便的满足需求,有时效果好于更多的满足需求。
用户眼睛看到一个兴趣点,点击后,就应该立即开始满足用户需求。比如流媒体可以立即看,页游可以立即玩。而目前的原生应用市场,用户需要这样操作:选一个应用、等待下载、确认权限、等待安装,然后点击打开。这样糟糕的体验迟早要被颠覆。
不管是App、游戏还是音视频,未来都将即点即用。谁先满足用户这个需求,谁就制胜。
实时更新、差量更新的优秀体验
HTML5应用可以绕开应用市场的限制进行自主实时更新,用户可以快速享受新服务。
而且这种更新完全可以是差量更新,比如某个HTML页面或某个js文件有问题,只更新这个几k的小文件就可以了,这比原生应用的更新体验好太多。
跨应用的使用体验
目前手机应用切换是以桌面或任务管理器为中心的,但事实上这些中心很影响效率和体验。用户想出差三亚,先打开去哪App订票,然后切回桌面,再找到并打开天气App,搜索输入三亚,再切到桌面,找到并打开航旅纵横App,输入航班号值机,哦对了,航班号多少来着,再切到桌面,找到并打开去哪App看航班号,最后找到并打开租车App,输入租车地点,然后再切回桌面。
在原生应用体系下,用户只能这样。但在HTML5体系下,他不需要切回桌面,他可以在App间方便的直接跳来跳去,而不是使用一个一个孤岛A他更不用重复录入数据,应用间可以方便的互相传递数据。
这种模式需要一点想象力,但未来迟早会来。
分析至此,我们可以明显的看出,不管是站在最终用户角度、还是站在开发者角度,HTML5必将取代原生应用当前的位置。并由此引发一系列颠覆。
还有什么会被改变?
HTML5的爆发,原生App生态系统的颠覆,是一场产业革命,很多角色都会受到影响,我们来预测一番。
新型HTML5引擎战火将烧起
标准的HTML5引擎并不能解决HTML5的所有问题,拥有大流量入口的互联网巨头,莫不在思考内嵌更优秀的增强引擎。腾讯推出了X5浏览器引擎,就是看中这个机会。目前各路浏览器厂商、应用市场厂商、甚至rom厂商,都在努力整合更优质的浏览器引擎。假使微信内嵌的Webview可以运行更优秀的canvas游戏、假使360手机助手可以发行即点即用的HTML5应用并且能力体验与原生一致、假使小米rom内置更强大的webview使得所有HTML5应用在小米手机上运行的更流畅。
一个巨头开始行动,所有巨头都会闻风而动,没错,这场战役会是移动互联网世界的二次世界大战。
应用发行市场将洗牌
由于超级App的巨大流量能轻易成为HTML5应用的入口,并且会形成大者更大的效应,传统的应用商店、甚至线下预装,这些流量不足和效率偏低的发行模式将被挤出市场主流。本身也是超级App的大流量应用商店,如果转型得当,也将以发行HTML5应用为主。
广告和统计市场
原生的广告和统计SDK提供商会面临尬尴,Google、百度等基于网页的广告和统计服务会取得更大的优势。开发者不再需要打包SDK,引入一个Script即可。
开源技术将在移动互联网领域更加流行
HTML的开放性造就了大量的开源产品,也反向促进了HTML的繁荣。在Github上有大量的JS框架,而原生的开源代码数量相比甚少。而未来移动互联网世界将因为开源而发展的更迅速,这里也同样存在类Github厂商的机遇。
开发工具的变化
早期HTML只需要记事本写几个Tag,中期的HTML、JS、CSS比较复杂,需要更高级的文本编辑器,但HTML5到来后,它的代码量、复杂度、开发模型将与原生开发看齐,需要类似XCode、Eclipse等专业的IDE工具来解决开发、调试的问题。一些以会使用记事本写代码为荣的开发者,将面临思路转换甚至被更高效的开发者淘汰。
性能分析调优
目前很多针对原生应用的性能分析调优工具或服务,未来也面临转型,HTML5应用的性能分析调优是另一个世界。
混淆与产权保护
HTML5是开放代码的,好处也带来弊端,有些东西开发者希望暴露,但有些东西开发者希望保护。混淆技术就变得更有商业机会。PC Web上Gmail的混淆就做的不错。除了JS混淆,离线数据加密相信也有不少空间。
安全厂商的新机会
HTML5的强大会引发很多安全问题,并且解决思路与原生不一样,业内有可能会出现新的安全厂商领导者。
熟知历史才能预知未来,让我们来看看HTML5为什么诞生、这8年是怎么过来的。
HTML5的诞生
自W3C于1999年发布HTML4后,Web世界快速发展,一片繁荣。人们一度认为HTML标准不需要升级了。一些致力于发展Web App的公司另行成立了WHATWG组织,直到2007年,W3C从WHATWG接手相关工作,重新开始发展HTML5。
HTML5的发展史,有用户的需求在推动,有技术开发者的需求在推动,更有巨大的商业利益在推动。
在互联网的早期,对用户而言,能打开浏览器接入到互联网世界就是一个神奇的事情,但互联网发展到2005年前后,开始出现下一个变化,就是宽带互联。
随着宽带的普及和电脑性能的增强,人们不再满足于单纯的通过互联网看新闻、收发邮件,消耗更高带宽的娱乐产品开始出现,就是流视频和网页游戏。其实视频和游戏是古老的需求,在互联网不普及的时候,需求的满足方式是离线传输的VCD和游戏光盘;后来互联网逐渐普及,人们更改了使用方式,通过下载软件+本地媒体播放器来看视频,下载体积较大的端游玩游戏。
但是对消费者体验更好的新方式还是出现并颠覆了以前的一切,那就是流媒体和网页游戏。Youtube等公司把握住潮流飞速崛起,各种页游公司也如雨后春笋。
但是HTML标准没有把握住产业的变化及时演进,浏览器产品也未升级,这块新需求被浏览器插件满足了,那就是Flash。这个部署在亿万浏览器里的商业插件俨然成为事实标准。2005年Adobe巨资收购Macromedia,把Flash收归旗下,紧接着大幅推广FLV流媒体和action script语言,很明显这桩收购可以列为IT并购的经典案例,FLV流媒体和Flash游戏风靡互联网,Adobe在新的产业升级中攫取了大量的利润。
除了Flash这个商业产品成为了事实标准,W3C还面临一个尴尬,就是另一个私有扩展协议的制造者—IE。IE当时在桌面浏览器占有垄断地位,并且扩展了大量的IE Only语法,开发者完全不知道这些语言是谁定义的。整个web世界,就被两家公司微软+Adobe绑架了。
很多IT巨头都坐不住了,尤其是苹果和Google。PC操作系统的世界难有突破,Web浏览器被苹果寄予厚望,而且第一代iPhone只支持网页,那时还没有Appstore,Safari是乔布斯非常看重的产品;新贵Google虽然大量赞助Mozilla,但并未对IE的地位产生实质影响,收购了YouTube后发现底层被Adobe控制,也是非常难过,而且Google每年给IE的搜索框和Adoble FLV缴纳的费用真不是小数目。
既然大家都是W3C的主席单位,好吧,我们重新开始做HTML5吧。
是的,HTML5其实就是这么诞生的。那是2007年,IE和Flash由盛转衰的转折点。
HTML5第一阶段:Web增强与破垄断
自HTML5诞生以来,一共经历了两个阶段,分别是Web增强和移动互联网。我们先从Web增强说起。
web体验的丰富增强主要表现在:1.webapp,比如2. 流媒体;3. 游戏。我们就这3个方面来讲HTML5做了什么。
HTML5新增了离线存储、更丰富的表单(比如Input type=date)、js线程、socket王乐、标准扩展embed、以及很多css3新语法…
HTML5新增了audio、video
HTML5新增了canvas、webgl
当然还有Google努力在HTML5中推进Header和Section等标签,以利于搜索引擎分析,这些不多述。
HTML5补充流媒体和游戏能力后,加上苹果强势拒绝在iOS上引入Flash,成功的遏制了Flash的发展,然后就该遏制IE私有语法了。
在HTML5标准的升级过程中,苹果和Google同时也看到了浏览器市场重新洗牌的机会,他们一方面参与HTML5的规范,一边在浏览器产品上发力。Apple首先开始大力发展Safari,建立WebKit开源项目,Mac、iOS、Windows多平台齐发力;Google起初是赞助Mozilla开发Firefox,后来自己开发了v8引擎,合并WebKit,于2008年正式推出Chrome。“IE的私有规范+Flash不是标准,我们才是标准”这样的口号在新一代浏览器大战中打响,IE瞬间成为千夫所指的垄断代表,甚至成了阻碍Web发展的罪人(当时IE6已数年未更新,并且丝毫不惧Firefox的发展)。
偏偏微软此时也出了晕招,推出了一系列即不完整支持规范又互相不兼容的IE7、8、9、10,彻底失去了开发者的心。
Adobe的Flash被遏制,与Web霸主的位子擦肩而过;IE的私有标准被遏制,并且造成IE市场份额不停下滑,直到IE最新的移动版本反过来开始支持WebKit私有语法,真是令人唏嘘。不知道HTML6是不是该打倒WebKit垄断了。
HTML5第二阶段: 移动互联网
随着Chrome和Safari的高歌猛进,以及IE+Flash的衰落,HTML5告一段落,进入了下一个时代——移动互联网。HTML5的跨平台优势在移动互联网时代被进一步凸显。HTML5是唯一一个通吃PC、Mac、iPhone、iPad、Android、Windows Phone等主流平台的跨平台语言。Java和Flash都曾梦想这个位置,但梦断于iOS。此时人们纷纷开始研究基于HTML5开发跨平台手机应用。很多人当时认为,原生应用只是过渡,就像当年从C/S结构转变为B/S结构一样。而且学习Objective-C和Java很费劲,我既然会网页开发,为何不试试HTML5。
W3C此时成立了Device API工作组,为HTML5扩展了Camera、GPS等手机特有的API,然而麻烦的是,移动互联网初期的迭代太快了,手机OS在不停的扩展硬件API,陀螺仪、距离感应器、气压计。。。每年手机OS都有大版本更新。而W3C作为一个数百家会员单位共同决策的组织,从标准草案的提出到达成一致是非常复杂的过程,跟不上移动互联网初期的快速迭代。
PhoneGap的出现,给开发者打开了一扇窗。很多人期待PhoneGap不停扩展API,来补充浏览器的不足。Adobe看到PhoneGap仿佛看到了重振江湖地位的希望,但在Adobe收购PhoneGap后,又发现这个东西可商用性不足,而且开源使得Adobe无法像Flash那样获取商业利益,于是就把PhoneGap捐给了Apache,改名为Cordova。
因为各种原因,Cordova的定位最终没有成为浏览器的强化,而走向了混合式开发。基于当时的背景,他们认为原生是不可替代的,“原生+HTML5”的混合模式更有意义。所以现在Cordova的使用模型是“原生工程师+HTML5工程师”一起协作完成App。
这时Facebook加入了W3C,牵头成立了Mobile Web工作组。Facebook是混Web圈的,并且在手机OS上没有自己的领地,他不喜欢被苹果和Google掌控的原生应用生态系统。Mobile Web这个工作组的重要目标就是让HTML5开发的网页应用达到原生应用的体验。然而,事与愿违,它不努力也就算了,结果是努力了却失败了。2012年,Facebook放弃了HTML5的新闻充斥了全世界的IT媒体,HTML5瞬间被打入冷宫。
Facebook为何放弃HTML5?核心是当时基于HTML5真的做不出好的移动App。对比Twritter等竞争对手的原生App,Facebook的HTML5版本实在无法让用户满意。比如Push功能,到现在HTML5的推送和原生的推送体验差距依然巨大,更不用说HTML5应用的页面切换白屏、下拉刷新/侧滑菜单不流畅等众多问题。看着原生工程师轻松实现摇一摇、二维码、语音输入、分享到朋友圈等功能,更是让HTML5工程师感觉自己站错了队。
即使Facebook不喜欢被控制,也不能拿被用户抛弃来冒险。而且Facebook并没有掌握关键点—手机浏览器内核。如果浏览器不跟上,徒然定一堆标准草案落不了地。
而浏览器在手机上的表现是什么呢?先看Google,Chrome性能虽高,但Android上的浏览器却并非Chrome,而是WebKit改出来的一个蹩脚的Android浏览器;再看苹果,iOS上不允许其他浏览器引擎上架App Store,而且其他使用Safari引擎的应用也无法调用苹果自己的JavaScript加速引擎Nitro。结果是苹果和Google不但不在浏览器上积极实现HTML5关于移动App所需的规范,反而对HTML5做出种种限制。
不管是当时硬件能力不足,还是手机OS厂商的故意限制,总之结果就是:在移动互联网的初期,一定是原生应用生态系统的天下,iOS和Android首先自己的地盘稳固后,产业才会向下个阶段升级。
Facebook也好,PhoneGap也好,想在移动互联网初期就分一杯羹是分不到的,但坚持下来,机会往往会出现。
HTML5这回真的来了
终于,在2014年10月底,W3C宣布HTML5正式定稿。这个时间,不晚不早,硬件性能更强、手机OS迭代速度下降。
随着HTML5标准定稿,一切纷争将告一段落,现在,属于HTML5的时代到来了。
有人说,光标准定稿没用啊,配套起来了吗?HTML5做的应用究竟能否匹敌原生App?答案是,HTML5不但可以匹敌原生App,甚至它天然的很多特性超越了原生App。
我们先谈谈HTML5原来不如原生应用的地方,业内俗称HTML5有“性工能”障碍。即HTML5性能不如原生、开发工具不如原生、能力调用不如原生。
这几个问题导致开发者无法使用HTML5做出与原生一样的App。然而,不管是硬件升级还是OS厂商策略变化,以及相关软件技术的成熟,已解决了HTML5的“性工能”障碍。
1. 硬件升级
2011年,iPhone 4s的CPU是A5,现在iPhone 6是A8,按苹果的历次发布会的说法,速度共提升了7.5倍。这3年间7.5倍的速度提升,抹平了太多HTML5的性能问题。
2. 苹果、Google的策略变化
Google在2013年底发布的Android 4.4,内置的Webview不再是蹩脚的Android WebKit浏览器,而是Chromium,性能大幅提升。从最新的Android5.0开始,Webview可以通过Google Play Store实时更新,和Chrome的升级保持一致,用户就可以不刷机享受到最新的浏览器引擎;再看Apple方面,2012年iPhone 5发布后,HTML5在iOS上的表现已令人满意,Safari独家的JavaScript加速引擎Nitro不再那么重要,不过在iOS 8发布后,苹果还是很识趣地取消了三方程序调用Nitro的限制,现在任意浏览器或应用调用iOS的UIWebview都可以利用Nitro加速,这样在前端使用JS做大型运算也成为可能。两大手机操作系统霸主和浏览器巨头的态度发生了变化,使得HTML5在手机上的发展不再受限,而且这个变化不可逆只能继续向前,这种变化势必会产生深远的影响。
3. 软件技术的成熟
PhoneGap的发展虽然放缓了,但其他产品技术却成熟了。2014年的iWeb大会上,众多厂商的产品提供了面向开发者免费或开源的HTML5性工能障碍的解决方案。
(注:编者作为从业人员,也会在分析各种方案时提到我们公司的方案,但编者会客观不夸张的陈述方案,而且该方案是纯免费的,没有商业销售嫌疑。)
DCloud公司在iWeb大会上发布了系统的HTML5“性工能缺失”的解决方案,包括:
a) 性能:提升HTML5性能的手机端引擎,让侧滑菜单、下拉刷新等动态交互卡顿的问题得以解决;
b) 工具:HTML5开发IDE产品HBuilder, 超快的编程利器;
c) 能力:把40万原生API封装成JavaScript对象,以解决HTML5能力不足问题的Native.js技术;
d) 最接近原生体验的高性能框架:MUI框架,体积只有几十K,加载、运行远快于一般框架。
基于该方案开发的HTML5应用完全可以达到原生App的功能和体验。
使用HBuilder开发HTML5应用
英特尔公司发布了Crosswalk引擎,可以让Android 4.0-4.3的手机上的应用打包Chromium引擎而不是Android WebKit。毕竟目前市场上存在大量Android 4.0-4.3的手机,同时统一的webview也避免了兼容性的烦恼。
在专业方向上很多公司也做出了不错的成绩。触控的Cocos2d-html5、Egret runtime和Ludei CocoonJS强化了Canvas的表现,让HTML5游戏体验更好;UC、猎豹等手机浏览器都强化了音视频播放的表现。
不管是硬件升级、软件成熟,还是操作系统厂商策略变化,都在强力推动HTML5的爆发。
不过要注意,我说的HTML5爆发,不是指手机浏览器会替代桌面成为应用入口。有人说HTML5不好,因为用户讨厌打开浏览器输入URL的过程。我想说这种想法是对HTML5的片面理解。HTML5!=传统浏览器,虽然编程语言还是HTML、Javascript、CSS,但发行方式绝不是传统网站那么简单。HTML5应用的入口,反而很少是启动浏览器输入URL,它可以是存在于手机桌面的图标、也可以来自超级App(如微信朋友圈)、以及搜索引擎、应用市场、广告联盟。。。到处都是它的入口。它的入口,比原生App更多。
原生App的颠覆
HTML5的“性工能”障碍得到解决,可以接近原生App的效果,所以它就可以替代原生App吗?很多人认为,即使HTML5会发展的比现在好,也将是与原生App各占一部分市场的格局,要求不高的长尾应用会使用HTML5,而主流应用仍是原生App的天下。
但我认为这样的想法很危险,就像Apple成立前,HP的高层告诉沃兹:谁会在家里摆一台电脑呢?未来HTML5肯定会颠覆原生App。
其实未来如何发展是没人能准确预测的,变量非常多。但我想让用户和开发者都更方便的趋势是不会错的。
我在这里抛砖引玉,欢迎大家一起讨论,但我希望我们能理智的分析,在争议中提炼真知,而不是未经思考或验证仅因为害怕被颠覆而无谓的乱喷。也祝愿大家在HTML5的浪潮中,把握住机遇,享受下坐在风口当猪的感觉。(文/王安)
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:136015次
积分:1831
积分:1831
排名:第17192名
原创:30篇
转载:111篇
评论:12条
(8)(19)(2)(14)(5)(5)(12)(6)(2)(4)(2)(1)(1)(1)(1)(1)(3)(13)(4)(3)(6)(6)(1)(13)(7)

我要回帖

更多关于 编译成功无法运行 的文章

 

随机推荐