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

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

卡卷网7个月前 (01-07)每日看点103

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

分享给朋友:

相关文章

有没有推荐什么手游搬砖,或者是用手机就能做的工作能日入100左右就好了?

有没有推荐什么手游搬砖,或者是用手机就能做的工作能日入100左右就好了?

大家好,我是思聪。思聪游戏搬砖社每天分享真实靠谱的游戏赚钱的方法。整个游戏的攻略用一句话概括就是:打元宝兑换平台物品,xx元宝兑换一个分红物品。你把你打游戏得来的元宝去兑换平台的分红物品,就能每天领取xx元的分红。(具体看是哪个分红物品,比...

为什么扫码支付在中国流行,在发达国家被排斥?

因为这是一种落后的技术。卖菜的大爷花5毛钱就可以打印出一张二维码来接受付款。你觉着这种先进么?跟先进完全不沾边的。正是因为不先进,所以才能流行。卖菜大爷用不起一台先进的、具有NFC感应功能的、还能刷各种银行卡的收款机。这就是现实。发达国家,...

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

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

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

只有我一个人后悔升级鸿蒙next吗?

只有我一个人后悔升级鸿蒙next吗?

我有一台mate 60 pro,第一时间升级了“纯血鸿蒙”。虽然功能并不完善,甚至有些简陋,但是我非常~非常不后悔升级鸿蒙next系统。因为.... 这就是一款“大型养成系游戏“,给我平淡的生活提供了源源不断的情绪价值。我每天特别...

MacOS真的比Windows流畅吗?

我现在公司配的机器,配置是绝对的大古董了惠普z230sff薄塔cpu只是个4770,没错不是4790k,4770全核睿频只有3.8g显卡更是古董,k600,已经结束驱动更新支持了,显存仅1g,跑分跑不过13代uhd核显内存是加到16g得,但...

大家都是怎么把自己的粉丝增加到1000的呢?

大家都是怎么把自己的粉丝增加到1000的呢?

截至2024年10月30日,关注者总数1137人,用时80天,增速约14人/天。2024年10月30日数据2024年8月10日开始创作,连续一周,1个关注者都没有。创作第7天,得到第一个关注,7天时间,写了8篇回答。当天得到关注,激动的心情...

发表评论

访客

看不清,换一张

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