这是我参与11月更文挑战的第10天,活动详情查看:2021最后一次更文挑战
常识
-
原生开发 英文单词 NativeApp 指的是使用IOS,Android官方提供的工具,开发平台,配套语言进行手机App开发的方式
-
混合开发 英文单词 HybirdApp 使用前端已有的技术,html+css+js 然后再搭配一些相关的打包编译技术,就能够开发出一个手机App,安装到手机中进行使用
-
什么是App Application 可安装的应用程序
-
App的分类:
- 按照平台来划分: PC端:浏览器,代码编辑器,视频播放器 移动端:手机qq,手机微信,手机爱奇艺
- 按照功能来划分 游戏: 应用:非游戏类的软件,支付宝,美团
-
App和Web的区别 App概念:可安装的应用程序 优点:流畅,稳定,一些App可以脱网运行,用户体验好 缺点:不能跨平台 Web概念:特指那些基于浏览器的web网站(本质就是网页) 优点:可以跨平台 缺点:没有App流畅,不稳定,受限于网速和网络
-
常见的App开发方式
-
WebApp:基于浏览器实现的,有特定功能的网站 例如:百度脑图,淘宝网站 优点:跨平台 缺点:依赖网络,有白屏效果,相对来说,用户体验差,不能调用硬件底层设备,例如摄像头
-
NativeApp:用Android和Object-C等原生语言开发的应用 优点:体验好,用户使用起来流畅,非常适合做游戏(性能高),可以直接调用硬件底层的API 缺点:不能跨平台
-
HybridApp:利用前端所学的知识去开发移动端App,兼具两者的优势 优点:能够跨平台,体验会好一些,也能够调用硬件底层API 缺点:相对原生体验稍微弱一些,不能做游戏
注意:原生开发的时候,在最终运行的时候,普通的文本代码,都会被编译为原生的机器码去运行
-
-
混合开发的框架 React Native,Weex,Flutter
-
三者对比
-
框架 React Native Wee x Flutter 所属公司 Facebook Alibaba Google 编程语言 javascript(react) javascript(vue) Dart 引擎 JSCore V8 Flutter engine 支持系统 Android,iOS Android,iOS,Web Android,iOS,Fuchsia 性能 一般 较快 较快 适用场景 整体App 单页面 整体App 学习成本 难 易 一般
环境搭建
- windows下只能搭建Android开发环境
- Mac下既能搭建Android开发环境,也能搭建iOS开发环境
- 使用Xcode开发iOS平台上的应用
- 初始化Flutter项目
- 通过命令行
- flutter create myproject
- 通过Android Studio
- 前提是必须安装flutter插件
- 通过VS Code
- 前提是安装flutter插件
- 修改国内镜像源 修改flutter项目/android/build.gradle文件 修改Flutter SDK包下的flutter.gradle文件
将google()和jcenter()去掉,换上下面这些
maven{url 'maven.aliyun.com/respository… maven{url 'maven.aliyun.com/respository… maven{url 'maven.aliyun.com/respository…
- 运行项目
- 先启动模拟器
- 通过命令方式
- flutter emulators 查看可用的模拟器
- flutter emulators --launch emulator_id
- 通过命令方式
- flutter run
- 先启动模拟器