工程供应商App开发如何提升项目管理效率与透明度
1066
2023-01-24
本文目录一览:
这一周继续聊跨平台桌面开发这个事情。
在这篇文章中移动端跨端开发领域,移动端跨端开发领域我暂时会放下Electron与WebView2移动端跨端开发领域的一个对比,而聊一聊跨平台这个对于程序员群体来说不陌生的词。
一个趋势是:跨平台开发几乎是在各个技术方向都会持续发展的
跨平台这个词,对于程序员来说,应该是不陌生的。因为这个概念不只在某一端存在,后端,前端,移动端,桌面端几乎所有方向都对跨平台有需求。
在后端,Java是跨平台的,当移动端跨端开发领域你用Java来编写后端服务时,并不需要考虑操作系统,因为它几乎支持主流的操作系统。现在,编写一个后端服务,选用Java仍是主流。虽然可能它的跨平台特性已经不是程序员最在意的点了。
而在移动端,类似React Native,Flutter也是非常有名的跨平台移动开发,它们与移动原生开发方式之间一直是竞争与共存。
而前端因为依托于浏览器,天然就是跨平台的。事实上,很多应用或服务早期纷纷选择从原生应用迁移至前端WEB方式的一个非常重要的原因就在于它是跨平台的。
桌面操作系统很长一段时间一直是Windows一家独大,所以桌面开发一直是Windows独占,直至现在为止,很多专业级的软件仍然是Windows独占的。
而Linux桌面操作系统与MacOS桌面操作系统,早些年几乎可以忽略不计,压根不需要考虑这两种系统。但随着近些年它们的慢慢流行,特别是苹果的MacOS的以其杰出的工艺,流畅的体验,叠加苹果手机的流行,其市场份额增长非常之快,在特定的诸如编程,设计等行业人群中使用范围较广,这使得开发支持MacOS系统这个点变得越来越重要。
所以,在桌面开发领域,跨平台的需求也越来越高。
这也是Electron及早期的NW.js能迅速发展起来并得到非常广应用的原因所在。
无论是哪一端,跨平台技术之所以频繁出现与不断发展,其根本原因就在于编程的一个重要痛点在于:
为了让同一个服务能在所有设备上运行,程序员不得不编写与维护非常多不同版本的程序
每一个程序或软件后面的服务,都有一个非常迫切的需求,就是期望它的用户无论何时,无论何地,无论使用任何设备,都能方便友好的使用这个服务。
也是因为这个原因,Web发展起来了,因为Web的优势就在这,只要你的设备上有浏览器,就能访问。
但Web毕竟性能有限,且浏览器这种形式并不利于用户忠诚度的培养,它存在天然的弱点。一些简单的操作服务使用Web并无问题,但稍微有点要求的,Web可能就并不是非常适合。
所以,一种趋势不可避免地流行起来:
对不同设备或系统进行抽象,基于某一种特定的编程语言,编写出能与原生程序相媲美的,又能跨平台的技术便层出不穷了
对吧,Java是使用JVM来抽象不同的操作系统,React Native则是使用虚拟DOM以及转换成原生控件的方式来实现跨平台,而Electron则是通过性能较好的Chrome内核+NodeJS原生调用能力的搭配来实现跨平台桌面开发。
总而言之,这种跨平台的技术不会消亡,只会有新的技术层出不穷,而它们与原生开发一定是相互竞争,配合与共存的。相互之间无法取代。
那再回到跨平台技术上来说,一个良好的跨平台开发的技术或框架,重点是什么。
或者换种方式说,哪些特性使得它更易于流行起来移动端跨端开发领域?
我个人认为有以下的几个点:
跨平台开发技术能不能流行起来的一个非常重要的点就在于,使用了什么样的编程语言。
以移动端跨平台开发技术来说明,一个React Native,一个Flutter,这两个是比较知名主流的跨平台移动开发技术。React Native使用的是前端React技术,而Flutter则是Google的D语言。
显而易见的是,虽然Flutter是使用skia引擎在底层重绘一套UI,其性能相比React Native这种模式更佳,但React Native更易于被接受。
在流行度上,React Native始终比Flutter更流行,一个最重要的原因也在于:
使用已熟知的前端编程语言,比起重新学习一个D语言更易于被接受,维护成本更可控。
这个问题在跨平台桌面开发中也是类似,跨平台桌面开发技术也不是Electron最开始出现,比如著名的QT很早就有了,但比起Electron这种使用前端编程技术来说,显然在编程语言的门槛上和程序员群体上都存在困难,这也是Electron能后来居上的原因所在。
因为,大多数程序员群体,相比较另外学习一门什么语言去做什么,使用自己熟悉的语言来做什么是更容易,意愿也更高。
而从公司或团队的考量上看,选择偏门的小众语言存在成本上的顾虑,比如人员招聘是否容易?
跨平台技术在尝试解决不同平台不一致,它或多或少会损耗性能。这也决定了几乎没有任何一个跨平台技术能取代原生开发。
这是一个取舍的问题,对于一个程序来说,究竟性能有多重要。对于比较看重性能的程序来说,原生开发可能是最优选择。
但跨平台的性能损耗也有高低之分,并不在同一水平线上。
其实,无论是Electron,或是WebView2,都是基于浏览器内核+前端技术的跨平台桌面解决方案,这也是为什么要把它们放在一起聊的原因。
Electron是先行者(当然,严格说来,NW.js出现的更早,但今天它的流行度已远远落后于Electron了),而WebView2则是后来者。
那做为后来者的WebView2究竟做了哪些改进?它又有多大的能力来挑战Electron呢?
下一篇,继续聊。
Web前端开发,这已经发展多年的技术从最早的萌芽状态,发展到了今天的枝繁叶茂,各种技术的层出不穷也让开发者们不断地成长壮大。从最早的简单学习就能轻松应付,到今天的需要系统学习才能入职。那么,未来这项技术又将会走向何方呢?今天,千锋广州小编就和大家一起来看下。
小程序
作为目前前端最热门的方向之一,小程序自诞生之日起,就承担着重要的历史使命,其开发相对简便,无需安装就可使用的特性让一众APP开发者们如临大敌,毕竟如果这项技术得到了普及,APP或许就会被替代掉。
虽然发展势头迅猛,但是目前来看小程序想要在市场中拿到更多的份额或许还需要时日。厂商更新不积极,对超级APP平台的过于依赖,都是摆在小程序面前的棘手问题。所以,尽管小程序是Web前端开发未来的趋势之一,但是还是需要花费不少努力才能做到的。
跨端开发
得益于移动互联网的飞速发展,目前用户能够接触到的终端种类已经越来越丰富了,从最早的手机、电脑,到今天的电视平板等。万物互联这一概念将一众设备连接到了一起,而跨端开发,也就成了这一大趋势中受益最多的技术了。
目前较为成熟的跨端开发方案就数RN和fluter两种,其中RN已经有一段时间没更新了,进展速度缓慢,fluter使用的也相对较少。不过既然已经有了需求,那相信这些技术也会逐步跟上需求的成长速度。
Typescript
作为脱胎于JavaScript的一个超集,其到今天已经发展了有一段时间了,甚至已经有人猜想在未来typescript会取代JavaScript,尽管目前来看这是不可能的。但是它的出现,弥补了js的类型缺陷问题,也确实能够让Web前端开发变得更加轻松。所以,typescript在未来或许也可以在这个领域中占有一席之地。
5G
这虽然不是前端技术,但是它在未来的价值远高于前三个。如果说前三个是打造前端的技术,那么5G就是承载他们的载体。随着5G时代的深入发展,前端技术也必然会从中受益,实现更好的发展。
另外,目前5G还没有专属的应用场景,而Web前端开发,则是轻量化快速开发的代表,二者的结合将会碰撞出怎样的火花?我们拭目以待。
关于移动端跨端开发领域和移动端跨端开发领域包括的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 移动端跨端开发领域的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于移动端跨端开发领域包括、移动端跨端开发领域的信息别忘了在本站进行查找喔。版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~