兩年前,我用 NodeJS 為自己構建了一個小型服務器 – 一個基于 HTTP 的 SQLite 代理。當您需要通過網絡與消費者共享數據集時,它非常有用。經過多次重構和新的需求,現在我終于決定用 Golang 重寫代理,以獲得更好的分布和內存效率。進展非常順利,我幾乎用 Go 重寫了所有內容,甚至包括我最初不打算重寫的部分,現在我相信,如果我將 Go 與 NodeJS 一起使用,我之前所做的 50-70% 可能會更好。因此,我已經向自己證明,Golang 對于任何后端密集型 Web 開發來說都是非常高效的,并且在開發速度方面幾乎與 NodeJS 相當。與 C++ 相比,使用 Go 創建 NAPI 插件也非常簡單,因為交叉編譯。
現在我們來談談Golang的一個缺點,而且不是關于編程的。
去年我主要作為自由開發人員工作。參加演出,有時還參加短期合同工作。我偶爾使用 Golang,主要是當我的任務與區塊鏈相關時,我什至用 Go 編寫了幾個微服務。
現在我調查了就業市場,我有點失望,加密/金融領域是 Golang 在就業市場上的主要領域:(。大多數公司需要 3-4 年的 Go 經驗(即使是零工),這很難如果您不在 FANG 或加密金融領域工作,請獲取
當我查看我的工作提要時,就業市場上的 Golang 看起來就像區塊鏈的 RoR,有點“用領域語言來查找”。
如果小公司和初創公司也青睞 Go,他們可以做得更好,就業市場也會有所不同。我相信Go可以為產品增加更多的價值。是的 – 一個寵物項目給了我這個視角。
聊寵物項目。
我介紹 DAL:https://github.com/nesterow/dal
它處于早期alpha階段,因為目前只有我在使用它。在當前階段,該項目對于研究很有用,特別是對于那些想要為 NodeJS 編寫本機插件或想要將其庫移植到 Golang 的人,或者如果有人有時間來烤我:)
客戶端部分是用 TypeScript 編寫的,服務器可以用作獨立的二進制文件(最佳性能)或 Nodejs 插件。
平安??