【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月前
|
存储 运维 安全
|
22天前
|
移动开发 Dart 搜索推荐
打造个性化安卓应用:从零开始的Flutter之旅
【10月更文挑战第20天】本文将引导你开启Flutter开发之旅,通过简单易懂的语言和步骤,让你了解如何从零开始构建一个安卓应用。我们将一起探索Flutter的魅力,实现快速开发,并见证代码示例如何生动地转化为用户界面。无论你是编程新手还是希望扩展技能的开发者,这篇文章都将为你提供价值。
|
1月前
|
Web App开发 Android开发
利用firefox调试安卓手机端web
该教程详细介绍如何通过Firefox浏览器实现手机与电脑的远程调试。手机端需安装最新版Firefox,并按指定步骤设置完成;电脑端则需安装15版及以上Firefox。设置完成后,通过工具栏中的“远程调试”选项,输入手机IP地址即可连接。连接确认后,即可使用电脑端Firefox调试器调试手机上的Web信息。注意,调试前手机需提前打开目标网页。
61 2
|
1月前
|
开发框架 移动开发 Android开发
安卓与iOS开发中的跨平台解决方案:Flutter入门
【9月更文挑战第30天】在移动应用开发的广阔舞台上,安卓和iOS两大操作系统各自占据半壁江山。开发者们常常面临着选择:是专注于单一平台深耕细作,还是寻找一种能够横跨两大系统的开发方案?Flutter,作为一种新兴的跨平台UI工具包,正以其现代、响应式的特点赢得开发者的青睐。本文将带你一探究竟,从Flutter的基础概念到实战应用,深入浅出地介绍这一技术的魅力所在。
76 7
|
2月前
|
开发框架 搜索推荐 开发工具
打造个性化安卓应用:从零开始的Flutter之旅
【8月更文挑战第51天】本文是一篇面向初学者的Flutter入门教程,旨在通过简单易懂的语言和实际代码示例,引导读者步入跨平台移动应用开发的世界。文章首先介绍了Flutter的基本概念和优势,然后逐步展示了如何搭建开发环境、创建第一个Flutter应用,并实现了一个简单的待办事项列表。最后,文章探讨了Flutter在实现高性能和美观界面方面的潜力,鼓励读者发挥创意,探索更多可能。
85 15
|
2月前
|
Dart 开发工具 Android开发
在 Android 系统上搭建 Flutter 环境的具体步骤是什么?
在 Android 系统上搭建 Flutter 环境的具体步骤是什么?
|
2月前
|
开发框架 Dart 前端开发
Android 跨平台方案对比之Flutter 和 React Native
本文对比了 Flutter 和 React Native 这两个跨平台移动应用开发框架。Flutter 使用 Dart 语言,提供接近原生的性能和丰富的组件库;React Native 则基于 JavaScript,具备庞大的社区支持和灵活性。两者各有优势,选择时需考虑团队技能和项目需求。
340 8
|
1月前
|
网络协议 索引
Flutter获取手机的IP地址
Flutter获取手机的IP地址
|
2月前
|
安全 Android开发 开发者
探索安卓开发的未来:Kotlin的崛起与Flutter的挑战
在移动开发的广阔天地中,安卓平台始终占据着举足轻重的地位。随着技术的不断进步和开发者需求的多样化,Kotlin和Flutter成为了改变游戏规则的新玩家。本文将深入探讨Kotlin如何以其现代化的特性赢得开发者的青睐,以及Flutter凭借跨平台的能力如何挑战传统的安卓开发模式。通过实际案例分析,我们将揭示这两种技术如何塑造未来的安卓应用开发。
73 6
|
3月前
|
搜索推荐 IDE 开发工具
打造个性化安卓应用:从零开始的Flutter之旅
在数字时代的浪潮中,拥有一款个性化且高效的移动应用已成为许多创业者和企业的梦想。本文将引导你使用Flutter框架,从零基础开始构建一个安卓应用,不仅涉及界面设计、功能实现,还包括性能优化的关键技巧。通过简洁易懂的语言和实用的代码示例,我们将一起探索如何让你的应用在众多竞争者中脱颖而出。 【8月更文挑战第31天】