当前位置: 首页 > 网络应用技术

[历史观点]选择前端混合发展技术

时间:2023-03-05 22:00:37 网络应用技术

    经过多年的手机开发,最终被Android和iOS使用了。我仍然记得很多年前,我特别想购买诺基亚塞班岛系统的手机。后来,在亲戚购买后,各种应用不支持它。手机仍然不错,而且还不错,但是还不错。请记住那些年的Windows Phone,我一直觉得它仍然与当前的Window10设计一致。

    历史选择,让我们进入移动互联网的时代,并在我们的行业中进行大规模发展。JavaScript的出色发展几乎是入侵的历史。从每个人都认为这种脚本语言不一定在浏览器上运行,它已经快速开发了。object-c = ios。

    2008年8月,世界上的电话盖板代码诞生了。iOS程序员无法忍受对Object-C的硬语法和奇怪的语法的原因。该程序员只是注意到了网络脚本的巨大前景。他发现Object-C显然并不像简单的HTML+JavaScript那样容易,并且与熟练的Object-C程序员相比,很明显,熟练的前端开发人员更容易找到训练。意识到世界需要这样的中间件,因此Web开发人员熟悉诱导者的HTML,CSS和JavaScript技术)。

  最早的交叉平台开发(取自“ Apache Cordova移动应用程序开发” Wang Yafei,Wang Hongfei)

    不难发现选择很多应用似乎比您更了解自己,所以它做了什么?让我们看一下...

    每个人都说小米的MIUI12已经移动了互联网蛋糕。它指定了规则,并让每个人一次尴尬,然后我们使用MIUI查看一般移动应用程序的获得。

    然后,除了这些用户隐私的内容外,我们还可以使用该应用程序执行一些网页吗?

  获取设备上的设备信息读取/写文件上传或在设备上下载相机控制应用程序。hardware消息提醒)让设备Bee Bee牛肉或振动获得了电池状态信息,以检测应用程序是否已与微信共享安装,登录,付款手电筒插头等。当然,对于大多数公司来说,及时推动(骚扰消息)战略性,可以在货架上促进一个应用程序,就像官方网站一样重要。它可能没有价值,但可能会使一些合作伙伴虚张声势。

    如果您所在的公司金币就像无限开放,那么我不建议您看到它。毕竟,富人公司的经验是最重要的。

  现在学习iOS是在49年内进入国民军

    这句话似乎总是互相嘲笑,但这也是技术成本压缩下的无助,因为毕竟,并非每个公司都有这种力量和资金来养活一个Android团队,iOS和iOSTEAM,当然,也可能是两个发展,但这也是计算的成本。

    所有这些也与混合开发技术的诞生有关。当然,一家最富有的公司将选择养活少量的Android团队和iOS团队,让他们制作一个粗略的框架,然后通过WebView(如果您可以的话,“理解这种控制,然后您认为它是iframe的,它不会被拧紧),索托尼克手段,进行一些沟通以实现应用程序,这也是一个混合的开发。

  然后,让我们讨论该技术的优势。

  研发效率:最大化代码重用,降低开发成本并提高效率,以贯穿整个业务技术方向。将来启动该应用程序后,它可以继续降低随后的维护成本并加快迭代速度。这是一个持续的效率收入。

  Self -Worth:学习后,它无疑改善了前端团队的技术状况,它也是评估交叉端技术的重要评估点。Cross -Platform可以降低就业成本,并避免筹集两个(Android)(Android)/iOS)开发团队同时。对于开发人员,跨平台可以降低学习成本。

  多端并发症:优质产品通常在多端UI设计中统一。因此,在业务方使用自己的独立开发后,需要大量时间来修改UI,以确保保证多端一致性。

  用户体验:就技术而言,就像鱼与熊的爪子之间的关系,同时促进开发的同时,同时牺牲了性能体验。如果您发现鱼类和熊的爪子可以两者都有这消除了其历史的舞台。

  一般而言,跨平台开发可以通过以下三个点使用。

  网络技术:这主要取决于网络浏览技术,功能支持有限和性能经验不佳,例如电话盖,科尔多瓦,小程序。

  本机渲染:使用JavaScript作为一种编程语言,并通过中间层转换为本机控件,以渲染UI接口,例如React Antive,Weex。

  自我渲染技术:为了自己实现一组渲染框架,可以通过调用SKIA和其他方法来完成自我施用,而不是依靠诸如扑朔迷离和统一的本地控制。

    Cordova提供了一组与设备相关的API。通过这组API,移动应用程序可以使用JavaScript访问本机设备功能,例如摄像机和麦克风。Cordova还提供了一组统一的JavaScript库,以及与这些库中使用的设备相关的本机背景代码。Cordova支持以下支持。移动操作系统:iOS,Android,Ubuntu Phone OS,BlackBerry,Windows Phone,Palm Webos,Bada和Symbian。

    2008年8月,PhoneGap在由旧金山持有的iPhonedevcamp上建立了一个立场角,名为Phonegap的想法:“ Web Technology和iPhone之间的差距桥梁。可以看到,原始创作者对他的“为iPhone开发的空气桌面技术”的评估(Air Desktop Technology使Web开发人员使用了。

    HTML,CSS,JavaScript开发桌面应用程序)。2009年2月25日,PhoneGap0.6发行了PhoneGap历史上的第一个稳定版本,支持iOS,Android,BlackBerry Platform。现在。SlowlowlyPhonegap开始支持更多的平台。这次,Flash的持有人Adobe被乔布斯宣布,他开始意识到这个项目似乎是他放弃Flash并寻找替换的产品。2011年10月4日,Adobe宣布收购Nitobe。收购后,Adobe并没有做出太多的贡献,而仅为原始的Phonegap和PhoneGap构建提供服务,并做得很好。

    后来,Adobe将PhoneGap捐赠给Apache Foundation作为开源项目。但是,在项目开头,Adobe内部的员工维持了该项目。由于Adobe仍然保留了PhoneGap的商标所有权,这导致电话盖在此期间被视为Adobe的私人财产。直到PhoneGap 1.4发布了Apache的名字,Apache才真正宣布了Cordova这个名字(这是Apache的时间更名(Apache Callback的时间)。看到这段历史时期,您可能会在另一端想到JavaScript和Ecmascript。您会发现科尔多瓦(Cordova)与JavaScript的电话盖和eCMAScript有多相似。

  开发成本相对较低,并且可以与旧业务完美整合(当已经存在H5端或未来时)。任何快速且方便的解决方案,它都会牺牲技术本身的体验,而Cordva Technology也不是例外。您还可以使用插件方法来调用更多本机API。对于某些旧的Android设备和低版本,他的兼容性不是很友好,并且可能有一些问题。它可以更快地扩展并实现飞行员的目的社区还不够,插件仍然是一个私人开源项目。  技术优势和缺点似乎仍然很明显。如果您目前在启动团队中,在您的团队中,不仅有几乎没有土著的发展,而且还有前端人力,而且不是富人。您的运营似乎并不清楚,该应用程序是否对团队具有战略价值开发。这次,您的团队有自己的H5代码(无论是反应,vue,JQ,Angular的技术堆栈不受限制)。

    有一个称为离子的开源解决方案,实际上是一组Cordva+Angular。Flexible使用WebPack制作一组自动化的Cordva+X。

  然后,我建议在最初的情况下,使用该技术进行试验和扩展。尽管用户体验将减少,但它可以通过数据频道软件包了解市场运营的能力,并且以后进行迭代也很方便。

  PS:这也可能是您自己的私人作品,壳技术也可以增加个人工作的成本。

  https://cordova.apache.org/

    React Native(称为RN)是2015年4月的Facebook交叉平台移动应用程序开发框架。它是Facebook较早的Open -Sour -Source JS Framework.esencern使用JavaScript语言的衍生产品,类似于HTML JSX和CSS开发移动应用程序。因此,熟悉Web的前端开发的技术人员可以进入移动应用程序开发的领域。

  开发成本是中等的。语法与反应写作没有太大不同。控件本身提供了相对完整的支持,仅支持iOS和Android。无法使用网络端,增加代码的重复使用。社区是完美的,插头相对丰富。Facebook已认可大型工厂。如果大版本升级,可能需要一些时间。体验更好。  不难看到,在过去的几年中,RN的技术已经获得了广泛的前端交叉平台技术。从招聘的角度来看,这是非常广泛的。它的工资通常略高于普通前端。它还希望您了解本地组件的混合发展。随着这些年限的努力,仅在设定组件的呼吁中才是稳定的。此外,Facebook尚未表面上。该技术的开发仍然更好。

    如果前端团队并不紧张,并且您碰巧理解反应(实际上,您只能理解Vue,您可以快速学习)。这项技术的稳定开发值得您使用。

  https://reaectnative.dev

    许多人认为小型节目是由微信首先启动的。实际上,DCLOUD是该行业的创始人。W3C和HTML5中国行业联盟推出了HBUILEDER开发工具,为后续的工业化做准备。

    2015年,DCLOUD正式将自己的小程序商业化。该产品称为“流动应用”。它不是B/S模式的轻度应用,而是一个可以接近本机函数,性能的动态应用程序,也就是说,即当时使用。

    为了在技术的引入技术中引入技术,DCLOUD向工业和信息技术部隶属的HTML5中国行业联盟捐赠了技术标准,并促进了各种交通巨头以接受标准并进行小型计划业务。

    一个使用vue.js开发全面端应用程序的框架,开发人员编写了一组代码,可以将其发布给iOS,Android,H5和各种Applet/Toobao),快速应用程序和其他平台。

    NVUE基于基于WEEX的增强版本。

    在这里,为什么讨论是Uni-App而不是WEEX。当时,在RN推出后,我们变得流行。

  但是不幸的是,Weex可能是历史上的一个耻辱项目,也就是说,他已经走了,Uni-App做了它所掌握的。

  该项目的特征在最大程度上也密切相关。

  ETC。

  开发成本更接近VUE技术堆栈的前端开发。还带来了兼容性问题。每个小型程序制造商以及各端的制造商,总有一些API呼叫。社区是完美的,插头 - 相对较丰富。DCLOUD被晋升为主要促销活动。经验是平均的。理论上的重复使用非常高,支持多端包装操作。

    对于更多的公司而言,使用Uni-App的最大功能是,它可以在最大程度上遍及整个平台。此外,它非常适合许多新来者。开发工具,其优势很强,它是其最大的缺点,因此有太多无法控制的因素。毕竟,对于许多开发,API的兼容性可能是您将遇到的主要问题。

    我的建议是,技术与公司的发展密切相关。如果将来是技术,飞行员飞行员可能会有所不同,而不是许多私人API之间的区别(有时间做兼容性,您可能会再次重新开放。在这种情况下是一个不错的选择。

  https://uniapp.dcloud.io

    塔罗是一个开放的十字架 - 末端交叉框架解决方案。它支持使用诸如React/Vue/nerv之类的框架来开发微信/JD/BAIDU/Alipay/Wicker/H5和其他应用程序。现在,市场上的上端有许多形式。Web,React Native,微信Mini程序和其他各种目的很受欢迎。当还需要同时执行业务需求时,他们可以为不同的目的编写多组代码。成本显然很高。目前,只有编写一组代码的能力才能适应多端。

    有趣的故事,为什么叫芋头?那是因为塔罗(Taro)['t t t:ro?],宇宙警察团队的首席讲师Tyro Ultraman,最强的Ultraman。

  社区相对完整。在与Uni-App Reuse,兼容性问题,每个小程序的制造商以及各个端的制造商的同时,总有一些API调用。将会有问题。理论上的重用非常高,支持多端包装操作。经验是平均水平。插头 - 市场相对缺乏。

    通常,它可能遇到的问题几乎是单次应用程序,您也可以将其用作塔罗的React版本的想法。对于新手用户,您可能必须考虑第一种计算机配置。它的版本是构建的,并且更加面向说明的设计。

    对于UI框架,没有一组开源UI项目可以真正运行,并且毕竟它也取决于版本。不幸的是,团队更友好,并且拥有一个特殊的外部体验组。问题的恢复就足够了。即使最近的3.0在线,它也将成为一个不错的选择,并且体验将比Uni-App更好。

  技术选择可能是前面提到的Uni-App,并且存在相同的问题。这是不可避免的,但是如果您的时间很丰富,并且经验有点追求,那么它可能会在选择中进行单项应用程序,它也会偏爱它。

  https://taro.aotu.io/

    Flutter是Google的移动UI框架,它可以在iOS和Android上迅速建立高质量的本机用户界面。Flutter可以与现有代码一起使用。在世界上,越来越多的开发人员和组织正在使用Flutter,并且Flutter是完全免费的,并且是完全免费的和免费的打开。

  与当前的混合开发解决方案相比,Flutter提供了大量文档,可以非常快速和友好地将您添加到这个大家庭。它不仅是WebView,而且在解释JS后使用了操作系统的本机控制。Flutter Core只是轻量级的C/C ++代码。,框架,小部件等),因此开发人员可以轻松读取,更改,替换或删除。这为开发人员提供了对系统的巨大自定义。

    对于移动终端,Flutter提供了与iOS样式保持一致的Android风格和Cupertino的材料。在滑动的同时,它具有反弹的效果。在Android平台上,显示了阻尼效果。当然,有时Flutter的框架提供的UI网格无法满足我们的需求,我们还可以自定义控件。

    Flutter支持开发热重新加载。与本地相比,该方法可以更有效地发展,并真正实现所获得的。

  用户体验在混合开发中是最好的。早期学习成本太高。社区是完美的。谷歌是主要促销活动。  毫无疑问,Flutter是近年来混合开发技术中最受欢迎的话题。它的流行评论也是一种流行。人们还谣言,看看交叉平台的技术,看看闲置的鱼队。首先,我想在这里说一个对不起的。除了完整的演示外,我没有将此技术用作商业技术的一种手段。为什么?然后让我们进行分析。

    毫无疑问,Flutter目前是当前用户体验的最佳技术体验。至于原因,每个人都知道这是因为它在发动机上的自我填充。但其学习成本代表了就业成本作为另一个角度。

    例如,对于个人发展,我使用上述任何技术,无论该技术如何迭代,无论我以后是否更改公司,我认为的深度都在三个主要框架和JQ之间未来的发展,问题并不大。当然,它仍然代表JavaScript中的特征,但是写作与我们普通的网页布局不同。如果消除了一天,可能是我们前线的未来发展 - 可能是一个奖励,但是它不会减少。

    对于公司而言,可以将旧项目团队成员的更换添加到新的已就业标准中以使用颤音,或者适应新移民时间,这也可以看不见地增加成本。

  https://flutter.dev/

     从2008年开始,跨平台技术要减少本地发展的工作量,直到2020年,在5G时代,我们将立即进入,实际上,焦点可能是可能的。一些不同的地方。也许只考虑如何仅制作一个应用程序。现在,它可能会考虑到公司用户流量的入口(所有名望公司都有一个小计划)。

  该团队仍在迭代且仍在发展,这解释了问题。鱼类和熊的爪子无法可用。如果可以的话,它肯定会消除技术。

    在正确的情况下,以及对未来的正确估计(并不总是认为您将来是很多项目),请使用一些合适的技术来更好地反映项目和产品的价值。

  原始:https://juejin.cn/post/7101333169240014844