找回密码
 立即注册
查看: 183|回复: 4

此刻斗劲风行的热更新方案有哪几种,它们之间有什么区别?

[复制链接]
发表于 2024-7-15 17:49 | 显示全部楼层 |阅读模式
此刻斗劲风行的热更新方案有哪几种,它们之间有什么区别?
发表于 2024-7-15 17:49 | 显示全部楼层
墙裂推荐小程序技术做热更新。
小程序技术是一种很有前景的移动开发技术,尤其在移动App开发中,高频业务场景的热更新方向上。
时间来到了2024年,小程序的技术已经作为企业构建超级App的一种快速迭代业务场景,或者便捷引入第三方生态的技术“利器”,小程序技术以“开发成本低、开发速度快、用户体验好”等技术优势,深得开发者的喜爱。加上微信在国内重点发力推广小程序软件生态的发展,已经有1000+W的成熟小程序业务场景在微信上运行,且深得用户的广泛使用。
既然主打“快速开发”,那么肯定是有适合及不适合的场景。
适合用小程序开发的场景


  • 低频、高需求的场景: 小程序无需下载安装,即用即走,非常适合低频、高需求的场景,例如:工具性应用、信息查询类应用、生活服务类应用等。
  • 需要快速触达用户的场景: 小程序可以通过微信公众号、朋友圈、二维码等方式快速触达用户,非常适合需要快速触达用户的场景,例如:营销推广活动、临时活动、线下门店等。
  • 需要与App内生态深度结合的场景: 小程序可以与微信支付、微信授权、微信分享等功能深度结合,非常适合需要与微信生态深度结合的场景,例如:电商应用、社交应用、游戏应用等。


相比于传统的原生应用开发技术,小程序技术具有轻量、快速开发、跨平台、无需安装、更便于用户使用等优势。小程序不需要用户下载安装即可使用,同时小程序的开发成本相对更低,开发速度更快,也更易于维护更新。小程序技术还支持跨平台运行,可以同时在多个移动设备上运行,极大地扩展了应用的覆盖范围,为企业和开发者带来更大的商业价值。市面上一些比较知名的小程序容器技术产品包括:微信、支付宝、百度、抖音小程序等,他们都是以完善大社交平台自有小程序生态的技术底座,能提供第三方进行私有化部署的有:FinClip、mPaaS等产品。据了解,FinClip自行研发的小程序容器技术,能够让企业的App能具备快速运行小程序的能力,他们家的SDK还能嵌入除App以外的职能设备终端中(如 Linux、Windows、MacOS、麒麟等操作系统上运行)。
不适合用小程序开发的场景


  • 对性能要求高的场景: 小程序的性能受限于微信平台,如果应用对性能要求较高,则不适合使用小程序技术。
  • 需要访问本地设备功能的场景: 小程序无法访问一些本地设备功能,例如:相机、麦克风、传感器等,如果应用需要访问这些功能,则不适合使用小程序技术。
  • 数据隐私要求高的场景: 小程序的用户数据存储在微信的服务器上,开发者无法完全控制,如果应用对数据隐私要求较高,则不适合使用小程序技术。
小程序技术天然适合场景化热更新

小程序技术可以实现移动开发的前端热更新。热更新是指无需重新发布应用即可更新应用的前端代码,从而为用户提供更流畅、更及时的体验。小程序技术实现前端热更新的技术背景主要有以下几点:

  • JavaScript 的普及:JavaScript 已经成为前端开发的主流语言,其动态特性使得热更新成为可能。
  • Service Worker 的支持:Service Worker 是一个 Web 标准,它允许 Web 应用程序在后台运行并拦截网络请求。小程序技术利用 Service Worker 来实现热更新。
  • 小程序平台的特性:小程序平台通常提供了一些额外的功能来支持热更新,例如缓存机制和更新检查机制。
以下是一些小程序前端热更新的具体实现方法:

  • 使用 Service Worker 拦截网络请求:Service Worker 可以拦截对 JavaScript 文件的网络请求,并返回最新的代码。
下面是一段代码示例:
// sw.js
self.addEventListener('fetch', event => {
  // Intercept requests for JavaScript files
  if (event.request.url.endsWith('.js')) {
    // Check if there is a newer version of the file in cache
    caches.match(event.request).then(cachedResponse => {
      if (cachedResponse) {
        // Check if the cached version is the latest version
        fetch(event.request).then(networkResponse => {
          if (networkResponse.status === 200) {
            // If there is a newer version, update the cache
caches.open('my-cache').then(cache => {
              cache.put(event.request, networkResponse);
            });
          }
        });

        // Return the cached version of the file
        return cachedResponse;
      } else {
        // If there is no cached version, fetch the file from the network
        return fetch(event.request);
      }
    });
  } else {
    // Pass through other requests
    return fetch(event.request);
  }
});

  • 使用缓存机制缓存已下载的代码:缓存机制可以提高热更新的速度,并减少对网络带宽的消耗。
  • 使用更新检查机制定期检查是否有新的代码版本:更新检查机制可以确保用户始终使用最新的代码版本。


小程序技术可以实现移动开发的前端热更新,并具有提高用户体验、降低开发成本和提高应用灵活性的优势。然而,热更新也增加了开发复杂性和潜在的安全风险。
移动应用开发历经多年演变,如今已成为各行各业不可或缺的一部分。然而,传统应用的更新迭代往往需要用户重新下载安装,不仅耗费流量和时间,也影响了用户体验。小程序技术的出现,为前端热更新提供了全新的解决方案,为移动应用开发开辟了新的篇章。
小程序作为轻量级的移动应用形态,凭借其无需下载安装、即用即走的特性,迅速获得用户的青睐。同时,小程序技术也为前端热更新提供了天然的优势。通过 Service Worker 等机制,小程序可以拦截网络请求,动态更新前端代码,而无需用户重新下载应用。
展望未来,小程序技术将继续发展完善,为前端热更新提供更加强大的支持。随着小程序生态的不断壮大,小程序前端热更新也将发挥更大的作用,推动移动应用开发迈向更高水平。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2024-7-15 17:50 | 显示全部楼层
这个策略,是否能实现稳定盈利,一定要根据市场的反应进行循环调整,也就是对持有的板块,进行汰弱留强。只有这样不停的进行反馈修复,才是实现稳定盈利的本源。你买入了一个板块,千万不能屁股决定脑袋,这是基本面研究派最容易犯的错误。总认为自己对基本面研究的很深刻,这个板块不涨,不是反思自己犯错了,而是把所有的责任推给市场,是市场老师犯错了。这种想法是非常错误的,说句通俗的话来说,你是来市场挣钱的,不是来市场给你讲道理的。再说一句,你所谓的基本面研究,很有可能并不是事实的全部,你所有的研究,都是基于公开的资料和数据,你不可能了解的太深入,因为很多数据,特别是机密数据,你根本拿不到。
目前我们的5个板块,分别是AIGC板块,钙钛矿板块,一体压铸板块,煤炭板块和小金属板块。经过我们大数据分析,我们会对这5个板块进行体检,淘汰掉那种跟上我们节奏的板块,我们要求是保证整个组合的最强的抗击打能力,和最优秀的进攻能力。下周我们会对这5个板块中的一个今天替换,这个需要替换的板块,就是一体压铸板块。我们会用东数西算(算力)进行替换。




我们可以看看上面的截图,这个板块,数据非常漂亮,完全符合要求。东数西算一体化算力服务平台在宁夏银川发布,正式上线运营。随着“东数西算”战略加速落地,宁夏瞄准目前最稀缺、刚需迫切的ChatGPT运算能力,已在宁夏中卫开工建设GPU大算力基地,建成后,将会接入东数西算一体化交易平台,以支撑国内人工智能运算平台急需的大算力服务。
什么是东数西算?数”指的是数据,“算”指的是算力。通俗地讲,“即把东部的数据传输到西部进行计算和处理。东数为什么要西算?因为目前我国数据中心大部分,分布在东部地区,但土地能源等资源日趋紧张。在东部大规模发展数据中心难以为继,而西部地区资源充裕,可再生能源丰富,具备发展数据中心,承接东部算力需求的潜力。
经过贝塞尔三阶拟合算法的加持,目前量化算法的进入了新的阶段,我对目前的实战战况非常满意,后续我也会继续优化。
下面这2个表,反映的是连板股和昨天涨停今日的表现情况,这种复盘数据,对于复盘数据,对于测量市场温度,是非常必要的,也是很多一流超短选手每天复盘的必修课。我通过我的数据特长,把这些整理出来,让大家更加直观的看到,了解市场情绪的变化情况。下面2个图,是最新的数据:




数据解读:小心使得万年船。

02
市场主流板块

对于主流板块的分析,我主要是采用2条路线,一种是通过涨停分类,另外一种是通过睿神的主流板块判断方式,通过2条不同的路线,来综合判断。
一)涨停分类法




二)睿神判断主流板块方法
睿神是谁?我不想多说,有兴趣的朋友自行百度。根据的睿神的线上发言整理的文字,我们提炼下,他判断主流板块的量化指标,我觉得非常有参考价值。我们不是要抄别人的代码,而是要学习大神们的一些经过实战考验的思路和策略。并通过自己的数据量化验证,逐步形成自己的操盘体系
总结下:
一,选股
1,看3%以上的板块指数个股,看8家以上涨停的板块,在以上板块里面选择强势股,第一时间介入或者次日。板块指数持续性趋势新高,这个是加分项。
2,看赚钱效应多统计近期热点,看下是小盘低价还是大盘价值,赚钱效应在哪里就去哪里。
3,二进三,三进四,龙回头
4,看新题材,新概念
二,卖股
1,亏5%止损,不看好走,板块小弟没有了助攻走
2,看概念大小决定能走多远
3,龙头首阴,连板一只首开

关于判断板块热点,睿神提出的一个很好的量化指标,看3%以上的板块指数个股,看8家以上涨停的板块,在以上板块里面选择强势股。我利用我的大数据挖掘专长,用今天最新的数据进行挖掘,得出了以下结论,我要说明的是这个数据是今天最新的数据,我会公开验证一周时间,后续不会持续公开。




数据解读:小心使得万年船

03
个股和组合

以后,我把这个作为一个固定栏目,放在我的每天的文章里。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2024-7-15 17:50 | 显示全部楼层


  • 语言/虚拟机

    • 上图中比较了三种热更新方案,ToLua和Xlua都是基于Lua的热更新方案,在端游时代经常会使用Lua做脚本热更新的方案,在手游时代出现了ILRuntime热更新方案,现在又出现了Hybrid热更新方案
    • 传统的热更新方案,不管是ToLua还是Xlua方案,都是基于另外一门编程语言,比如你在学习Unity时会用到的编程语言是C#,如果你要想用Lua进行热更新,那么你还要再去学一门Lua编程语言
    • 但是在端游的时代大家都觉得这个方案很高效,因为端游时代的底层一般是基于C++的,C++本来就没有那么多性能问题,不像C#,很多同学使用C#开发服务器时,如果一开始只是开发一个规模小点的项目,那还没关系,但开发的规模大了以后C#就会出现性能问题
    • 所以用C++跟Lua交互是没有问题的,但在Unity里,由于C#跟Lua是两套不同的机制,所以存在双向交互的开销,这个交互开销是由语言的内存模型不同造成的
    • 为了降低学习成本,就出现了ILRuntime热更方案,ILRuntime基于C#编程语言,它的好处就是你不再需要从头学习Lua,可以直接基于C#进行编程
    • 但是ILRuntime也有一些缺点,ILRuntime跟Lua一样都有自己的虚拟机环境,它们都会用虚拟机解释Lua或C#的指令,正是由于这个虚拟机的存在,造成了不管是Lua还是C#,它们的语言翻译成机器指令后都需要由专门的虚拟机解释,然后再去跟Unity的原生执行环境进行双向交互,这样就造成了交互开销,所以在ILRuntime之后又提出了一个新的热更新方案,也就是HybridCLR
    • HybridCLR没有虚拟机,这是它与传统热更新方案最本质的区别,也正是由于它没有虚拟机,所以它没有虚拟机之间进行双向数据交互的CPU和内存开销,这是HybridCLR在性能上的一个好处

  • 学习曲线

    • 由于Xlua和ToLua都是基于Lua语言的,而Lua语言是一种弱类型的语言,所以没办法得到精确的代码提示,网上虽然有一些能够提供代码提示的工具,但是这些工具都是基于原生语言的解析,它本身的代码提示也不是特别精确,并且你除了要学习Lua语言外,还需要学习基于Lua的面向对象、Lua的编程框架
    • 这些东西其实都是为了使用Lua而增加的额外负担,所以更精简的方案就是使用ILRuntime,再精简一点就使用HybridCLR,ILRuntime还有一个问题就是虽然语言上统一了,但由于ILRuntime本身也是有自己的虚拟机的,所以ILRuntime的数据类型其实并不统一,需要对一些特殊情况进行适配,比如一些泛型、代理、继承,这些语法特性是需要专门进行适配的
    • HybridCLR不需要做任何适配,也不需要额外学习编程语言,它的底层机制是修改了Unity的一部分源码,所以是无感透明的

  • 性能方面

    • ToLua和XLua的性能是比较低的,ILRuntime的性能相对要好一些,HybridCLR由于没有虚拟机,所以性能也会高一点

  • 成熟度

    • 在端游时代,用ToLua和Xlua的比较多,但如果你到现在还在学习ToLua或者Xlua热更新,那么你的项目可能是一些比较传统的项目,就比如国内的一些MMORPG游戏,这些游戏大多都是从端游时代移植过来的,所以这部分游戏的主流热更新方案就是Lua
    • ILRuntime是有Unity官方支持的,虽然HybridCLR是一个新的热更方案,但据官方描述,它并没有太大的问题,并且也正在接入一些商业项目

详细内容可以参考下方完整视频

一小时极速掌握HybridCLR热更新
https://www.zhihu.com/video/1543308829223456768

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2024-7-15 17:51 | 显示全部楼层

  • 现在比较流行热更新方案有三种

    • 1,XLua
    • 2,ToLua
    • 3,ILRunTime

  • 这三种方案有什么区别呢?

    • 第一种方案是基于热补丁的更新方式实现的
    • 第二种方案是比较传统的热更新方式
    • 上面这两种方式都有一个缺点,就是需要另外学一门编程语言,这对于大部分小游戏公司来说都不怎么友好,因为招一个只懂C#的程序员的成本肯定比招一个既懂C#又懂Lua的程序员要低
    • 所以前面两种开发方式对小游戏公司不怎么友好,而且它们的性能也没有ILRunTime高,在游戏开发中我更建议大家使用第三种方案,也就是使用ILRunTime进行开发

详细内容可以参考我们的《休闲游戏开发与变现》公开课
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-23 17:50 , Processed in 0.126171 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表