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

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

卡卷网1年前 (2025-01-07)每日看点178

在用了在用了,我司的物联网技术方案,跑在内存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

分享给朋友:

相关文章

b站真的能自学PS吗?

b站真的能自学PS吗?

看你想达到哪一种程度了,如果你只是平常用PS扣图、调整照片大小、尺寸、简单调个色这样,自学真的挺简单的,B站很多免费的教程都可以教会你这些技巧。但是如果说你想成为专业的设计师或者是商业修图师,无师自通真的非常难,首先你会走很多弯路,不知道怎...

提升自己最快的方式是什么?

提升自己最快的方式是什么?

1.稻盛和夫说过:“改变自己最快的方法就是做自己害怕的事,不敢做的事,认为自己做不到,觉得不可能的事。如果在自己的舒适区待久了,就会丧失斗志,如果想快速的改变,可以坚持去做一些对自己有益的事。2.早睡早起,坚持运动保持旺盛的精力,人生拼到最...

抖音上有一些账号搬运别人的视频,几乎一模一样,也没判搬运,他们是怎么做到的??

对于任何短视频平台来说,如何用最低的成本快速实现伪原创搬运都是需要解决的问题。所有的短视频平台,包括抖音、快手、tiktok、视频号、小红书、B站,甚至是FB、推特、INS、YouTube,它们的查重技术都是类似的,只要你在网络环境设置得当...

为什么不建议买游戏本?

我建议厂家改名厂家犯了个巨大错误:游戏本的主要受众是在校大学生,但大学生买电脑的买单人是他们的父母。你让父母给孩子买个游戏本,父母怎么想?如果你改成高效学习本、优质学习本、智能学习本、高速学习本,甚至硕博连读本,你看看家长舍不舍得砸这个钱...

为什么张雪峰什么专业都懂?

他不懂专业,他懂的是就业。我记得有个老哥,家里条件不好,母亲吸血。想脱离家庭张雪峰眼睛一亮就说这是个学土木的好苗子。作为土木人我可知道他说的太对了,这种人学土木毕业进中建中铁,直接给你拉非洲看大鳄鱼呲牙。工资不低还能脱离家庭,可不是个学土木...

SWITCH销量会破亿吗?

SWITCH销量会破亿吗?

不可能破亿的。能过5000万就了不起了。我觉得是过不了5000万这条线的,要是过了的话,每过100万我在这个回答里更新一个任天堂游戏人物的画像。愿赌服输。5100万突破的马里奥5200万突破的碧琪公主财报更新了,目前5577万。5300万突...

发表评论

访客

看不清,换一张

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