開始學編程接觸的第一門語言是 php尺铣,平常寫網站常用的一些函數、方法争舞,把它們記錄下來放在一個地方統(tǒng)一管理凛忿。后面嘗試用框架,也就是把模板竞川、路由店溢、數據庫操作等常用的東西做了更系統(tǒng)化的封裝,直接提高了開發(fā)效率委乌。畢業(yè)后去做了 PM床牧,沒有再繼續(xù)往編程方向發(fā)展,所以對語言的認識還停留在這個層面福澡,直到前段時間看 Laravel 文檔的時候看到了 Composer叠赦,Composer 是 php 的包管理工具,通過簡單的命令就可以管理各種第三方庫包革砸,一行代碼就可以引入到自己的程序中使用除秀。
常規(guī) web 框架的構成:路由、控制器算利、ORM册踩、模板,一般的框架將這些模塊深度耦合在一起效拭,升級一個小模塊就必須升級整個框架暂吉,Laravel 深度使用了 Composer 胖秒,每個模塊都是獨立的庫,可以分別維護慕的,各司其職阎肝,達到了充分的解耦,Laravel 主程序再把各個部分黏合在一起肮街。我嘗試使用 Composer风题,路由用 Slim,ORM 用 Laravel 的 Eloquent嫉父,它倆非常簡單靈活地就結合在一起了沛硅。
工作中我負責項目的語言是用 node js,對應的包管理工具是 npm绕辖,有稍微通用的需求摇肌,工程師都會說,先到 github 上找找有什么庫可以直接用仪际,得益于 github 這個大寶庫围小,大多數情況都能找到合適的第三方庫。
除了前文提到的 php树碱、node js吩抓,Ruby 的官方包管理工具是 gem,Python 有 pip赴恨,有了這些包管理器,開源社區(qū)才有了規(guī)范伴栓,不同庫之間才能做到更好的兼容伦连,工程師在寫代碼時可以靈活地借用別人的成果,不用擔心各種依賴關系钳垮,不用再重復發(fā)明輪子惑淳,大大提高編程效率,真正將精力花在核心的需求上去饺窿。當然歧焦,在使用別人成果的同時,也不要忘記回饋開源社區(qū)肚医。