【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 渲染显示 , 不涉及到跨层通信 , 因此没有通信上的资源消耗 ;


尽快刷完 ;


目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 语音技术
探索未来:安卓与iOS的人工智能竞赛
在当今数字化时代,安卓和iOS作为两大主流移动操作系统,已经成为人们日常生活不可或缺的一部分。随着人工智能技术的飞速发展,安卓与iOS之间的竞争日益激烈。本文将深入探讨安卓与iOS在人工智能领域的发展现状和未来趋势,分析两者之间的差异和竞争优势,为读者带来全新的视角和思考。
16 1
|
2月前
|
搜索推荐 Android开发 iOS开发
安卓与iOS系统的用户界面设计对比分析
本文通过对安卓和iOS两大操作系统的用户界面设计进行对比分析,探讨它们在设计理念、交互方式、视觉风格等方面的差异及各自特点,旨在帮助读者更好地理解和评估不同系统的用户体验。
31 1
|
2月前
|
API 开发工具 Android开发
iOS 和 Android 平台的开发有哪些主要区别?
iOS与Android开发区别:iOS用Objective-C/Swift,App Store唯一下载渠道;Android用Java/Kotlin,多商店发布(如Google Play、华为市场)。设计上,iOS简洁一致,Android灵活可定制。开发工具,iOS用Xcode,Android用Android Studio。硬件和系统多样性,iOS统一,Android复杂。权限管理、审核流程及API各有特点,开发者需依据目标平台特性进行选择。
38 3
|
3天前
|
JSON Android开发 数据格式
android与Web服务器交互时的cookie使用-兼谈大众点评数据获得(原创)
android与Web服务器交互时的cookie使用-兼谈大众点评数据获得(原创)
13 2
|
12天前
|
开发框架 Dart 前端开发
【Flutter前端技术开发专栏】Flutter与React Native的对比与选择
【4月更文挑战第30天】对比 Flutter(Dart,强类型,Google支持,快速热重载,高性能渲染)与 React Native(JavaScript,庞大生态,热重载,依赖原生渲染),文章讨论了开发语言、生态系统、性能、开发体验、学习曲线、社区支持及项目选择因素。两者各有优势,选择取决于项目需求、团队技能和长期维护考虑。参考文献包括官方文档和性能比较文章。
【Flutter前端技术开发专栏】Flutter与React Native的对比与选择
|
12天前
|
前端开发 Android开发 iOS开发
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
【4月更文挑战第30天】Flutter 框架实现跨平台移动应用,通过一致的 UI 渲染(Skia 引擎)、热重载功能和响应式框架提高开发效率和用户体验。然而,Android 和 iOS 的系统差异、渲染机制及编译过程影响性能。性能对比显示,iOS 可能因硬件优化提供更流畅体验,而 Android 更具灵活性和广泛硬件支持。开发者可采用代码、资源优化和特定平台优化策略,利用性能分析工具提升应用性能。
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
|
15天前
|
人工智能 安全 Android开发
【专栏】在人工智能时代,Android和iOS两大移动操作系统巨头正加速融合与创新
【4月更文挑战第27天】在人工智能时代,Android和iOS两大移动操作系统巨头正加速融合与创新。Android以其开放性占据广阔市场,集成AI功能如语音助手;而iOS以其稳定性和生态优势,如Siri,提供卓越体验。两者在AI技术、应用场景上相互借鉴,拓展至医疗、教育等领域,并逐步打通生态系统。然而,技术竞争、数据隐私和标准不一是挑战,新市场需求、技术创新和产业合作则带来机遇。未来,二者将继续推动AI发展,为社会进步贡献力量。
|
6天前
|
机器学习/深度学习 自然语言处理 Dart
移动应用开发的未来:Flutter与Android的深度融合
【5月更文挑战第7天】在移动应用开发的世界中,跨平台解决方案一直是一个热门话题。Google推出的Flutter框架以其高效的性能和一致的UI体验赢得了开发者的青睐。本文将探讨Flutter如何与Android操作系统深度融合,提升开发效率,同时保持应用性能的优势,并预测这种融合将如何影响未来的移动应用开发趋势。
|
12天前
|
前端开发 Android开发 开发者
【Flutter前端技术开发专栏】Flutter中的混合应用(Hybrid Apps)开发
【4月更文挑战第30天】本文探讨了使用Flutter开发混合应用的方法。混合应用结合Web技术和原生容器,提供快速开发和低成本维护。Flutter,一款现代前端框架,以其插件系统和高性能渲染引擎支持混合应用开发。通过创建Flutter项目、添加平台代码、使用WebView、处理平台间通信以及发布应用,开发者可构建跨平台混合应用。虽然混合应用有性能和用户体验的局限,但Flutter的跨平台兼容性和丰富的插件生态降低了开发成本。开发者应根据项目需求权衡选择。
【Flutter前端技术开发专栏】Flutter中的混合应用(Hybrid Apps)开发
|
12天前
|
开发框架 Dart 前端开发
【Flutter前端技术开发专栏】Flutter中的Web支持:构建跨平台Web应用
【4月更文挑战第30天】Flutter,Google的开源跨平台框架,已延伸至Web领域,让开发者能用同一代码库构建移动和Web应用。Flutter Web通过将Dart代码编译成JavaScript和WASM运行在Web上。尽管性能可能不及原生Web应用,但适合交互性强、UI复杂的应用。开发者应关注性能优化、兼容性测试,并利用Flutter的声明式UI、热重载等优势。随着其发展,Flutter Web为跨平台开发带来更多潜力。
【Flutter前端技术开发专栏】Flutter中的Web支持:构建跨平台Web应用