Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
浅谈前端移动开发
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
chenbin
November 14, 2015
Programming
0
290
浅谈前端移动开发
分析比对前端移动开发的几种形式,主要以ionic和react native为主。
chenbin
November 14, 2015
Tweet
Share
Other Decks in Programming
See All in Programming
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
180
Rethinking API Platform Filters
vinceamstoutz
0
910
ロボットのための工場に灯りは要らない
watany
12
3.2k
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
190
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
180
AI Assistants for Your Angular Solutions
manfredsteyer
PRO
0
160
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
130
Angular-Apps smarter machen mit Gen AI: Lokal und offlinefähig - Hands-on Workshop!
christianliebel
PRO
0
140
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
310
PHPで TLSのプロトコルを実装してみる
higaki_program
0
480
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
830
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
160
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.2k
A Soul's Torment
seathinner
5
2.5k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
200
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
My Coaching Mixtape
mlcsv
0
86
Embracing the Ebb and Flow
colly
88
5k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
150
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
200
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
240
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
160
Transcript
None
陈 斌 职 位 公 司 Beansmile 简 介 …
Web前端开发
None
None
移动开发的分类
1 Native App Hybrid App 2 3 Web App React
Native 4
1 Native App
1 Native App 什么是 ?
Native APP 指的是原⽣生应⽤用程序,⼀一般依托于操作系统,有很强的交互. 技术:Objective-C Java
Native App开发的优点
1. 提供最佳的⽤用户体验 2. 拥有系统级别的通知或提醒 3. 可以访问本地资源(通讯录,相册) 4. 针对不同平台提供不同体验 Native App开发的优点
Native App开发的缺点
1. 开发成本⾼高(不同平台有不同的开发语⾔言和界⾯面适配) 2. 维护成本⾼高(例如⼀一款App已更新⾄至V5版本,但仍有⽤用户在使⽤用V3 V4版本,开发⼈人员仍需维护之前的版本) 3. 更新流程慢(根据不同平台,提交–审核–上线 等等,需要经过的流程较复杂) Native App开发的缺点
2 Web App
2 什么是 ? Web App
Web App ⼀一般指采⽤用HTML5写出的App, 不需要下载安装,⽣生存在浏览器中的应⽤用, 说的简单点就是⼀一个触屏版的⺴⽹网站。
Web App 开发的优点
1. 开发成本低,主要使⽤用web开发技术 2. 更新快,更新⽆无需通知⽤用户,⽆无需⼿手动升级 3. 能够跨多个平台和终端 Web App 开发的优点
Web App 开发的缺点
1. ⽆无法获取系统级别的通知,提醒,动效等等 2. 浏览的体验短期内还⽆无法超越原⽣生应⽤用 3. 临时性的⼊入⼝口 Web App 开发的缺点
3 Hybrid App
3 什么是 ? Hybrid App
Hybrid APP指的是半原⽣生半Web的混合类App; 它虽然看上去是⼀一个Native App,⾥里⾯面访问的是⼀一个Web View; 也就是我们常说的混合型移动应⽤用.
Hybird App 开发的优点
1. 开发时可以不采⽤用原⽣生语⾔言,但是却拥有 原⽣生应⽤用的特性 3. 具有跨平台性 Hybrid App 开发的优点 2. 有利于Web开发技术⼈人员快速地构建应⽤用
Hybird App 开发的缺点
1. ⽤用户体验不如本地应⽤用 Hybird App 开发的缺点 2. 深度定制的难度⼤大
4 React Native
4 什么是 ? React Native
“React Native enables you to build world-class application experiences on
native platforms using a consistent developer experience based on JavaScript and React.” React Native 使你能够使⽤用基于 JavaScript 和 React ⼀一致的 开发体验,在本地平台上构建世界⼀一流的应⽤用程序体验
React Native开发的优点
React Native开发的优点 2. 拥有原⽣生的⽤用户体验 1. 提供了原⽣生的控件⽀支持 相对于Hybird应⽤用: 2. 可以通过更新远端JS,直接更新app 1.
拥有web的开发效率 相对于Native应⽤用:
1. 对开发⼈人员要求较⾼高,当官⽅方封装的控件、 api⽆无法满⾜足需求时 ,就必然需要懂⼀一些 native开发的⼈人去扩展 React Native开发的缺点 2. …
Native App Hybird App Web App React Native
Native App Web App Hybird App
Native App Web App Hybird App
Native App Web App Hybird App React Native
None
None
接下来主要介绍Hybrid和React Native
React Native
Github上的活跃度 20316 22342 React Native
开发思维 开发思维 React Native ! HTML,CSS,Angular,Cordova ! 单⻚页⾯面应⽤用程序(Single page application)
! 模拟原⽣生组件 ! Hybird app ! Flex,JSX ,css-layout,ReactJS ! Web Component ! 直接调⽤用React native封装过的原⽣生组件 ! React Native ! Write once, Run Anywhere ! LearnOnce,WriteAnywhere.
开发环境 React Native 1. npm install -g cordova ionic 2.
ionic start myApp blank 3. ionic start myApp blank 4. cd myapp 5. ionic platform add ios 6. ionic build ios 7. ionic emulate ios 1. npm install -g react-native-cli 2. react-native init HelloWorld 3. cd HelloWorld 4. react-native start 5. open HelloWorld.xcodeproj 6. cmd + R
ionic基本实现思路 Angular + Cordova ⼀一套前端ui控件库 + Cordova获取设备访问 及不同平台的打包能⼒力 借助Angular的MVC模式 帮我们很快地开发单⻚页应⽤用
Angular封装的⼀一套ui组件 => Hybrid App
React Native基本实现思路 Native 组件 调⽤用 React Native (Components)
React Native基本实现思路 JavaScript Objective-C 调⽤用JS 返回JSON 1. OC层调⽤用JS,加载JS源数据 JavaScriptCore 2.
利⽤用JavascriptCore搭建起OCBridge 作为和JS层通讯的⼯工具 3. JS运⾏行在JavaScriptCore,通过bridge⾥里的配置表 把模块⽅方法转为模块ID和⽅方法ID传给OC 4. OC通过bridge的模块配置表找到对应的⽅方法去执⾏行, 并返回JSON数据给Native渲染
实现⼀一个Tabs效果
None
实现⼀一个Tabs效果
ionic实现代码展⽰示
None
None
None
None
None
None
None
None
None
61
None
63 63
64
None
66
None
React Native实现代码展⽰示
None
None
None
None
None
None
None
None
None
None
None
None
None
None
案例展⽰示
Ionic app http://showcase.ionicframework.com/
React Native https://facebook.github.io/react-native/showcase.html
Native ⼈人机交互体验 + Web 开发效率和发布能⼒力 总结
! 技术服务于产品,产品服务于⼈人 ! ⽤用什么技术不重要,重要的是适合项⺫⽬目形态
招聘信息
团队介绍
None
Email:
[email protected]
Thanks
由于惯性思维,总想着往它⾝身上贴个「Web」或者 「Native」或者「Hybrid」的标签, 可是贴上去扯下来,并没有⼀一个适合的标签。 事实上,React Native重新定义了⼀一种新的模式