App开发(一)

208 阅读3分钟

这是我参与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 NativeWee xFlutter
    所属公司FacebookAlibabaGoogle
    编程语言javascript(react)javascript(vue)Dart
    引擎JSCoreV8Flutter engine
    支持系统Android,iOSAndroid,iOS,WebAndroid,iOS,Fuchsia
    性能一般较快较快
    适用场景整体App单页面整体App
    学习成本一般

环境搭建

  • windows下只能搭建Android开发环境
  • Mac下既能搭建Android开发环境,也能搭建iOS开发环境
  • 使用Xcode开发iOS平台上的应用
  1. 初始化Flutter项目
  • 通过命令行
    • flutter create myproject
  • 通过Android Studio
    • 前提是必须安装flutter插件
  • 通过VS Code
    • 前提是安装flutter插件
  1. 修改国内镜像源 修改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…

  1. 运行项目
    1. 先启动模拟器
      • 通过命令方式
        • flutter emulators 查看可用的模拟器
        • flutter emulators --launch emulator_id
    2. flutter run