当前位置:首页 > 每日看点

为什么不用c#做物联网?

卡卷网2年前 (2025-01-07)每日看点258

在用了在用了,我司的物联网技术方案,跑在内存2G的定制ARM设备上面,峰值内存占用500M左右,使用Akka.net作为核心框架,NLua作为脚本扩展机制。

的外部通信机制直接放弃自定义二进制类协议,在所有地方上Json+ASP.NETCoreWeAPI,没有遇到任何性能问题。

从研发到稳定上线,一路从.net3.1平滑升级上来,几乎没遇到任何升级导致的障碍,反而是运行速度越来越快。

就是有一点不好,发布的程序容易被反编译,最近正在研究AoT,看能不能全部走通。


补充一下为啥当初选择.NET作为技术路线,其实也是有过不同考虑的。做决策时,.netframework如中天,.netcore刚刚能稳定跑在ARM设备上,实测效果性能都还说得过去。而产品包括IoT服务跑在ARM设备上、PC客户端跑在Windows上、云端对接环境跑在云平台容器里,创业项目人手有限,开发效率、运行稳定性都要考虑在内。反而运行效率可以妥协。

备选方案包括这么几个:

    原生C++:能搞,实际上第一代产品也是C++做的,内存占用那叫一个低。但坑也在这里了,作为一个极度强调可扩展性的物联网应用,C++没有一个合适的分层处理框架,只能先放放go:C++更合适一些,无与伦的稳定性,对的,不是开发效率有多高,而是程序本身很容易搞稳定,C++在内存处理方面的坑少很多,没选的原因也是一样,没有合适的Actor框架,goroutine适合点对点处理,不适合像微服务那样公布出去,任意通信,也只能先放放rust:要么自己上,培养人太难,放弃Python:动态语言坑太大,直接放弃C++Qt:这个其实还行,不过涉及到商业授权问题,暂时放弃了Ja:有支持嵌入式的版本,但当时还不成熟,放弃了。如果有同学能搞定授权等问题,其实可以再考虑一下C#+.NETCore:对内存占用要求是C++类似的三倍以上,但性能倒是不差。几个库如Netty、Akka等都有成熟可的移植,而且同时支持嵌入式环境、桌面和云,综合判断后,就它了

现状:

内存占用稳定,性能优异,IoT主程序和PC配置工具共用了60%以上的代码。云端因为有新人,倒是全线使用了go作为技术栈。

结论:最新版本.NET值得信赖,不过对内存敏感的应用,还是要考虑go或者C++


(2024-2-12补充)

这个目前是有史以来收数最多的答案了,大家是准备悄学习关门练内功么?都光收不点赞的。

因为我毕竟不是专职的Ja程序员,所以有几个语言因素,以前没考虑到的,现在可以认为在物联网应用中也是极其重要:

    更丰富的数据类型,如无符号数值类型,避免大量小对象影响gcSpan<T>基于栈的内存分配stackalloc,与值类型和Span<T>搭配使用

现在看来,微软设计C#这门语言时,就考虑了大量前瞻性优化方向,并且将易用性降低到几乎不用担心的程度,在物联网应用方面,上面这几个Ja多出来的特性也让它更适合开发IoT应用,对于资源较低的环境,也更友好。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/7029.html

分享给朋友:

相关文章

什么软件可以看电视直播?

什么软件可以看电视直播?

2024年9月6日最新更新:本文列举的 所有看电视直播、或流媒体影视资源点播的软件,我这两天又重新梳理成最新版本,最大程度保证可用性。获取方式见文末图片,或见评论。后续我也将持续更新,文章是旧的软件也会是新的,保证都是最新可用版本。作为一个…

如何在自己家里建立一套私有云系统?需要哪些设备?

如何在自己家里建立一套私有云系统?需要哪些设备?

我敢保证,这绝对是目前为止最简单的搭建家用私有云的方法: “一台主机+至少一块硬盘”足矣!不需要任何专业知识,也没有复杂繁琐的步骤,十分钟不到就能搭建好,帮你成功打开文件云储存新世界的大门!还在单纯依靠网盘进行文件存储的朋友,不是我吐槽哈,…

NAS那么好,为什么还是没能成为大多数家庭必备的存储设备?

NAS那么好,为什么还是没能成为大多数家庭必备的存储设备?

最主要原因是因为——贵! 看看我家里搭建的这一套吧。 目前我家中有5台常用的NAS,分别为群晖DS1522+、威联通TS-464C2、绿联DX4600 Pro 、极空间Z4S、威联通TS-AI642。个人认为,这其中的每台NAS都是时代…

下一个风口最可能是什么?

下一个风口最可能是什么?

肯定是一带一路了,国内没什么卷的空间了,现在国家正在给一带一路的第三世界国家建设基础设施,等交通打通之后,就是通信打通,通信打通就是贸易打通,未来我建议大家重仓小语种,阿拉伯语最值得学(也有其他小语种自己去查一带一路国家),将来去其他国家随…

用wordpress做这个网站的话,需要用到哪些插件?

一个完整成型的B2C电商独立站,如果用wordpress+woocommerce搭建,最终会用上20来个插件,而且是在经过慎重筛选,剔除不必要的插件的情况下,别问我为什么。 wordpress建站,插件安装多了,速度会变慢,这是常识,但需要…

有哪些好玩到爆的小网站?推荐?

有哪些好玩到爆的小网站?推荐?

1、Poki 免费在线游戏 https://poki.com/zh 免费在线小游戏网站。 上千款在线游戏,完全免费,无需登录,打开就能玩。 2、http://YORG.io https://yorg.io 超耐玩的塔防游戏。搭建自己的防…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。