当前位置:首页 > 每日看点 > 正文内容

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

卡卷网12个月前 (01-07)每日看点157

在用了在用了,我司的物联网技术方案,跑在内存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都是时代的翘楚,...

为什么雷军身上没有酒色财气?

武大建校130周年时,雷军向母校个人捐款13亿。在2023年8月14日晚上七点,雷总在国家会议中心举行的进行第四次年度演讲「成长」:全篇都在谈成长、梦想,这么多年了,始终做到了知行合一,我相信酒色财气可能真不是他所追求的,一直追求的就像他演...

怎样拥有一台最便宜的服务器?

怎样拥有一台最便宜的服务器?

内容提示:主打一个 DIY + 极限白嫖 =)某宝花10块买一个“随身WiFi”,刷入Ubuntu,用SSH远程连接,但是记得一定要把外壳撬掉然后粘个散热器(哪怕是白萝卜也彳亍),否则会过热详细去酷安社区搜“随身WiFi”=========...

中国的科技为什么在最近2-3年时间像突然大爆发一样?

这个真的得感谢1998年美国在南联盟使馆投的两颗大炸弹。在80年代中国下马了一千多个项目,用资金进口了近一百万辆小汽车。我记得小时候有一段时间从海南岛开往北方的漂亮日本小面包车,密集从村前公路上驶过,连过路的间隙都没有,就这样接连开了一个星...

如何评价小米14这款手机?

如何评价小米14这款手机?

本来小米 14 和 14 Pro 是打算放一起拆的,但是因为时间关系,实在凑不到一起了。所以今天给大家补一篇详细的图文拆解,基本信息都有了,如有遗漏可以在评论区留言。双卡上下放置,卡托材质为金属 + 塑料,内侧有防尘防水的胶圈。后盖为玻璃材...

发表评论

访客

看不清,换一张

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