草庐IT

关于移动开发平台,你想知道的这些事

lydia77 2023-03-28 原文

近年来,移动开发平台如雨后春笋般蓬勃发展。这诸多的移动开发平台常常令人面临选择恐惧。今天就来同大家一块盘点一下,看看这些移动开发平台都有什么特点与优势,希望为有需要的开发者提供一定的参考。

 

需要特别说明的是,这里提到的移动开发平台与 Flutter、React Native 等移动开发框架还有一定的区别,更多是指为开发者提供从开发、测试、发布和运营整个生命周期的移动端技术平台。

仅看国内情况,其中不乏阿里、腾讯这样的头部大厂借助自己在产研中的优势,将内部的开发平台逐渐孵化为直接面向市场的标准化产品,另外也有很多小厂也专门针对移动研发中的一系列问题推出了移动开发平台,产品小而美可靠性也不错。

一、移动开发平台的价值

这些移动开发平台主要为移动应用开发、测试、运营及运维提供云到端的一站式方案,目的在于可以降低 App 开发的技术门槛、人力和研发成本、提升开发效率。

平台会通过提供统一的开发框架、统一的运维模式、统一的安全能力以及统一的运营体系,助力移动服务开发体系化和高效化,实现全流程闭环管理。

放一张这个图,应该大家就会更加直观清晰。

 

 

二、目前有哪些移动开发平台

目前比较知名且稳定可用的移动开发平台有:Emas、TMF、FinClip、APICloud、mPaas、Emop。

这里面 mPaas、Emas 都是阿里推出的,TMF 是腾讯推出的,Emop 是京东的产品,他们共同的特点产品大而全涉及整个闭环流程,移动开发的全环节面面俱到。

FinClip、APICloud 属于专注于做移动研发技术平台的小厂,产品小而精,有自己独特的特点和优势。

1、Emas

EMAS 是阿里巴巴应用研发平台,是面向全端场景(移动App、H5应用、小程序、Web应用、PC应用等)的一站式应用研发平台。EMAS基于广泛的云原生技术(Backend as a Service、Serverless、DevOps、低代码等),致力于为企业、开发者提供一站式的应用研发运营管理服务,涵盖开发、测试、运维、运营等应用全生命周期。

由于 Emas 和 mPaaS 都来源于阿里,而且较为类似,就放到一起讲了。

mPaaS 是源于支付宝的移动开发平台,为移动开发、测试、运营及运维提供云到端的一站式解决方案,能有效降低技术门槛、减少研发成本、提升开发效率,协助企业快速搭建稳定高质量的移动应用。

 

 

2、TMF

TMF 是腾讯移动开发平台,整合了腾讯在移动产品 中开发、测试、发布和运营的技术能力,为企业客户提供一站式、 覆盖全生命周期的移动端技术平台。

 

 

3、FinClip

FinClip 是小程序容器技术,相当于把几个巨头的小程序运行能力单独抽离出来,将面向未来式的开发模式精细化,通过 App 集成 FinClip 小程序 SDK 之后,让 App 能快速具备运行小程序的能力,从而能够实现 App 的解耦,实现模块化开发和动态热更新。

 

 

4、APICloud

基于MADP,构建一款应用时,企业可将UI设计、前端开发、后端开发等环节紧密衔接,减少大量重复性工作,并有效提升30%-60% IT项目效率。

5、Emop

EMOP企业级移动研发平台结合“京东系”APP研发的经验积累与最佳实践,为移动开发提供一站式解决方案,可以帮助企业构建强大的移动中台,快速创建高质量的APP、各类小程序等移动终端产品,支持企业新业务开展。

 

 

三、各个移动开发平台的特点

1、mPaaS

1)全生命周期管理

覆盖 App 全生命周期,提供强大的支撑,确保客户端稳定、高效运行,并进行快速变更和创新。

2)客户端能力较为灵活

3 大研发框架:Native 开发框架、Kylin H5 开发框架、小程序开发框架。

20 多个功能性组件,例如网关服务、埋点分析、热修复、用户反馈、消息推送、离线包等。

100 多个 UI 控件,包括 AntUI 和 AntMobile

3)小程序容器加持

借助开放支付宝小程序能力,能够在app中运行小程序,实现快速构建新业务、新生态。

2、TMF

1)统一的开发平台

平台通过提供统一的开发框架、统一的运维模式、统一的安全能力以及统一的运营体系,助力移动服务开发体系化和高效化,实现全流程闭环管理。

2)性能专项优化

针对移动端 WebView 常见问题进行了深度优化,Crash 率降低到0.15%以下,加载速度提升30%+,支持46种视频和文件格式。经微信、手机 QQ 两大 App 的多年实战检验,有效提升移动端访问的稳定性、兼容性和流畅性。

3)丰富的工具库

借助腾讯云有一些即插即用的 AI、传播和场景工具,覆盖推送、分享、人脸识别、OCR 识别、智能语音等创新业务能力,丰富的移动服务玩法,实现服务的跨界融合。

3、FinClip

1)App 业务小程序化

在自有移动 App 中集成 FinClip SDK ,将小程序构建成运行于现有 App 中的业务模块,模块化管理提升研发效率。

2)小程序一键生成 App

FinClip 自研小程序开发工具 FIDE,任何人都可以 “极低的技术投入” 将小程序转为独立 App,并上架至各大应用商店。

3)兼容微信小程序语法与登录体系

FinClip 兼容微信语法,开发组件、接口均与微信对标,支持各类插件、UI 框架引入, 同时打通微信登录、支付等功能。

4)支持小程序游戏能力

支持 2D 游戏及白鹭、Cocos 引擎,可快速将小游戏引入集成 FinClip SDK 的移动 App 中,拓宽流量分发渠道。

4、APICloud

1)低代码可视化开发

通过可视化拖拉拽快速构建应用程序,一键生成专业级应用源代码,开发者可直接二次开发使用

2)API组件丰富

1400+原生、可视化组件,可以支撑企业业务员场景应用落地

5、Emop

1)支持全生命周期管理

包含需求、开发、测试、运维、运营5大领域,移动研发生命周期全覆盖。

2)高效的开发框架

支持目前主流的四大框架:移动iOS开发框架、移动Android开发框架、JD ReactNative、JD Flutter

3)全方位的监控分析

全方位移动端性能监控,实时风险预警,高效问题定位,快速线上故障修复,持续提升用户体验。

4)京东小程序平台

小程序平台能力植入,以最轻量方式实现外部服务的快速连接,拓展能力边界,构建业务生态能力。

有关关于移动开发平台,你想知道的这些事的更多相关文章

  1. ruby - 多次弹出/移动 ruby​​ 数组 - 2

    我的代码目前看起来像这样numbers=[1,2,3,4,5]defpop_threepop=[]3.times{pop有没有办法在一行中完成pop_three方法中的内容?我基本上想做类似numbers.slice(0,3)的事情,但要删除切片中的数组项。嗯...嗯,我想我刚刚意识到我可以试试slice! 最佳答案 是numbers.pop(3)或者numbers.shift(3)如果你想要另一边。 关于ruby-多次弹出/移动ruby​​数组,我们在StackOverflow上找到一

  2. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  3. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  4. ruby - 是否可以覆盖 gemfile 进行本地开发? - 2

    我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI

  5. ruby-on-rails - 如何重命名或移动 Rails 的 README_FOR_APP - 2

    当我在我的Rails应用程序根目录中运行rakedoc:app时,API文档是使用/doc/README_FOR_APP作为主页生成的。我想向该文件添加.rdoc扩展名,以便它在GitHub上正确呈现。更好的是,我想将它移动到应用程序根目录(/README.rdoc)。有没有办法通过修改包含的rake/rdoctask任务在我的Rakefile中执行此操作?是否有某个地方可以查找可以修改的主页文件的名称?还是我必须编写一个新的Rake任务?额外的问题:Rails应用程序的两个单独文件/README和/doc/README_FOR_APP背后的逻辑是什么?为什么不只有一个?

  6. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  7. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  8. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  9. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  10. ruby-on-rails - rbenv:从 RVM 移动到 rbenv 后,在 Jenkins 执行 shell 中找不到命令 - 2

    我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions

随机推荐