最近一段時間總是被一些雜事搞得自己整天很忙的樣子,其實呢?真正從技術收獲的角度來講的話,這段時間自己并沒有收獲多少新的技術知識。
首先,我想好好總結一下自己老東家--.net平臺。說實話,這個平臺是我認為最易用、同時也是最好用的。在這個平臺上面進行開發,我們一般都能達到很高的工作效率,但是最近經歷的一個項目著實惡心到我了。怎么說呢?是不是有點惡意中傷呢?且聽我慢慢道來吧,這個項目我接的一個私活項目,從項目功能評估,最多一個月就可以完成開發工作。但是前前后后,一直搞了3-4個月,是項目沒有管理好嗎?當然有這個原因,拋開這些我想好好吐槽一下.net,vistual studio 2013 update4+windows 8.1的64位專業版,足足有6-7G大小呀,然后安裝過程中及其容易失敗,不知道是不是跟電腦有關系。好不容易安裝好了,激動了一把,趕快打開VS是不是新家uap項目(通用項目)。好吧,可以新建出來了,部署到手機/電腦都是沒有問題的。于是,我認為這個環境估計可以了,開始項目開發了,等到功能開發到一定程度的時候,我找到配置文件修改一些圖片、應用名稱等配置,再次部署的時候,出現了令人疑惑不解的系統異常。好了好久,同時網上找了好多解決方法,還是不知道為什么?這意味著之前的開發工作相當于白做了,有點不甘心,但是還是忍痛放下了。找到官方提供新建uap項目的網站,領用官網提供的模板新建了一個項目,繼續后面的功能開發。說也奇怪,UAP項目是基于windows內核的,所以只能部署到wp8.1系統之上,也就意味著之前的wp7,wp8系統將沒有辦法安裝該應用。不兼容顯然是一個令人惡心的事情之一,還有開發控件庫的變化,開發第三方框架庫的變化等。
讓我們拋開微軟的那套東西不說,重點好好講一下android平臺,說實話,剛剛上手android平臺的時候,感覺這個平臺的sdk,還有一些開發方法都很奇怪有沒有?比如elicpse里面新建出來的android項目結構就另新手覺得很奇怪,至少對我這種從.net平臺轉過來的同學是這樣的。所有的頁面布局放在哪里呢?res文件夾里面的layout文件夾里面,為什么要這樣做呢?layout文件夾下面能不能像.net平臺針對不同的功能模塊分子文件夾擺放不同的頁面呢?答案是不可以的,那么如果我們想要從n多個layout里面找到出問題的布局豈不是很困難嗎?我們是不是要一個一個頁面去好好過一下呢?答案是是的,那么后臺的java文件又放在哪里呢?原來是放在src文件夾下面,在這個src文件夾下面我們可以分級擺放java文件,所以要找到一個頁面的最快方法往往是java類里面一級一級跳轉邏輯。既然android里面layout和java文件是分離開來的,那么兩者又是怎樣聯系起來的呢?通過兩步完成:首先將java文件注冊到amanifest.xml文件里面,然后沒有java文件繼承自activity類,重寫onCreate方法,在這個方法里面我們可以通過調用setContentView(xxxx)方法,設置這個java文件所關聯的頁面布局。對于熟悉VS的人來說,這樣做實在是太模仿了,說白了這樣就是赤裸裸的MVC嘛,就是為了代碼結構的清晰化。時間久了,你就會發現android項目結構比起windows phone里面自己寫的mvc模式要好管理很多,為什么這么說呢?且看,如果要適配不用的android手機分辨率,我們只需要在res文件下里面新建不同的dreable文件夾就可以了。我們需要很好地組織整個APP文字、樣式、間距、顏色,只需要在values文件夾下面的對應.xml文件里面定義好就可以了,實現最大程度的代碼復用。我們再來對比一下windows phone和android的sdk吧,是實話,在我看來google提供的sdk比微軟的要好太多了,android里面四大組件、本地數據庫、http/https、xml/json等app需要常用的api都是非常的易于使用。但是windows phone里面可能一個后臺線程下載的api就能讓人疑惑半天,同時sdk可能每個版本都會發生變化,而且搞不好在原來沒有問題的地方,現在就可能出現問題。
自從轉向android之后,慢慢的開始學習elicpse環境,開始發現該環境的強大了。要說elicpse除了android開發之外,另外一個比較常用的開發用途就是java服務端開發了。說到這里,我要好好謝謝一位同事的幫組,在他的幫組下,我慢慢了解了一些服務端的技術。
新聞熱點
疑難解答