
Hybrid HTML5跨平台移动应用开发技术
Hybrid HTML5跨平台移动应用开发技术,使用AngularJS,ionic Framework,PhoneGap开发跨平台移动应用,技术和经验分享。本专栏每月更新4篇以上
offbye
西涛,全栈工程师,架构师,Android和HTML5专家。熟悉Java、Android、JavaScript、Python、Swift等技术。目前专注手机端侧人工智能研究,熟悉tensorflow
展开
-
2020年Vue、React 和 Angular:该选择哪个框架?
近几年 ,前端领域出现了两大玩家:Google 发布的 Angular、Facebook 开发的 JavaScript 库 React。在 2018 年,又有一个实力雄厚的玩家加入了这场竞争:Vue.js,它 很直白地表示出了自己 的豪心壮志——立志成为最受欢迎的 JavaScript 框架。在深入了解这些流行框架的总体比较之前,让我们先看看它们的起源。Vue、React 和 Angular 简史AngularGoogle 的一名员工 Misko Hevery 当时正...转载 2020-12-05 15:39:10 · 2701 阅读 · 0 评论 -
Cordova整合使用腾讯浏览服务X5内核
在对基于Cordova的Android混合App的性能优化过程中,遇到了很多在不同安卓版本手机上的Bug,很多都是安卓不同版本的系统webview的差异导致的,有可能是安卓系统的问题,也有可能是手机厂商修改webkit带来的问题,这些问题从前端技术层面是很难解决的,修改和测试成本都非常高。因此我想通过使用统一webkit内核的大招来解决,目前有2个方案可选,使用Crosswalk内核或腾讯浏览服务X原创 2016-09-16 19:24:28 · 9213 阅读 · 6 评论 -
F8App-ReactNative项目源码分析2-服务器端
近期开始研究Facebook f8app项目,目标是理解Facebook官方React Native f8app的整体技术架构,给公司目前几个的React Native项目开发提供官方经验借鉴,并对原生开发和React Native开发进行框架层面的融合。 研究了f8app的项目结构后,发现f8app服务器端的代码比较少,并且弄清楚数据模型和接口协议,对于后面理解客户端的实现有帮助原创 2016-05-18 22:21:40 · 5558 阅读 · 0 评论 -
F8App-ReactNative项目源码分析1-初体验
近期开始研究Facebook f8app项目,目标是理解Facebook官方React Native f8app的整体技术架构,给公司目前几个的React Native项目开发提供官方经验借鉴,并对原生开发和React Native开发进行框架层面的融合。原创 2016-05-18 22:26:47 · 7066 阅读 · 3 评论 -
F8App-ReactNative项目源码分析3-Android端
近期开始研究Facebook f8app项目,目标是理解Facebook官方React Native f8app的整体技术架构,给公司目前几个的React Native项目开发提供官方经验借鉴,并对原生开发和React Native开发进行框架层面的融合。 本文分析f8app android代码的结构和技术实现,阅读本文的前提是熟悉Android开发。 f8app android代码结构分析Re原创 2016-05-20 23:38:52 · 3280 阅读 · 0 评论 -
React/React Native 的ES5 ES6写法对照表
很多React/React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component),然而网上搜到的很多教程和例子都是ES5版本的,所以很多人在学习的时候连照猫画虎都不知道怎么做。今天在此整理了一些ES5和ES6的写法对照表,希望大家以后读到ES5的代码,也能通过对照,在ES6下实现相同的功能。模块引用在E转载 2016-05-31 15:16:18 · 1271 阅读 · 0 评论 -
F8App-ReactNative项目源码分析4-js篇
本文开始分析f8app核心js部分的源码,这篇文章将非常难理解,原因了Redux框架引入了很多新概念,使用了大量函数式编程思想,建议先把后面的参考文章仔细过一遍,确保理解后再看本文。React Native的理念是Learn once,write anywhere, Android和iOS App端的js代码是放在一起的,以便最大限度的复用业务逻辑,UI部分的可以根据平台特性各自实现,React n原创 2016-06-04 21:34:32 · 12341 阅读 · 0 评论 -
Facebook F8App-ReactNative项目源码分析5-iOS篇
近期开始研究Facebook f8app项目,目标是理解Facebook官方React Native f8app的整体技术架构,给公司目前几个的React Native项目开发提供官方经验借鉴,并对原生开发和React Native开发进行框架层面的融合。 本文分析f8app iOS代码的结构和技术实现,阅读本文的前提是对React Native和iOS开发有一定的了解。 f8app ios项目原创 2016-06-08 16:33:09 · 5359 阅读 · 3 评论 -
ReactNative Android和iOS的实现原理
今天想研究下ReactNative Android和iOS的实现原理,发现已经有人已经分析过源码了,2篇文章都是近期写的,真好。不过后面我还是自己去看看源码吧。iOS RN实现分析 React Native 从入门到源码分析-了解RN百态 Android RN实现分析 React Native之底层源码分析篇原创 2016-06-12 14:44:04 · 4952 阅读 · 0 评论 -
【webapp的优化整理】要做移动前端优化的朋友进来看看吧
原文 http://www.cnblogs.com/yexiaochai/p/3759959.htmlwebapp小钗从事单页相关的开发一年有余,期间无比的推崇webapp的网站模式,也整理了很多移动开发的知识点,但是现在回过头来看,webapp究竟是好还是不好真是一言难尽哟!webapp使用JavaScript修改页面;紧接着再从服务器传递更多数据然后再修改页面,如此循环。从性能的角度看,在现代转载 2016-07-20 10:54:34 · 2004 阅读 · 0 评论 -
给JavaScript 初心者的ES2015 实战
这篇文章本来是繁体中文的,我把它转成简体放在这里。原文是http://lifemap.in/es2015-in-action/,对于Javascript ES6 介绍的比较全面。前言历时将近6年的时间来制定的新ECMAScript标准ECMAScript 6(亦称ECMAScript Harmony,简称ES6)终于在2015年6月正式发布。自从上一个标准版本ES5在2009年发布以后,ES6就一转载 2016-09-07 15:53:15 · 4949 阅读 · 2 评论 -
浅析JS中的模块规范(CommonJS,AMD,CMD)
如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已。 现在就看看吧,这些规范到底是啥东西,干嘛的。 一、CommonJS CommonJS就是为JS的表现来制定规范,因为js没有模块的功能所以CommonJS应运而生,它希望js可以在任何地方运行转载 2015-05-06 15:18:03 · 1058 阅读 · 0 评论 -
Gulp.js-livereload 不用F5了,实时自动刷新页面来开发
前言正如上图所示,使用 gulp-livereload,可以实时保存刷新,那样就不用按F5和切换界面了,无形中省了好多时间,有没有!:DGulp.js:比 Grunt 更简单的自动化项目构建工具gulp-livereload:顾名思义,这是 Gulp.js 中的其中一个插件,本文的主题就是它了。安装第一步:全局安装gulp 和当前目录部署 gulp 和转载 2015-05-07 09:56:47 · 1833 阅读 · 0 评论 -
React移动web极致优化
原文地址最近一个季度,我们都在为手Q家校群做重构优化,将原有那套问题不断的框架换掉。经过一些斟酌,决定使用react 进行重构。选择react,其实也主要是因为它具有下面的三大特性。React的特性1. Learn once, write anywhere学习React的好处就是,学了一遍之后,能够写web, node直出,以及native,能够适应各种纷繁复杂的业务。需要轻量快捷的,直接可以用R转载 2016-08-12 19:19:35 · 2592 阅读 · 0 评论 -
H5性能优化方案
H5性能优化意义对于一个H5的产品,功能无疑很重要,但是性能同样是用户体验中不可或缺的一环。原本H5的渲染性能就不及native的app,如果不把性能优化做起来,将极大地影响用户使用产品的积极性。用户感受当用户能够在1-2秒内打开H5页面,看到信息的展示,或者能够开始进行下一步的操作,用户会感觉速度还好,可以接受;而页面如果在2-5秒后才进入可用的状态,用户的耐心会逐渐丧失;而如果一个界面超过5秒转载 2016-08-17 18:06:07 · 8136 阅读 · 0 评论 -
Cordova支付宝插件的那些坑
最近帮忙折腾Cordova App,因为是商城类App,需要接APP微信支付和支付宝支付,于是先到github上找相关的插件解决,微信支付很顺利的用插件解决了,支付宝插件就不那么顺利了,网上的几个插件要么过时了,要么实现不合理或不完整,最后还是自己改了个支付宝插件。原创 2016-08-26 16:47:16 · 6775 阅读 · 4 评论 -
QQ空间面向移动时代Hybrid架构设计
这篇文章提到的对于H5混合应用的性能优化很有参考价值。我们的第一场是来自腾讯的黄俊涛,给大家分享的题目是《QQ空间面向移动时代Hybrid架构设计》。黄俊涛,现任腾讯高级工程师,有非常丰富的经验,并且是Hybrid专家,现在对混合开发非常有研究。黄俊涛:大家下午好!我是来自腾讯QQ空间的黄俊涛,先作个简单的自我介绍:我在腾讯英文ID是叫Shine,所以大家其实叫我“Shine(帅)哥”就可以了。我转载 2016-08-30 14:59:46 · 2376 阅读 · 0 评论 -
使用swift开发Cordova插件
最近研究了用swift开发cordova插件的问题,事实证明用swift开发cordova插件是完全可行的,不要再去折腾烦人的oc代码了!主要参考了一个地理围栏插件 https://github.com/cowbell/cordova-plugin-geofence ,然后自己根据需求开发了百度地图标注和带扫描效果的二维码扫描iOS cordova插件,官方的那个实在太差了。用swift开发插件主原创 2016-04-15 15:55:06 · 2776 阅读 · 0 评论 -
常见移动设备的 CSS3 Media Query 整理(iPhone/iPad/Galaxy)
今天帮人解决了iphone4下载页显示错误的问题,css3 media query坑啊,不容易匹配到。/** * iPhone 4/4s landscape & portrait */@media only screenand (min-device-width: 320px)and (max-device-width: 480px)and (-webkit-device-pixel-r原创 2016-03-04 17:03:36 · 4659 阅读 · 0 评论 -
我在MDCC 2015的演讲PPT《HTML5移动应用多端开发架构实践》分享
这是我在MDCC 2015中国移动开发者大会发表的“HTML5移动应用多端开发架构实践”的演讲ppt,最近又有人要ppt,放在这里吧,欢迎下载!原创 2016-03-04 11:50:39 · 2284 阅读 · 0 评论 -
使用CodePush实时更新 React Native 和 Cordova 应用
最近公司的React native App(云订货)用上CodePush实时更新App技术了,棒棒的CodePush 是微软开发的,可以实时更新 React Native 和 Cordova 应用。CodePush 是提供给 React Native 和 Cordova 开发者直接部署移动应用更新给用户设备的云服务。CodePush 作为一个中央仓库,开发者可以推送更新到 (JS, HTML, C原创 2016-01-27 17:39:51 · 2569 阅读 · 1 评论 -
在CordovaActivity中添加原生View组件
今天把移动Web站封装成了Android App,发现还是用Cordova封装方便,即使没有使用到任何原生的API, 主要是兼容性好,配置比用系统WebView方便太多了。默认继承的CordovaActivity只有一个WebView,因此没有不方便通过java代码添加View,通过重新makeWebView,createViews 2个方法可以实现使用自定义的layout, 方便的添加自己的原生原创 2015-11-06 15:21:33 · 7214 阅读 · 1 评论 -
项目升级到ionic1.0.0正式版问题汇总
#项目升级到ionic1.0.0正式版问题汇总#2015年ionic框架终于发布了1.0正式版,这种终于下决心把项目的四个平台版本(Android和iOS的手机和平板版本)都从几个月前的Beta升级到了1.0,折腾了一周,终于比较圆满地解决了升级问题。view缓存问题ionic1.0.0 默认会缓存十个viewstate,这个应该是从AngularJS1.3版本引入的,这个功能可以让我们的应用中回退原创 2015-05-24 21:35:40 · 1845 阅读 · 2 评论 -
Ionic 1.0.0, “uranium-unicorn”正式版本发布
原文 http://blog.ionic.io/announcing-ionic-1-0/ 2015年5月12日,在经过了14个Beta版本和5个RC版本后,HTML5移动应用开发框架Ioinc终于发布了1.0.0最终版本,从发布第一个Beta版本开始,到现在已经经过了一年时间。 Ionic现在是Github上的顶级项目之一,已经有16000多个star,基于Ionic创建的App已翻译 2015-05-14 11:39:26 · 2010 阅读 · 0 评论 -
HTML5移动应用开发为什么需要引入前端工程化
使用HTML5和Javascript开发的移动应用,和典型的现代Web前端项目一样,有着大量的Javascript,HTML和CSS代码,因此前端工程化在HTML5移动应用开发中同样有着重要意义,可以避免大量重复性的工作,提供效率和质量,优化产品的性能。 目前前端工程化比较通用的框架主要有国外的grunt,gulp,百度的F.I.S等,这些框架基本上都是基于Node.原创 2015-05-11 21:51:22 · 2436 阅读 · 0 评论 -
Hybrid Android App中通过js访问Shared Preferences的问题
昨天研究Hybrid Android App中js和java代码之间数据共享的问题,具体场景是用户登录是android java实现,但有些业务是使用html5开发的,因此登录后到主页后,调整到某些HTML5业务页面需要传递用户的access_token, 目前想到的办法是在js端通过cordova插件访问存在Shared Preferences中的数据,但由于数据是异步返回的,需要一定的时间,原创 2015-01-23 09:49:06 · 3243 阅读 · 0 评论 -
一篇文章读懂开源web引擎Crosswalk
Web技术的优势早已被广大应用开发者熟知,比如可与云服务轻松集成,基于响应式UI设计的精美布局,高度的开放性,跨平台能力, 高效的分发与部署等等。伴随着移动互联网的快速发展与HTML5技术的逐步成熟,Web应用已经成为移动端跨平台应用开发的热门解决方案。然而要在移动端充分利用Web技术的优势,仍然有许多障碍。 Crosswalk作为一款开源的web引擎,正是为了跨越这些障碍而生。转载 2014-10-31 12:11:15 · 2008 阅读 · 0 评论 -
ionic框架对Android返回键的处理
在HybridApp移动跨平台开发中,android平台会遇到一些比较特殊并难以解决的问题,这些问题在原生应用开发中很easy, Android的返回键处理就是问题之一,假如我们要实现一个在很多App中都有的在主页按返回键弹出对话框提示用户退出应用的功能,在原生应用开发中是很容易的,只要在onKeyUp事件里面对返回键事件进行处理就可以了。按2次返回键退出应用的Java代码如下:private原创 2014-09-01 09:32:44 · 18393 阅读 · 9 评论 -
Android4.4支持使用DevTools对原生Android应用程序WebViews内容进行调试
从Android4.4(KitKat)开始,可以使用DevTools对原生Android应用程序的Android WebViews内容进行调试。调试WebViews要求:1.在Android设备或模拟器运行Android4.4或更高版本,并且Android设备上启用USB调试模式。2.Chrome 30或更高版本。更强大的WebView界面调试功能需要Chrome31或更高版本原创 2014-08-28 13:46:35 · 3038 阅读 · 0 评论 -
给你的Cordova HybridApp添加Splash启动页面
现在最新的Cordova 3以上的版本支持启动画面了,是通过cordova插件实现的。目前Splash插件支持android,ios,blackberry等多个平台。添加插件等过程如下:添加SplashScreen插件在cordova项目目录运行:cordova plugin add org.apache.cordova.splashscreen这个命令从插件git原创 2014-08-27 09:29:38 · 4798 阅读 · 4 评论 -
Android Web App官方文档翻译第三章:WebView构建应用
本文来自谷歌Android官方的Web App开发指导手册的第三篇——WebView构建应用:在你的Android应用布局中使用WebView来展现web页面,你可以创建从Javascript到客户端Android代码的接口。文档内容将 WebView 加入你的应用¨ 在Webview中使用 JavaScript¨转载 2014-06-13 10:48:54 · 1565 阅读 · 0 评论 -
Migrating to WebView in Android 4.4
http://developer.android.com/guide/webapps/migrating.htmlMigrating to WebView in Android 4.4IN THIS DOCUMENTUser Agent ChangesMulti-threading and Thread BlockingCustom URL Handli转载 2014-06-24 18:12:25 · 2186 阅读 · 0 评论 -
Targeting High Screen Densities with CSS Media Queries
The future is here – more and more handhelds are being built with high definition screens. The iPhone ships the Retina display, while on the Android (as of August 02, 2010) HDPI accounts for more th转载 2014-07-22 10:36:42 · 1453 阅读 · 0 评论 -
media type(媒体类型)与media query(媒体查询)简介及使用方法介绍
media type(媒体类型)是css 2中的一个非常有用的属性,通过media type我们可以对不同的设备指定特定的样式,从而实现更丰富的界面。media query(媒体查询)是对media type的一种增强,是CSS 3的重要内容之一。随着移动互联网的发展,media query开始得到大家的重视。media type让我们先了解一下media type,其转载 2014-06-24 18:18:23 · 2180 阅读 · 0 评论 -
Ionic框架支持Vagrant镜像方式建立虚拟开发环境了
原文:http://ionicframework.com/blog/ionic-vagrant-android/ 在开发HybridApp应用时,配置Ionic, Cordova, and Android开发环境是件麻烦的事情,是一 个最大的痛点。 特别是对于在Windows平台下开发的新开发者来说,在各种各样的类linux shell环境下配置nodej翻译 2014-08-20 14:59:58 · 2834 阅读 · 0 评论 -
如何调试手机上的网页以及基于Cordova/Phonegap的Hybird应用
开发手机页面以及Hybird应用时,调试曾经是个老大难问题,不时需要用写log等方式曲线救国。实际上,Chrome和Android(需要4.4+版本)已经提供了不亚于电脑版本的调试功能,只是看样子还有好多人不知道,所以写下来分享给各位。本文遵循CC协议,欢迎转发,但请注明作者和出处(http://ngnice.com/posts/659f97a6f06c90 )。操作分成电脑和手机转载 2014-08-13 14:25:01 · 3444 阅读 · 0 评论 -
AngularJS移动开发中的坑汇总
使用AngualrJs开发移动App已经快半年了,逐渐积累了很多AngularJS的问题,特别是对于用惯了Jquery的开发者,转到AngularJS还是需要克服很多问题的。不像Jquery那样侧重DOM操作,AngularJS是以视图模型和双向绑定为核心的。 下面的内容假设你已经了解前端 MVC 概念,并对 AngularJS 有了一定经验,初学者读起来可能比较艰深晦涩。本文的总结会原创 2014-08-11 12:56:27 · 5735 阅读 · 2 评论 -
移动Web App流行框架比较分析
前段时间做HTML5 Web App的研究和设计,仔细了解了以下的流行Web app框架Native APP、Web APP、Hybrid APP特性对比: Native AppWeb AppHybrid App开发成本高低中跨平台原创 2012-06-15 18:55:52 · 4360 阅读 · 1 评论 -
2013年度最强AngularJS资源合集
AngularJS是Google开源的一款JavaScript MVC框架,弥补了HTML在构建应用方面的不足,其通过使用指令(directives)结构来扩展HTML词汇,使开发者可以使用HTML来声明动态内容,从而使得Web开发和测试工作变得更加容易。 AngularJS诞生以来,吸引了大量的目光,也迅速成为了Web开发领域的新宠。本文整理了2013年度一些非常有价值的Ang转载 2014-08-08 12:23:58 · 2068 阅读 · 0 评论 -
移动端性能大比拼:CSS Sprites vs. Data URI
本文是作者调查Data URI在移动端性能表现的第三篇文章,第一二篇分别是:在移动平台上,Data URI要比原链接慢6倍;Data URI性能:不要在Base64上指责它。下面是笔者对原文的翻译。大约一个月之前,我们做了一个研究,关于使用Data URI构建Web组件性能不佳的研究。在发表调查结果后,来自Web性能社区的一个最为持久的问题也随即显现出来: 怎样把Data URI和转载 2014-06-06 10:00:13 · 1231 阅读 · 0 评论