嵌⼊式linux应⽤之go语⾔开发(开篇,缘起)
搜遍整个互联⽹,没有相关使⽤go语⾔开发嵌⼊式linux的。
⼴⼤嵌⼊式爱好者对⾼级语⾔不感冒?不敢尝试?
那我就做个布道者,第⼀个敢于吃螃蟹的⼈吧。
期待go做出来的应⽤,开发更⾼效,运⾏更稳定,功能更强⼤。
探索能否带来开发⼯作效率的提升,产品质量稳定性⽅⾯的提升,产品功能上的增强。
物联⽹时代,就是要有所“变⾰”。⽽我理解的“变⾰”⼀词,有两层含义,“改变”和“⾰命”。⼀是要有所改变,不能守旧。守旧就是退步,就会逐渐跟不让步伐。⼆是要敢于改变,敢于坚持,敢于尝试新事物,排除⾮议,即敢于“⾰命”。
选⽤go语⾔开发嵌⼊式linux的理由?
⼀、go调c的驱动,太容易了,有先天的优势。
⼆、go做的应⽤,甚⾄可以在电脑环境下去跑,去仿真。调试完后很容易就切换到嵌⼊式系统上。
三、c语⾔的指针操作,空指针异常等,在应⽤⾥监测不到,容易造成应⽤崩溃。
四、遇到跟第三⽅对接的,如银联https通信,⽤c处理起来特别费劲。
五、c不可能把 https的整个细节如tls链路层握⼿都⾃⼰去实现,只能是调⽤开源库如OpenSSL等,效率低下且稳定性难以保证。
六、有时需要跟平台对接,http的json协议格式或者是webservice接⼝。让c去处理这些吗?⼀个个拼接http报⽂头拼接字符串?效率太低了。能⼀天完成的两天去做就是浪费资源。
总之,问题太多。c是很强⼤,但不适合未来的发展要求。
曾经因为android应⽤⼤⾏其道,感觉linux的空间越来越窄了⽽退缩。既要会c,⼜要懂go,估计我会是个独⾏者⽽迷茫。
但是现在想通了,⼀切皆有可能。物联⽹时代已经来临,不⼀定全是Android的天下。
物联⽹时代同硬件交互,android再⽅便好⽤也免不了⼈给它封装c的jni吧。但是⽤go⼀⼈就搞定了。
嵌入式linux开发书籍如果界⾯不是主要的,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的应⽤,不⼀定谁更具优势。
做事难,推动难,难在坚持,难在携⼿共进,这⾥⾯是需要信念的!
个⼈:aazhen1987,欢迎交流!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论