要有造錘子的膽識

昨天,帝都的幾位朋友去了『知乎鹽Club』,且狠狠地刷了我一臉屏。而我滿懷著羨慕妒忌恨參加了Segmentfault D-day的廣州站活動。

總體來說,Segmentfault的這場活動給了我預期想要的東西,并且也很意外地見到了張云龍,他在知乎上回答了一道關于大公司如何部署前端的問題,他的答案令我醍醐灌頂。這場活動給我最大的體會就是優化之于大公司的項目,花最多時間的不是開發而是持續的優化。例如前端的優化,隨著版面布局的不斷優化,如何進行非覆蓋式更新前端代碼,張云龍給了一個很好的思路;而對于大并發的數據查詢和大規模I/O,如何通過本地以及云端緩存進行性能的優化,百度鷹眼項目的馬輝給了一個很通用的思路。由于我不做iOS和Android的開發,實際上有兩個講者講的內容我都云里霧里,不過可以透露的是,Apple Watch的APP是依賴iPhone的,而且由于可能需要用到iCloud,所以在中國的體驗可能不會太好。

比較令我震撼的是最后PeachApp的CTO段巖的演講。他在演講中展示了一款由他們公司制作的一款移動端跨平臺開發框架AvantX。Demo相當驚艷,一份代碼,可以直接用于iOS和Android,同時直接用Vim修改代碼,就可以即時看到動態的變化。當然,包括他自己也透露,很多框架包括HTML5(很多APP無非就是網頁加個瀏覽器殼),React Native,Xamarin和老牌的Qt都是跨平臺代碼重用的框架。由于我對于手機端開發不熟悉,我也就不方便評論AvantX的技術較之幾款如何如何。不過我個人覺得添加了AbstractView這種模式的確給開發帶來了方便,采用元素映射的方法,令代碼展示時可以對應不同的移動端。當然,在代碼轉譯那塊,還是用了Google的Java to JS/OC/C# 的轉譯器,相對來說,會依賴于谷歌的產品。

我并非想評價這款AvantX如何如何。我只是想說很佩服這些造錘子的人(注意不是輪子)。因為覺得開發得不爽,所以造了個錘子出來幫助自己開發。其實有點類比于方法論,每個人都有一套自己的方法論。不過,方法論容易構建,但工具構建起來很難。For example,我尊敬的一位長輩,Oliver Ding,曾提倡了很多記錄整理在線學習內容的方法;但是我們實際操作起來需要花上比較多的工具才能進行整合,例如我需要截屏、用Evernote、需要做標簽、備注等等。所以Oliver Ding自己就上線了一個項目叫Bagtheweb,顧名思義,就是打包網絡,具體我就不介紹了,大家可以自行搜索。這就是造錘子,一般有了方法論,但實際上現行的解決方案過于復雜,所以選擇造錘子。

但一般人是不會傾向于造錘子的,因為造錘子的成本會很高。但隨著使用方法的頻次越來越高,很多方法卻一如既往地復雜,到最后,使用解決方案的成本還高于錘子了。也正是因為HTML5在facebook的大項目中越來越拖后腿,否則它不會上線一個React Native。所以,不要害怕去造個錘子。我在大學的時候,就曾經因為師兄的一個想法,嘗試造了個錘子出來,用于把 文獻資料格式(.bib)的文件 自動讀取并自動排版。不用說,人工地復制粘貼排版也是妥妥的,但是只要文獻資料夠多,這個工作就成了機械無用功了,所以錘子還是很有必要的。

人類制造工具不僅僅是為了更加輕松地工作,更重要是減少機械的、重復的工作,而減少的這部分時間,也體現在了人類文明里了。所以,不要害怕造錘子。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,556評論 25 708
  • 【原文2011-09-28 22:37:53發布于網易博客,http://davidou11.blog.163.c...
    區錦標閱讀 413評論 0 1
  • 當下生活,選擇大爆炸。小到餐廳點菜、手機資費套餐,大到保險理財、買車買房,無時無刻我們不處在做選擇題打鉤打叉的情境...
    寶藏story閱讀 314評論 0 1
  • 九爺是個匪。 九爺原來不是匪。有一年地主逼債,娘上吊而死,九爺紅了眼,趁一個月黑風高之夜,九爺殺了地主一家,然后上...
    柳村夕煙閱讀 595評論 9 15
  • 文/滕云 稍微回想一下計算機硬件的工作原理我們便不難發現,整個計算機的工作過程其實就是一個對事件的處理過程。當你點...
    ThoughtWorks閱讀 1,023評論 0 21