【Flutter】手机应用类型 ( Android | iOS | Native 应用 | Web 应用 | Hybrid 应用 | ReactNative 应用 | Flutter 应用 )

简介: 【Flutter】手机应用类型 ( Android | iOS | Native 应用 | Web 应用 | Hybrid 应用 | ReactNative 应用 | Flutter 应用 )

文章目录

一、Native 应用

二、Web 应用

三、Hybrid 应用

四、ReactNative 应用

五、Flutter 应用





一、Native 应用


原生应用开发 : Android / iOS , 各自开发本平台的应用 ;


Android 使用 Android Studio 开发环境 , Java / Kotlin / C / C++ 语言 , 开发 Android 平台的应用 ;


iOS 使用 Xcode 开发环境 , Objective-C , Swift 语言 , 开发 iOS 平台应用 ;


每个平台开发出的应用只能在特定平台上运行 ;


原生应用的外观渲染 , 运行性能是最好的 , 用户体验最好 , 不差钱的话 , 一般开发原生应用 ;


优点 :


性能流畅

可访问本地资源 , 如数据库 , SP

可访问硬件 , 如 蓝牙 , 摄像头 , 传感器

缺点 :


成本高 , 需要 Android / iOS 两个团队开发

版本发布慢 , 更新版本成本高 , 用户可能会拒绝更新版本

上架需要审核 , Google Play , App Store





二、Web 应用


Web 应用使用的是 WebView / 浏览器 在 Android / iOS 手机中展示网页 , 如 PhoneGap 技术 , 该技术属于网页的前端开发 , 会绘制渲染效率受 WebView 或 浏览器内核 限制 ;


开发使用的技术就是网页前端相关技术 , JavaScript + HTML5 + CSS ;


写出移动端的页面在浏览器 / WebView 上运行 ;


浏览器 与 WebView 性能不是很高 , 优化到极限 , 也比不上 Native 开发的运行速度 ; Web 应用没有运行在操作系统上 , 而是运行在浏览器上 , 性能会很低 , 用户体验很差 ;


Web 应用无法访问原生资源 , 如 蓝牙 , 摄像头 , 传感器 , 日历 , GPS , NFC 等等 , 也无法调用 JNI 层的 C / C++ 相关高性能功能 , 如高性能音频 AAudio , OpenGL , OpenSL 等 ; 功能上有很大的局限性 ;


优点 :


成本低 , 只需要一个前端团队

更新快 , 更新应用 , 只需要在后台服务器 ( Tomcat ) 部署最新程序即可 , 与发布网站原理一样 , 不需要经过用户手动安装

跨平台 , 开发后可以在 Android , iOS , Windows , Linux , Mac , 嵌入式设备 , 等有浏览器的设备上运行

缺点 :


性能低 , 受浏览器 / WebView 性能限制

资源在服务器 , 受网络限制

无法访问原生设备 , 如摄像头 , 蓝牙 , 传感器 等

无法访问本地文件 , 如数据库 , SD 卡 , SP 等





三、Hybrid 应用


混合应用 , Hybrid App , 一部分是原生应用 , 一部分是 Web 应用 ;


综合 Web 应用 和 原生应用的优点 ,


Web 应用容易开发 , 跨平台 ,

原生应用性能高 , 可以调用 蓝牙 , 摄像头等 原生设备 ;

可以综合 原生应用 与 Web 应用的优点 ;






四、ReactNative 应用


React Native 可以调用系统的原生控件 , 这种性能就比调用 WebView 或 浏览器性能高 ; 使用 JavaScript 写出代码 , 编译时 , 编译成 Android / iOS 的原生组件 , 不同平台的原生组件表现出来是有差异的 , 有差异就需要进行兼容处理 ;


Native 原生组件需要与 JS 进行通信 , 如果通信非常频繁 , 对性能消耗很大 ;


貌似快凉了 ; 先挂着 , 有时间学一下 ;






五、Flutter 应用


Flutter 特点 : 使用了跨平台的绘制引擎 Skia , 可以在不同的平台 , 生成表现相同的程序 , 各个平台展示效果基本没有差异 , 不需要进行兼容处理 ;


Flutter 的渲染性能很高 , 同时 Flutter 不用进行跨层通信 , 可以直接操作 UI 层 ;


Dart 语言既操作程序的代码逻辑 , 又操作 UI 渲染显示 , 不涉及到跨层通信 , 因此没有通信上的资源消耗 ;


尽快刷完 ;


目录
相关文章
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
1358 1
|
Android开发 iOS开发 UED
安卓与iOS的较量:谁才是智能手机市场的王者?
本文将深入探讨安卓和iOS两大智能手机操作系统之间的竞争关系,分析它们各自的优势和劣势。通过对比两者在市场份额、用户体验、应用生态等方面的表现,我们将揭示出谁才是真正的市场领导者。无论你是安卓粉丝还是iOS忠实用户,这篇文章都将为你提供一些有趣的观点和见解。
|
人工智能 搜索推荐 vr&ar
苹果手机iOS18最新升级:植入AI人工智能,国内百度文心一言,国外GPT4o来辅助
iOS 18亮点速览:AI强化的Siri、RCS安卓消息兼容、自定义主屏、辅助功能增强,VR进步,新隐私工具,包括锁定APP和眼动追踪。Passwords app保障安全,Apple Intelligence提升个性化体验。
682 1
|
监控 Serverless 持续交付
阿里云云效产品使用问题之如何让流水线支持构建 flutter web 应用到 OSS
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
开发框架 Dart JavaScript
深入探讨Flutter中的Web支持功能,以及如何利用Flutter构建跨平台Web应用的最佳实践
【6月更文挑战第11天】Flutter,Google的开源跨平台框架,已延伸至Web支持,让开发者能用同一代码库构建移动和Web应用。Flutter Web基于Dart转JavaScript,利用WebAssembly和JavaScript在Web上运行。构建Web应用最佳实践包括选择合适项目、优化性能、进行兼容性测试和利用Flutter的声明式UI、热重载等优势。尽管性能挑战存在,Flutter Web为跨平台开发提供了更多机会和潜力。
544 1
|
iOS开发
iOS使用.framework类型的静态库
iOS使用.framework类型的静态库
263 1
|
iOS开发 Perl
iOS使用.a类型的静态库
iOS使用.a类型的静态库
251 1
|
测试技术 Android开发 iOS开发
IOS手机自动化一些工具的简单有哪些?
IOS手机自动化一些工具的简单有哪些?
|
机器人 开发工具 Android开发
flutter web 优化和flutter_admin_template
flutter web 优化和flutter_admin_template
|
移动开发 小程序 安全
基础入门-APP架构&小程序&H5+Vue语言&Web封装&原生开发&Flutter
基础入门-APP架构&小程序&H5+Vue语言&Web封装&原生开发&Flutter
370 0