軟體開發:合適的才是最好的

楊闖發表於2014-06-07

最近蘋果釋出了一個新的開發語言Swift,也即將開始在職研究生的學位論文的相關工作,出於綜合的考慮,開發公司軟體啊Mac版,實質上就是一種調研,最先也想完全摒棄OC開發而完全使用Swift,但是通過一小段時間對Swift的具體瞭解和學習,產生了一系列的問題。

我最先想到的是,Swift能夠直接使用playground,那麼Swift和OC相比是否容易被反編譯,一直都在開發金融產品,所以對這方面比較好奇,儘管蘋果當初說Swift比OC更安全,就像蘋果在介紹Swift的時候說在排序演算法中比OC快,而有人對別的方面進行試驗,試驗結果如下:

  • 迴圈100萬次,Objective-C比Swift快29倍
  • 變數+1,Objective-C比Swift快46倍
  • 物件賦值,Objective-C比Swift快31倍

所以我一直就在想,是不是蘋果沒有找到針對的方式,僅僅是片面的,Swift的反編譯是否又經過一系列的試驗,結果是否夠全面。

另外我今天看到的教程都是資料型別以及函式的處理,沒有看見對控制元件的處理,或許有人會說網上已經有一系列的開原始碼,但是現如今有的功能軟體所需要的頁面邏輯、功能邏輯是特別複雜的,Swift是否能夠給予充分的支援,另外資料庫處理、鑰匙串、Core Data等方面的處理是否在Swift上得到了很好的支援,以前所存在的OC控制元件介面和演算法介面等方面是否能夠很好地銜接。

有了一系列的思考,今天也很湊巧地看到http://onevcat.com/2014/06/walk-in-swift/,充分地感覺到現如今的Swift相關資料不完全,特別是中文資料,另外現在還沒有看到相關Swift對特殊介面的支援處理的文章,所以感覺到合適的才是最好的,而不是隻聽別人所說。

因為我清楚,我是要在一年的時間內開發完成,並且現如今的Swift相關東西都是未知,這讓我想起了曾經為了社團而弄的決賽系統。記得大三的時候開展了趣味數學競賽,完全使用PPT演示出現了一系列的不足,所以開發出了一個當時比較好的決賽系統。由於前期沒有充分的調研,就直接使用與自己方向有所關聯的MFC進行開發,但是後期發現了一系列的弊端,一年之後只好重新採用C#進行開發。雖然這其中也有一些收穫,但是如果最先進行相關的可行性調研,就肯定會有更多的收穫,也會更早地把軟體做得更好。

一個東西在別人眼中可能是好的,但是不一定就適合你,記得似乎在高中的時候,學習《紅樓夢》,我問了老師一句不都說濃眉大眼好嗎,怎麼作者不用濃眉大眼來比喻所謂美女的美呢,後來得知是從哪個角度看,不是出現一個新穎的東西就必須要去選擇,而是要選擇真正適合的。

今天,一個老同學問我現如今是否還要學習OC,我說要學,並且OC和Swift都要學習,儘管現在Swift沒有完全地替代OC,但是或許是一個趨勢,比如以前的專案是OC為主,以後的專案可能是Swift為主,就要多方面地學習與運用。就像我要學習Mac開發不是為了完成任務,而是因為在開發iOS過程中感覺到如果有什麼什麼軟體該有多好,記得曾經我就用C#開發過許多常用的軟體。

或許有人會說,既然現在Swift的相關資訊不是那麼地全面,那麼你為什麼不趕前一步爭取做個Swift方面的大神呢。但是聯想到成本和目標的對比,要全面地進行考慮,就像公司開發中的出錯率並不是越小越好,因為要考慮成本,要考慮到時間、目標所達成的一致性,如果有充足的空餘時間與學位設計的時間不緊急,我肯定也會充分地進行研究學習,而不是坐在這裡想這些。

無論什麼結果,感覺到了自己在這方面是一種成長,因為讓自己知道了做事情要充分地去考慮實際情況而不是一股腦子鑽進去不進行任何的思考,有些東西可能是最好的,但是不一定對你自己合適,有些東西再撿回來可能是最好的,但是相對現在的你可能不是最好的。多思考,也會帶給自己或多或少的成長,也會讓自己選擇要學會哪些。因為一個方面是綜合的考慮,另一個方面是多方面的完美主義所帶來的痛,讓我想起了大學即將畢業的時候李老師所說的一句“做事情可以追求完美,但是做人不必太追求完美”,無論獲取到哪方面的成長,都讓自己思考後給予選擇。

相關文章