搜遍整個互聯網,沒有相關使用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一人就搞定了。
如果界面不是主要的,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,歡迎交流!