嵌入式 linux 应用 go 语言开发(开篇,缘起)

简介: 嵌入式 linux 应用 go 语言开发(开篇,缘起)

go语言被称作互联网时代的c语言,用来开发嵌入式linux是一种享受。


希望能否带来开发工作效率的提升,产品质量稳定性方面的提升,产品功能上的增强。


物联网时代,就是要有所“变革”。而我理解的“变革”一词,有两层含义,“改变”和“革命”。一是要有所改变,不能守旧。守旧就是退步,就会逐渐跟不让步伐。二是要敢于改变,敢于坚持,敢于尝试新事物,排除非议,即敢于“革命”。


选用go语言开发嵌入式linux的理由?


一、go调c的驱动,太容易了,有先天的优势。


二、go做的应用,执行效率高,甚至接近c语言或超过c语言。甚至可以在电脑环境下去跑,去仿真。调试完后很容易就切换到嵌入式系统上。超过c语言有些人可能不信。但是,举个例子吧,你用c自己造的轮子,调用socket通信,有使用go的net官方库稳定吗?


三、c语言的指针操作,空指针异常等,在应用里监测不到,容易造成应用崩溃。


四、遇到跟第三方对接的,如银联https通信,用c处理起来特别费劲。


五、c不可能把 https的整个细节如tls链路层握手都自己去实现,只能是调用开源库如OpenSSL等,效率低下且稳定性难以保证。啥轮子都需要自己造,且不一定稳定。而go,好多开源的软件库和包供使用,有很多现成的轮子。


六、有时需要跟平台对接,http的json协议格式或者是webservice接口。让c去处理这些吗?一个个拼接http报文头拼接字符串?效率太低了。能一天完成的两天去做就是浪费资源。


总之,问题太多。c是很强大,但不适合未来智能设备的发展要求。


曾经因为android应用大行其道,感觉linux的空间越来越窄了而退缩。既要会c,又要懂go,估计我会是个独行者而迷茫。


但是现在想通了,一切皆有可能。物联网时代已经来临,不一定全是Android的天下。


物联网时代同硬件交互,android再方便好用也免不了找人给它封装c的jni吧。但是用go一人就搞定了。


如果界面不是主要的,android的速度和效率比不过go,因此嵌入式linux还是有价值的,用go开发是一种选择。可以坚持一下,多做些尝试与研究。


质量和效率,是每个人都要考虑的。


质量和效率才能保证产品在市场竞争中立于不败之地。


应以产品在市场上获得好评而感到骄傲,以产品受到客户批评而感到羞愧。


选择哪种语言不是目的,语言都只是工具。


但要用合适的工具做合适的事,追求质量和高效率,选哪种语言就值得考虑了。


你会用c去开发web,会去用php开发嵌入式吗?


若环境是Android系统,首选java毫无疑问,因为有优势。


目前的尝试只针对嵌入式linux。


为啥不在嵌入式linux上搞java? linux系统肯定能支持java的啊。


因为不想折腾。


java若撇开强大的第三方库,撇开Android的SDK底子的支持,撇开华丽的Android界面,在嵌入式上不占优势。


还要去给java层封装JNI才能调c的驱动吗?太麻烦了。且一般跑嵌入式linux系统的CPU主频和资源不太高。


若把java的虚拟机再装上去,运行速度也不会快。Android上是专门优化过的Dalvik虚拟机。有折腾的时间用c早搞完了。java还是在J2EE和Android上发功吧。


即便系统是Adnroid的,如果界面不占主要地位,注意是若界面不是主要的!比如车载pos。则go做出来的应用和Adnroid的应用,不一定谁更具优势。


相关文章
|
1月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
173 4
|
3月前
|
数据采集 数据挖掘 测试技术
Go与Python爬虫实战对比:从开发效率到性能瓶颈的深度解析
本文对比了Python与Go在爬虫开发中的特点。Python凭借Scrapy等框架在开发效率和易用性上占优,适合快速开发与中小型项目;而Go凭借高并发和高性能优势,适用于大规模、长期运行的爬虫服务。文章通过代码示例和性能测试,分析了两者在并发能力、错误处理、部署维护等方面的差异,并探讨了未来融合发展的趋势。
288 0
|
1月前
|
JavaScript 前端开发 Java
【GoWails】Go做桌面应用开发?本篇文章带你上手Wails框架!一步步带你玩明白前后端双端的数据绑定!
wails是一个可以让你使用Go和Web技术编写桌面应用的项目 可以将它看作Go的快并且轻量级的Electron替代品。可以使用Go的功能,并结合现代化UI完成桌面应用程序的开发
302 4
|
5月前
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
312 61
|
4月前
|
安全 应用服务中间件 网络安全
在Linux环境部署Flask应用并启用SSL/TLS安全协议
至此,你的Flask应用应该能够通过安全的HTTPS协议提供服务了。记得定期更新SSL证书,Certbot可以帮你自动更新证书。可以设定cronjob以实现这一点。
304 10
|
4月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
480 13
|
3月前
|
存储 数据采集 监控
ubuntu(linux)系统主要应用于哪些工业场景中?研维三防ubuntu系统的手持工业三防平板电脑在哪些行业中有实际应用
Ubuntu 系统凭借其独特的优势,在众多工业场景中得到了广泛应用,为工业数字化、智能化发展提供了有力支持。而研维三防基于 Ubuntu 定制系统的手持工业三防平板电脑,更是将 Ubuntu 系统的优势与工业级的性能、坚固耐用性完美结合,在电力、物流、制造等多个行业中展现出强大的应用价值,助力企业提高生产效率、优化管理流程、提升产品质量,成为推动工业现代化发展的重要力量。随着技术的不断进步与创新,相信 Ubuntu 系统以及研维三防这类工业级设备将在更多的工业领域中发挥更大的作用,为工业发展带来更多的机遇与变革。
|
5月前
|
开发框架 安全 前端开发
Go Web开发框架实践:模板渲染与静态资源服务
Gin 是一个功能强大的 Go Web 框架,不仅适用于构建 API 服务,还支持 HTML 模板渲染和静态资源托管。它可以帮助开发者快速搭建中小型网站,并提供灵活的模板语法、自定义函数、静态文件映射等功能,同时兼容 Go 的 html/template 引擎,具备高效且安全的页面渲染能力。
|
6月前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
358 32
|
8月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
1866 77

热门文章

最新文章