首页 > 其他分享 >小项目如何进行跨平台方案选型?

小项目如何进行跨平台方案选型?

时间:2023-01-04 15:31:08浏览次数:34  
标签:方案 Xamarin 程序 选型 跨平台 开发 FinClip Cordova Flutter


作为一个小开发,近期完整的经历了,一个初创项目从搭建到推向市场的过程。实际上在整个过程中,开发只占很小的一个板块,尤其是对于我司这种初创型企业,人少钱少,每一分都得花到刀刃上,因此产品开发的过程要足够快,成本也要足够低!

由于我们项目的特殊性,最初的产品demo通过微信小程序的形式跑通了基本功能,然后就到了正式研发阶段。老板对产品的要求就是需要包含:微信小程序、H5、Android、ios、windows、macos并且尽可能多的覆盖其它平台。本系列文章先站在公司的的角度对产品技术选型进行分析,然后再根据我们项目实际开发经验进行汇总,供大家参考。

目前大前端技术也非常丰富,可以实现,一次开发,打包多个平台。团队针对几个不同技术方案里进行了讨论:有比较老牌的Cordova、Xamarin、NativeScript,也有近几年比较火:React Native、Flutter、FinClip、Election

Cordova

Cordova胜在架构简单,比如一个简单的Activity,上面搭载一个CordovaWebView Component,他是一个改造过的WebView,加装了一些Cordova API,让你借此和Native的部分交互。App基本上就是一个Mobile Web,多了一些跟Native交互的能力。

优点是好上手,写代码快。有丰富的插件去衔接Native平台、社区完善。使用Ionic可以一套代码在安卓端、iOS端、网站端、小程序端通吃。

Cordova(Ionic)缺点也明显,终究是个Web,性能体验太差了!

Xamarin

Xamarin是Cordova的老对手,Xamarin的产品简化了针对多种平台的应用开发,包括iOS和 Android。总体比Cordova复杂多了,大致上分成几个部分:Xamarin.Android、Xamarin.iOS、Xamarin.Mac(后来才出现的)以及Xamarin.Forms。

Xamarin.Mobile有很多优点。在这一框架内,开发 Android 和 iOS 应用可以不用转到 Eclipse 或者额外购买 Mac 并使用 Xcode,而继续在Visual Studio之中使用 C# 与 .NET Framework 进行。而且性能性能接近原生、内置功能丰富(数千个自定义UI控件)。
缺点:稍微延迟支持最新的平台更新、对开源库的访问受限、Xamarin生态系统不大、与第三方库和工具的兼容性问题等等

Flutter

Flutter是近两年风很大的一款开源、跨平台移动端开发框架,由 Google 开发。Flutter 使用 Dart 作为开发语言,这是一门简洁、强类型的编程语言。它允许使用同一个代码库构建高性能、漂亮的 iOS 和 Android 应用,Flutter还提供了两套视觉库,可以针对不同的平台有不同的展示效果。此外,通过自定义的 Flutter 引擎可以将其嵌入到其他平台。

小项目如何进行跨平台方案选型?_Android

​编辑

Flutter优点非常多:开源免费;Dart语言简单易学;独立的Skia渲染引擎,高性能高一致性、丰富的组件支持、丰富的社区支持,在混合开发中,是最接近原生开发的框架。

团队没有选择Flutter 的主要原因是Flutter on desktop也还是beta版本。Windows PC和linux平台的兼容支持官方正在持续研发中。

FinClip

与上面Flutter、Cordova、Xamarin这些框架技术比起来,FinClip实在是一款轻便简洁的小工具,我们惊叹于它的灵活性!整体灵活又体积小巧(大概3M)。

FinClip 是一套小程序容器技术,也可以说是小程序SDK Runtime/Engine,提供 Runtime 基于浏览器内核,采用动态语言(JS)和声明式 View 构建(XML),并且兼容互联网主流小程序技术,可采用 vue、react 基础上的 DSL 框架。

这种容器技术与上述的跨端技术不仅不冲突,还可以兼容。不管是通过Flutter、Reactive Native、uni 、Taro等开发出来的小程序都可以通过FinClip运行。

小程序运行时方案的高性价比,主要体现在应用体验、应用框架支持以及宿主环境结合等方面。

应用体验方面,小程序技术是前端容器技术的一种应用,其组件及UI都有明确的规范,开发者不用考虑兼容性及类似H5开发时复杂工具及框架的选择。同时,由于组件及UI都是预设的,展示体验也会更佳。
应用框架支持方面,运行时方案不仅支持纯 wxml 微信小程序运行,还支持包括Flutter、Reactive Native、 uniapp等第三方框架集成的小程序。
宿主环境结合方面,小程序是基于App端实现的应用,其获取系统(App)的权限也会多于H5;目前小程序技术的发展已经趋于成熟,市面上小程序以运行时已经开始出现多智能终端设备的适配(基于Andriod系统的多终端屏幕适配)。

小项目如何进行跨平台方案选型?_Xamarin_02

小项目如何进行跨平台方案选型?_Android_03

目前我们团队选择了FinClip这样一款,灵活性轻量较高的技术方案,并且通过官方IDE里自带的“小程序转APP”功能将前期在微信上跑通的demo转成了APP应用上架到了应用市场。目前还在实现PC端的适配。该技术应用的情况,后续再给大家做分享。


标签:方案,Xamarin,程序,选型,跨平台,开发,FinClip,Cordova,Flutter
From: https://blog.51cto.com/u_15904909/5988663

相关文章

  • flutter attach failed解决方案
    背景:项目为iOS原生和Flutter混合开发。Flutter之前使用的版本为2.10.2,升级到最新的发现插件获取有问题,后来跟安卓端保持一致将Flutter升级到了3.0.5版本。折腾了一个多星期......
  • 异地多活回环同步问题解决方案
    1.异地多活:一般为两地三中心或者三地五中心,这样设计是为了在发生单点故障或网络分区时,集群能继续提供服务。两地三中心可以容忍机房级别灾难,三地五中心可以容忍城市级别灾......
  • BI智慧仓储行业应用方案,让你的仓储物流不再复杂
    仓储物流行业现状对于物流仓储行业来讲,面对激烈的市场竞争,日益升高的人工成本,不断提升的转运要求,以及搬运损毁效果和转运效率的低下,企业必须去提升市场的竞争力来站稳市场。......
  • python调用项目外py文件问题及解决方案
    问题来源:为了支持模型的切换功能,拟通过调用不同模型路径下的predict.py方法来实现。这就涉及到调用外部py文件。调用外部py文件,有多种方式:方法一:sys.path1impo......
  • 基于 EventBridge API Destination 构建 SaaS 集成实践方案
    作者:赵海引言事件总线EventBridge是阿里云提供的一款无服务器事件总线服务,支持阿里云服务、自定义应用、SaaS应用以标准化、中心化的方式接入,并能够以标准化的CloudE......
  • Ubuntu配置OpenCV终极解决方案
    安装依赖一定要安装全,避免之后出现各种奇怪的问题sudoapt-getinstallbuild-essentialsudoapt-getinstallcmakegitlibgtk2.0-devpkg-configlibavcodec-devlibavfo......
  • JetPack — 边缘计算设备构建AI应用全面解决方案
    ​​JetPackSDK|NVIDIADeveloper​​NVIDIAJetPackSDK是构建AI应用的全方面解决方案。包含适用于Linux操作系统的最新Linux驱动包(L4T)以及用于深度学习、计算......
  • azure.core.exceptions.ClientAuthenticationError: Authentication failed: AADSTS50
    源代码:ml_client=MLClient(credential=ClientSecretCredential(tenant_id=tenant_id,client_id=client_id,......
  • 常用p沟道mos管选型参数,p沟道mos选型!
    P型MOS管是一种适合在低速、低频领域内应用的器件,P-MOSFET的栅极是绝缘的,属于电压控制器件,因而输入阻抗高,驱动功率小,电路简单。和N沟道MOSFET产品相比,P沟道MOSFET产品需求......
  • 扯一扯技术选型
    我们来了解一下业界网关的技术选型(这里先简单介绍,部分技术名词有缘在未来介绍,如果无缘就只有搜索了,毕竟每一个都解释清楚是挺浩大的工程)从零开始这无疑是成本巨大的,除了......