为什么不用c#做物联网?
作者:卡卷网发布时间:2025-01-07 17:06浏览数量:76次评论数量:0次
在用了在用了,我司的物联网技术方案,跑在内存2G的定制ARM设备上面,峰值内存占用500M左右,使用Akka.net作为核心框架,NLua作为脚本扩展机制。
的外部通信机制直接放弃自定义二进制类协议,在所有地方上Json+ASP.NETCoreWeAPI,没有遇到任何性能问题。
从研发到稳定上线,一路从.net3.1平滑升级上来,几乎没遇到任何升级导致的障碍,反而是运行速度越来越快。
就是有一点不好,发布的程序容易被反编译,最近正在研究AoT,看能不能全部走通。
补充一下为啥当初选择.NET作为技术路线,其实也是有过不同考虑的。做决策时,.netframework如中天,.netcore刚刚能稳定跑在ARM设备上,实测效果性能都还说得过去。而产品包括IoT服务跑在ARM设备上、PC客户端跑在Windows上、云端对接环境跑在云平台容器里,创业项目人手有限,开发效率、运行稳定性都要考虑在内。反而运行效率可以妥协。
备选方案包括这么几个:
现状:
内存占用稳定,性能优异,IoT主程序和PC配置工具共用了60%以上的代码。云端因为有新人,倒是全线使用了go作为技术栈。
结论:最新版本.NET值得信赖,不过对内存敏感的应用,还是要考虑go或者C++
(2024-2-12补充)
这个目前是有史以来收数最多的答案了,大家是准备悄学习关门练内功么?都光收不点赞的。
因为我毕竟不是专职的Ja程序员,所以有几个语言因素,以前没考虑到的,现在可以认为在物联网应用中也是极其重要:
现在看来,微软设计C#这门语言时,就考虑了大量前瞻性优化方向,并且将易用性降低到几乎不用担心的程度,在物联网应用方面,上面这几个Ja多出来的特性也让它更适合开发IoT应用,对于资源较低的环境,也更友好。
免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。
相关推荐

你 发表评论:
欢迎