首页 > 编程语言 >坚决不走小程序,而是走插件化

坚决不走小程序,而是走插件化

时间:2024-05-22 18:07:06浏览次数:34  
标签:Web 插件 程序 跨平台 开发 开发者 坚决

程序发展的必然方向,就是插件化;

https://tech.meituan.com/2019/12/19/meituan-mrn-practice.html

程序发展一定会经历的阶段:

  1. 业务要求快速发版试错和原生迭代周期长;
  2. 必须搭建自己的开放平台,而搭建自己的开放平台,要么使用小程序来扩展,要么使用原生语言插件;
  3. 若不使用插件化,业务持续增长带来的安装包的大幅增长,且每次一个小更新,用户就需要更新整个安装包;
  4. 内部难以并行开发,外部开放平台的开发者更是如此;

小程序 为什么不使用 插件的方式,而是使用 js + web技术栈

小程序之所以选择使用 JavaScript(JS)结合 Web 技术栈,而不是完全依赖于插件方式,主要有以下几个方面的原因:

  1. 跨平台兼容性

    • JS + Web 技术栈(HTML、CSS)是一种广泛被采用的标准,具有良好的跨平台兼容性。这意味着无论是在哪种操作系统或设备上,只要支持这些Web标准,小程序就能够正常运行。
  2. 开发效率和成本

    • 使用 JS + Web 可以利用现有的 Web 开发资源和人才库,降低开发者的学习成本,提高开发效率。同时,这种技术栈的普及度高,有大量的开源库和框架可供使用,进一步减少了开发难度和时间成本。
  3. 性能与体验

    • Web 技术经过多年的发展优化,已经能够提供相当不错的性能和用户体验。小程序通过采用双线程模型(渲染层与逻辑层分离),能够进一步提升页面的渲染速度和响应能力,从而为用户提供接近原生应用的体验。
  4. 插件的限制

    • 虽然插件可以提供一定的功能扩展性,但它们通常是针对特定功能或服务的封装。完全依赖插件可能会导致小程序的功能受限于插件的更新和兼容性,而且不同的插件之间可能存在冲突或整合问题。
  5. 安全性与可控性

    • 小程序运行在一个受限制的环境中,通过使用 Web 技术栈,平台可以更好地控制代码的执行和资源的访问,从而提高小程序的安全性。此外,JS 的沙箱环境也能有效隔离不同小程序之间的代码和数据,防止相互干扰。
  6. 更新与维护

    • 使用统一的 Web 技术栈便于小程序的更新和维护。当需要修复bug或添加新功能时,开发者可以更加高效地进行修改和部署,而无需担心不同插件之间的兼容性问题。

综上所述,小程序选择使用 JS + Web 技术栈是出于跨平台兼容性、开发效率、性能体验、安全性以及更新维护等多方面的考虑。这种选择使得小程序能够在各种设备和操作系统上提供一致且高效的用户体验。


是选择小程序还是选择原生插件呢;

原生插件

优势:

  1. 运行速度,功能复杂度;都没有问题;人才储备也没有问题;

劣势:

  1. 过渡灵活强大,安全性,收到重大挑战;因为开发者好比开发原生应用一样,无所不能;

    解决方法:

    • 使用gitee,要求所有开发者开发的插件的代码,必须在我们自己的代码库里,由我们来统一管理这些代码;对这些代码进行扫描;禁止使用 一些敏感的原生函数或库;对代码进行扫描;
  2. 不跨平台,每个操作系统都有自己的原生插件,就是说开发者开发一个插件,要若跨平台需要 使用不同的语言开发多次,这个没有问题,可以接受;

  3. IDE 、编译器、程序语言版本 不一致导致的问题;比如 delphi 10编译出的bpl,delphi11就无法兼容;

    • 解决方法:由于我们控制了所有插件的代码,我们自己的宿主程序 若要升级,则把全网的插件的代码 统一编译一下,得出新的插件,就可解决;我们的MySQL里 有宿主对应的 IDE 编译器 程序语言版本;

小程序

优势:

  1. 跨平台,web技术栈;

劣势:

  1. 运行效率低;
  2. 功能简单,只能开发一些简单的功能,无法开发复杂的功能,所以叫小程序;
  3. 整个小程序下来,小程序的发明商需要提供IDE测试工具,开发文档与 web技术栈,还不是完全相同;必须用特定的技术和IDE来开发,如 wxxml、wxcss这类与 html、css相似的封装的东西;
  4. 小程序提供商,也是需要做的工作挺复杂的,只所以搞这么复杂就是为了安全;为了安全无底线的复杂下去,不值得,其实完全可以靠机器扫描开发者代码或人工审核的方式,来避免这个问题,苹果的appstore就是 通过审核来解决这个问题的,而不是使用web技术栈,再嵌套一层 复杂的技术栈,来解决这个问题;为了安全绕这么大一圈;这个发明小程序的人,只能说是个技术程序员,希望依托技术来解决这一切;没有意义;没有站在真正的价值的角度来思考问题;

下班了,改天再写;

标签:Web,插件,程序,跨平台,开发,开发者,坚决
From: https://www.cnblogs.com/del88/p/18206845

相关文章

  • 从需求出发:专业程序员进阶之路
    从需求出发:专业程序员进阶之路在软件开发的征途上,需求管理是每位程序员进阶的必经之路。作为专业程序员,能否准确把握需求,不仅关系到项目的成败,更是个人技术进阶的重要一课。本文将探讨如何从需求出发,实现专业程序员的进阶之路。混乱的需求:进阶绊脚石我们正在进行的的AI智能回......
  • 小程序页面跳转
    1wx.navigateTo:跳转到新页面,可以返回上一层页面2wx.redirectTo:跳转到新页面并且关闭当前页面,不可以返回上一层页面(跳转到指定的非TabBar页面)3wx.reLaunch:跳转到新页面并且关闭当前所有页面,不可以返回上一层页面4wx.switchTab:跳到属于tabBar的页面5wx.navigateBack:关闭当......
  • 战神程序机烧录有区域限制怎么办
    战神程序烧录有区域限制怎么办,战神改程序后烧录,手机显示区域错误。当我们使用战神机程序次数用完或要修改玩法时,编辑好玩法烧录时会提示烧录数据区别不匹配,这是由于厂家为了维护经销商的利益设置了区域保护,每台设备都有自己的区域。烧录APP会定位你所在的位置如果和你机子设备......
  • 小程序用什么css框架
    随着小程序的快速发展,越来越多的开发者开始关注小程序的前端开发。在小程序的前端开发中,CSS框架是一个非常重要的工具,它可以帮助开发者快速构建出漂亮、响应式的界面。那么,小程序应该使用哪种CSS框架呢?在本文中,我们将介绍几种常用的CSS框架,并分析它们的优缺点,帮助开发者选择适合......
  • 如何获取小程序路径
    小程序路径是指小程序在用户手机上的存储位置,也就是小程序的安装路径。获取小程序路径可以通过以下几种方式实现:调用小程序API获取路径:小程序开发框架提供了一些API可以获取小程序的路径信息。例如,可以使用wx.getStorageInfoSync()方法获取小程序的本地存储路径。这个方法返回一......
  • 如何提升百度小程序的收录?百度小程序如何做优化?
    ​ 如何通过百度小程序获得更多的自然流量?这是做百度小程序肯定要考虑的问题,做百度小程序的目的就是想借助百度生态,做相应的关键词给自己的小程序引流,如何把流量给做起来呢,接下来我从不同的方面给大家进行分析讲解。合理设置标题、关键词、页面描述​ 做web开发的时候我们都知道......
  • Java实验五: Java多线程程序设计(头歌)
    一、线程接力编写一个应用程序,除了主线程外,还有三个线程:first、second和third。first负责模拟一个红色的按钮从坐标(10,60)运动到(100,60);second负责模拟一个绿色的按钮从坐标(100,60)运动到(200,60)。third线程负责模拟一个蓝色的按钮从坐标(200,60)运动到(300,60)。第一步以下是ideajdk1.8的教......
  • ASP.NET Web应用程序创建的webservice接口如何在postman里测试调用
    ASMX中的方法 启动项目浏览器展示的页面如下 点击ReceiveOrder,展示该方法的请求和响应示例 在postman中输入以下信息 选择raw--xml,粘贴浏览器中的SOAP1.1或者SOAP1.2中的请求示例 点击Send按钮发生请求 SOAP1.1以下是SOAP1.1请求和响应示例。所显示的占位......
  • Ubuntu上使用QT creator运行cuda程序 转载的文章
    突发奇想想尝试一下QT界面中使用CUDA加速过的程序,然后查了一下资料,总结一下有以下几点吧1、CUDA配置全部放在.pro文件中2、main.cpp为主函数使用g++编译3、kernel.cu为核函数使用nvcc编译不多说上代码以下为main.cpp代码   #include<QtCore/QCoreApplication>       ......
  • 软考知识点整理-程序设计语言
    语义分析阶段:程序编译过程中,执行类型分析和检查语用分析阶段:表示构成语言的各个记号和使用者的关系程序设计语言的基本成分包括数据、运算、控制和传输枚举属于用户定义类型符号表是存储程序源代码中每个标识符和声明的信息动态查找表是查找key的值,若存在则返回位置,不存在就......