posts - 27,  comments - 0,  trackbacks - 0

              1.借船與借力
              三國時期,曹操率大軍想要征服東吳,孫權、劉備聯合抗曹,“草船借箭”即來源于此,意即運用智謀,憑借他人的人力或財力來實現自己的目標。我們來看看這個故事的幾個關鍵環節。
              為了籌集十萬支箭,諸葛亮找到魯肅。諸葛亮說:“這件事要請你幫我的忙。希望你能借給我20只船,每只船上30個軍士,船要用青布慢子遮起來,還要一千多個草把子,排在船兩邊。”第三天四更時候,諸葛亮邀請魯肅一起,把船用繩索連起來向曹操對岸開去。那天江上大霧迷漫,對面都看不見人。當船靠近曹軍水寨時,諸葛亮命船一字兒擺開,叫士兵擂鼓吶喊。曹操以為對方來進攻,又因霧大怕中埋伏,就派六千名弓箭手朝江中放箭,雨點般的箭紛紛射在草把子上。過了一會,諸葛亮又命船掉過頭來,讓另一面受箭。
              太陽出來了,霧要散了,諸葛亮令船趕緊往回開。這時船的兩邊草把子上密密麻麻地插滿了箭,每只船上至少五、六千支,總共超過了十萬支。魯肅把借箭的經過告訴周瑜時,周瑜感嘆地說:“諸葛亮神機妙算,我不如他。”

              2.順勢而為
              “明者因時而變,知者隨事而制”這個用典,出自漢代桓寬《鹽鐵論》卷二之枕邊第十二篇。漢宣帝的中興之道,得益于諸多方面,根本的一條就是“明者因時而變,知者隨事而制”,了解民情,把握趨勢,與時俱進,開放而謀實。同樣,作為開發團隊,在互聯網競爭時代,也要干很多事。有些事很順利,有些卻坎坎坷坷的,有些根本就干不成。細想一下,事情的成敗原因可以歸結為一個字,勢,順勢而為,如水推舟,事半功倍;逆勢為之,則逆水行舟,艱難險阻,功敗垂成。
              勢是什么,就是一種趨勢,一種方向,一種潮流。順勢而為,關鍵在于一個“勢”字,要有一雙慧眼,判明大勢進退;要有一顆名亮亮的新,悟達通透。做到“順勢而為,乘勢而上”。

              3.框架開發的“借力”與“順勢”
              基礎的框架開發并不難,但是要想做得優雅、健壯并不容易,要做出一個好的框架往往會花費大量的時間、人力財力。衡量一個框架是否優秀,往往有這些考量因素。
              (1)清晰的代碼庫,簡單易用。代碼復用是把一個功能寫成一個模塊,以便當再次需要相同功能的時候,可以直接使用,而不用重新開發。舉個例子,假如你的網站需要驗證碼,你就可以把驗證碼這個功能單獨提取出來以便復用。通常代碼復用是通過類與對象來實現的,這也是面向對象編程與面向過程編程最主要的區別之一。以響應式網頁設計為例,實現起來并不困難,但是要讓它在所有的目標設備上都正常運作會有一點小棘手。而框架可以讓這一工作變得簡單。利用框架,你可以花最少的力氣創建響應式且符合標準的網站,一切都很簡單并且具有一致性。還有很多好處是顯而易見的,比如說簡單快速,以及在不同的設備之間的一致性等等。也就是說,框架最大的“勢”就是簡單易用,即使只掌握少量的Web知識,你也可以毫無障礙的使用它們。
              (2)粉絲使用過程的“倒逼”,強大的框架創新體系,營造良好的社區生態環境。“倒逼”是一種被動行為,是“迫使”、“反推”等詞的升級版,該詞強化了反常規、逆向促動之義。時下“倒逼”正在成為美談,并曾經入選年度十大流行詞。各行各業的問題動輒倒逼,似乎“倒逼則靈”。在許多領域,“倒逼”的確是這樣大顯身手的。作為一種開源力量,“倒逼”未嘗不是一種正向力量!堅實的社區基礎和積累,以及豐富的模板系統,往往可以為框架樹立良好的口碑,形成一種“引力場”。尤其是需要有大量忠實的社區粉絲,也是框架實力的最好支持。作為社區網站,也要站在運營者角度和用戶角度雙方面來考慮上諸多問題。在用戶角度上完善網站產品,去滿足用戶的核心需求,幫助用戶解決問題。
              (3)簡單的學習曲線,與相關應用集成更加容易。學習曲線的定義為“在一定時間內獲得的技能或知識的速率”,又稱練習曲線(practice curves)。人們為了知道學習進程中的現象和進步的快慢的詳情,作為以后努力的指針,應用統計圖的方法作一條線,把它表示出來。它源于“二戰”時期的飛機工業,當產量上升時,生產每架飛機的勞動時間會極大地下降。隨后的研究表明,在許多行業都存在這種現象。同樣,在框架應用中,我們需要的不僅僅是模板,還更想要陳述式的可重用的模板框架。尤其需要能夠創建可擴展的互聯網應用。
              (4)文檔支持與引導系統。寫文檔不容易同時也是需要花費一些時間的。作為潛在的用戶,我們第一次接觸開源項目,很可能就是通過閱讀README文件。我們需要確保它很棒并且包含了有用的信息。以Tiny框架為例,我們始終認為文檔是能為用戶做的最好的事了!文檔不僅能夠節省用戶大量的時間,也可以讓用戶確信,我們的確是把他們當做上帝,而且,我們是一幫有血有肉的人,不是一個產生代碼的機器。
              (5)向后兼容,同時把握大勢,對主流技術發展有一個準確的判斷。關于軟件開發的一件很令人生氣的事,就是當你升級一個庫但是數百個測試失敗了。更讓我生氣的就是我還要重寫我一半的基礎代碼,因為有人在沒有任何警告的前提下決定打破公共的API。因此,向前看齊,同時致力于維護向后兼容性,也是我們重點把握的方向。以Tiny框架為例,我們常常會關注,使用這個項目有幾個月了嗎?是否覺得它還是不完整的?是否希望API在下一個版本會徹底地修改?是否在要求最多并且很老的項目中也能穩定安全的使用?當考慮到向后兼容時,也能有一個很好的跟蹤記錄。
              (6)可延續的技術支持。有些人可能關心許可證,但是真正使用框架或庫的人很關心的是有保障的后續服務和支持。所以真正可用的框架包含了框架的可用及有保障的支持和服務,這樣才能讓客戶在使用過程中更加放心。

           

              鄭和下西洋,沒有人關心他使用的是什么船;諸葛亮借箭,也沒有人關心他使用的是誰的船。不過,他們都很輕松的完成了自己的目的。造船下海,還是借船下海,關鍵還是在于順勢而為,把握大勢!


          歡迎訪問開源技術社區:http://bbs.tinygroup.org。本例涉及的代碼和框架資料,將會在社區分享。《自己動手寫框架》成員QQ群:228977971,讓我們一起動手,了解開源框架的奧秘!

          第4波活動:寫書評,送精美開發圖書!

           

          2
          0
          posted on 2015-06-23 22:15 柏然 閱讀(101) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2015年6月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 广元市| 徐水县| 汤阴县| 泽普县| 年辖:市辖区| 盐津县| 扎赉特旗| 鹤峰县| 大厂| 赞皇县| 鄂托克前旗| 夏津县| 松阳县| 灵川县| 济宁市| 五莲县| 石楼县| 南华县| 浦县| 沙洋县| 芜湖县| 斗六市| 威信县| 鲁山县| 肃北| 邹平县| 安岳县| 正蓝旗| 日照市| 红河县| 巍山| 修水县| 邓州市| 育儿| 和林格尔县| 理塘县| 武宣县| 弥渡县| 红原县| 平远县| 扶沟县|