軟件技術的發展(一)

軟件業是IT行業的基礎,從技術上看,分爲兩大內容:架構和編程語言。從用戶分類來看,分爲企業和個人。

在移動端沒有火起來之前,軟件業主要是爲企業服務的,除了Office,個人電腦上安裝的只是一些小的工具類軟件。當時企業應用代表了軟件業的技術方向,從架構上是從C/S向B/S轉變。這種架構的轉變,也強迫軟件公司更換編程語言,人們從VB/Delphi換成了C#/JAVA。對企業應用來說,B/S有很多優點,其中就包括跨平臺和容易升級。這個B是指Broswer瀏覽器,瀏覽器最開始就用來訪問網頁的,在當時“做網頁的”和“做軟件開發的”,是不同的羣體,也在用着不同的技術,軟件業轉向B/S以後,有了前端和後端的區分,前端用HTML/CSS/JAVASCRIPT等實現界面交互,後端實現業務邏輯。理想的狀態下,前端和後端分工合作,井水不犯河水。但從古自今這種理想都是沒有達到的,兩個原因:

1,降低成本的願望是一直存在的。

2,人類競爭的本能是一直存在的。

做一個項目,之前需要兩個人,如果一個人都能搞定,那自然會降低一些成本,於是後端和前端就要互相搶飯碗,都想把對方的活也一起給做了。現有的技術不能滿足怎麼辦?也有兩個辦法:

1,學習對方的技術。

2,找個框架,用自己掌握的技術解決兩個問題。

選擇1方法的人,我認爲是正常途徑,選擇2方法的人,是屬於希望“走捷徑”,走捷徑並沒有錯。因爲現在已經是2020年,具體細節就不談了,在非移動端,我看到的結果是,走捷徑的方法並不合適。我認爲希望一種技術搞定多個方面,可以廣義上稱爲跨平臺,跨平臺的驅動力仍是降成本。

跨平臺的需求,在移動端興起後,變得很突出。當前架構上看,人們自然會發現,移動端是屬於C/S和B/S混合編程。而移動端有Android和iOS兩個陣營。一個小項目,需要1後端,1本地;一個複雜點的項目,需要1後端,1前端,1本地。本地需要Android和iOS各一人。那麼,要跨平臺,就涉及到,跨Android和iOS,跨本地和前端,跨前端和後端這些選項。

可以認爲,跨平臺的需求,是軟件業發展的方向,也稱之爲折騰的方向。因爲這個方向竟然與業務無關。曾幾何時,有人說掌握業務纔是最重要,用什麼語言不重要。那麼時至今日,語言換了一遍了,軟件業的用戶們,你們是一如繼往的覺得滿意嗎?是越來越好用了嗎?軟件從業人員要問,這種變化因爲更換語言帶來的嗎,是因爲成本增加帶來的嗎?

也許軟件從業人員認爲業務這種基礎問題,已經不值一提,現在的主要問題是要“新和酷”,我們仔細想,新和酷實際上還是想降成本,想降成本就一定想跨平臺。於是乎,跨平臺框架如雨後春筍般紛紛出現,有大公司出的,有小公司出的,有國外的,有國產的,多如牛毛,其所用的技術各不相同。這一定會弱化原生開發的重要性,而原生是平臺之所以成立的根基,這裏有重大的選擇性問題,就好比你很難想像Android和iOS在某一天突然宣佈合併一樣。下一篇文章再討論。

接下來談一談降成本的問題,在我接觸到的一些案例中,跨平臺方案往往得不償失,這裏面不一定是方案本身的原因,也有可能是開發人員技術掌握不精,這是一個平衡性和風險控制的問題。我們不能要求現有開發人員全是頂尖高手,也很難靠招聘短時打造一個頂尖團隊,選用什麼技術,實際上風險是很大的。大公司有錢沒關係,有坑就填坑,大不了推倒重來。但是小公司就難以承受,選用保守穩當的多人開發,還是選想通吃的跨平臺方法,變成了一個難題。

我想這個問題沒有終極答案,技術也在進步,人材也不斷在變化。但是針對不同團隊,有一個符合不同現狀的評判,是必要的。

發佈了57 篇原創文章 · 獲贊 95 · 訪問量 34萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章