Windows Phone開發(fā)終結(jié)篇:反思、建議與忠告
終結(jié)篇,有朋友看了,啊?不是吧?是的,這是本系列Windows Phone文章的最后一篇,本文將對(duì)本系列文章做一個(gè)簡(jiǎn)要總結(jié),并根據(jù)個(gè)人想法向大家提一些建議和對(duì)開發(fā)者一些忠告,但愿能有一點(diǎn)點(diǎn)參考價(jià)值。
大家知道了,WP8發(fā)布預(yù)覽版了,雖然先前版本不能升級(jí)到WP8,有一點(diǎn)可惜。但我們不要像那些不冷靜的人那樣,一聽到消息就罵,至少,我們還看到后面還有一句話:WP 7.X的應(yīng)用可以在WP8上面運(yùn)行,其實(shí)這也是一條好消息來(lái)的,為什么?自己想一下吧。
新手機(jī)年年有,到時(shí)睺,WP8一批新手機(jī)出來(lái),仍然也有人會(huì)買,不管怎么說(shuō),不是所有 人都只升級(jí)手機(jī),那些打算買新機(jī)或者還不有買新手機(jī)的消費(fèi)者,他們依然會(huì)購(gòu)買新產(chǎn)品,現(xiàn)有用戶或手機(jī)不能升級(jí),并不一定會(huì)影響后市走勢(shì),你想,又不是全體 人類都需要升級(jí),只能一部分人罷了。
說(shuō)實(shí)話,我也有一臺(tái)三星WP7.5手機(jī),不能升級(jí)到WP8,我看到這條消息,基本沒什么反應(yīng),不能升級(jí)那就不升級(jí)唄,只要手機(jī)還能用就行了,做人何必過(guò)于極端呢?
所以,有關(guān)傳感器和地理位置API這些我就不打算寫了,因?yàn)檫@些東西,按照微軟一向的作風(fēng),不會(huì)封裝得很復(fù)雜,而且統(tǒng)一性很好,不管是生產(chǎn)廠商還是開發(fā)者,都是同一套API,就樣就省了測(cè)試和發(fā)布成本,不必為不同的API版本發(fā)相應(yīng)的程序。
如果說(shuō)WP8和前面不兼容,微軟也說(shuō)是硬件上不兼容,我可以推斷,不兼容的部分,應(yīng)該就是傳感器這一塊了,而其核心部分,如Silverlight和XNA框架,我相信都是不變的。只要我們把不變的都掌握,就能做到“以不變應(yīng)萬(wàn)變”。
在本系列文章中我已多次強(qiáng)調(diào),這些博文僅僅起一個(gè)引導(dǎo)作用,因而不可能會(huì)細(xì)分到每個(gè)知識(shí)點(diǎn)上,也不可能具體到哪個(gè)類怎么用,這樣就沒有意義。對(duì)于編程,不管是學(xué)習(xí),還是在實(shí)際應(yīng)用中,自己獨(dú)立探索才是王道,別人頂多就給你提供一些指引或提示罷了。
下面,我根據(jù)個(gè)人對(duì)編程的認(rèn)知,給大家提點(diǎn)建議吧,尤其是初學(xué)者,如果你覺得適合你,不妨試試。或許每個(gè)人的學(xué)習(xí)方法都不一樣,我只是總結(jié)自己的學(xué)習(xí)方法。
1、基礎(chǔ)很重要,這句話基本是廢話。主要是語(yǔ)言基礎(chǔ)如C#,框架基礎(chǔ),不用說(shuō)了,就是.NET框架。這些是開端,另外,學(xué)習(xí)WP開發(fā),我認(rèn)為WPF的基礎(chǔ)最重要,只要把WPF學(xué)好,Silverlight就可以馬上攻克,接著,WP開發(fā)你基本不需要新知識(shí)了。
2、代碼必須多寫。這一點(diǎn)不知道強(qiáng)調(diào)多少次了,但是,很多人就是做不到,總喜歡拿到別人的代碼就抄,寫了第一遍,出錯(cuò)了,就不再去嘗試,總是半途而廢。
如何對(duì)待編程這門藝術(shù)呢?看清楚了,我從來(lái)不說(shuō)編程是技術(shù),因?yàn)槟鞘堑蛯哟蔚?;如果你有志要成為編程高手,你必須把編程?dāng)作一種藝術(shù),而且要從這種藝術(shù)中悟出一套屬于你的理念。
(1)千萬(wàn)不要把編程給神化了,什么意思呢?很多編程初學(xué)者,我問(wèn)他們?yōu)槭裁匆獙W(xué)編程?有些人會(huì)說(shuō):因?yàn)殡娔X高手總給人一種神秘感覺,總感覺這些人很牛B,崇拜他們,所以就來(lái)學(xué)編程。如果是這樣,我明確告訴你:你可以回家睡覺了。
(2)也有些人說(shuō):成為電腦高手,似乎特別容易受女孩子關(guān)注哦,因?yàn)楹芏嗯⒆訒?huì)經(jīng)常遇到這些問(wèn)題,女孩懂編程的比較少,因而她們有可能會(huì)認(rèn)為,懂編程的男孩了不起。如果你學(xué)習(xí)編程是為了泡妞的話,我也告訴你:你可以收拾行李回家了。
(3)有些人很高熱情,跑來(lái)跟我說(shuō):周先生,我很想學(xué)編程,真的,千真萬(wàn)確,你就教教我吧,你當(dāng)我老師好嗎?我多付一點(diǎn)學(xué)費(fèi)也無(wú)所謂。
說(shuō)實(shí)話,這段話真的會(huì)打動(dòng)我,看似很誠(chéng)墾。結(jié)果你猜怎么著?三分熱度都不夠,不到一個(gè)星期,那些熱情,那些豪言壯語(yǔ)全沒了。
(4)有一回有人說(shuō)要學(xué)編程,我單獨(dú)跟談了一會(huì)兒,然后,我打開電腦,給一小段代碼, 我讓他照著原來(lái)的代碼輸一遍,不允許使用復(fù)制/粘貼。過(guò)了幾分鐘,他終于把代碼“抄”完了,我一句話不說(shuō),直接把輸?shù)娜珓h了,不保存;接著我叫他再照著剛 才的代碼輸一遍;等他輸完了,我再刪掉,讓他再輸……結(jié)果,往返三四回,他就受不了,明顯他是沒有持之以恒的精神,所以我勸他還是學(xué)其他的吧。
不知道大家看了上面的幾條“案例”后有什么感覺?“只要功夫深,鐵株磨成針”,并不是說(shuō)學(xué)習(xí)開發(fā)對(duì)耐心有特別的要求,而應(yīng)該說(shuō),無(wú)論你學(xué)習(xí)什么,耐心和恒心都重要,哪怕你學(xué)習(xí)Photoshop也好,道理都是一樣。
所以,我們?cè)趯W(xué)習(xí)編程的道路上,遇到問(wèn)題是肯定的,但是,不要連代碼都懶得去寫,而應(yīng)該要多寫,代碼寫多了你才能真正掌握,不動(dòng)手實(shí)踐,是永遠(yuǎn)也搞不懂的。
3、有問(wèn)題多看書,多找書,或者在網(wǎng)上搜索,或者查在線幫助文檔,不要?jiǎng)硬粍?dòng)就去問(wèn)別人,這樣做無(wú)疑是對(duì)自己的一種輕視。
4、不要急于求成,知識(shí)要一點(diǎn)一點(diǎn)地累積。
5、要明確現(xiàn)實(shí)意義和長(zhǎng)遠(yuǎn)利益。現(xiàn)實(shí)意義是,學(xué)習(xí)開發(fā)相關(guān)技術(shù),才能求得一份理想的工 作,才能有收入來(lái)源。有了收入才能有生活,有了生活你才能追夢(mèng);而長(zhǎng)遠(yuǎn)利益則是,當(dāng)你的知識(shí)和能力積聚到一定程度,說(shuō)不定你不必一輩子當(dāng)碼農(nóng),為他人打 工,你很有可能成為領(lǐng)域內(nèi)的領(lǐng)軍人物,那個(gè)時(shí)候,才算是你人生價(jià)值發(fā)揮作用的開端啊。
那么,對(duì)于移動(dòng)開發(fā),尢其現(xiàn)在這個(gè)領(lǐng)域表面上看發(fā)展很快。
首先,我要向各位幾盆冷水,千萬(wàn)不要忘記1929-1933國(guó)際上發(fā)生了什么——大瀟條。那么,這場(chǎng)巨大的經(jīng)濟(jì)危機(jī)是怎么發(fā)生的?它又是從哪開始的?美國(guó)。對(duì),就是美國(guó)。為什么?說(shuō)到底,我只想到一個(gè)專業(yè)名詞——泡沫。
大家要冷靜地看清楚了,移動(dòng)市場(chǎng)的泡沫已經(jīng)出現(xiàn),而且越滾越大,甚至有些偏離了客觀規(guī)律。
不知道大家了解過(guò)21世紀(jì)初中國(guó)的互聯(lián)網(wǎng)泡沫沒有?上Google搜一下吧,對(duì)你有好處。
我們?nèi)绾螌?duì)待移動(dòng)開發(fā)?既然有泡沫形成,我們不理它了?不行,移動(dòng)互聯(lián)網(wǎng)顯然是一個(gè)趨勢(shì),一個(gè)新生的市場(chǎng)。那么,有人會(huì)問(wèn),剛才你不是說(shuō)泡沫嗎?怎么現(xiàn)在又說(shuō)是趨勢(shì)呢?不矛盾嗎?
你覺得矛盾嗎?不矛盾,很簡(jiǎn)單,前幾年有一個(gè)詞很熱,但在我看來(lái),那個(gè)詞簡(jiǎn)直是個(gè)笑話。什么詞呢?你肯定聽過(guò)——全民炒股。
我問(wèn)你,證券投資是不是現(xiàn)代經(jīng)濟(jì)活動(dòng)的必要元素?這是肯定的;炒股有錯(cuò)嗎?沒有。但全民炒股就不正常了。我說(shuō)得難聽一點(diǎn),就是跟風(fēng),而且是盲目跟風(fēng),甚至有不少連證券是啥都不知道,居然還去開戶。
你說(shuō),這難道不是很可笑嗎?所以,你明白了,趨勢(shì)和泡沫不是一回事。
移動(dòng)開發(fā)會(huì)成為IT行業(yè)一個(gè)新的分支,它不應(yīng)該也不能取代一些現(xiàn)有的東西,不然,就違 背自然規(guī)律了。比如,你說(shuō)平板會(huì)取代PC嗎?正常情況下,應(yīng)該二者并存,但是,如果PC被平板取代,那個(gè)時(shí)候,我估計(jì)那些科幻電影都變成現(xiàn)實(shí)了,人類的科 技文明不是為自己帶來(lái)幸福,沒準(zhǔn)哪天反而為人類帶來(lái)沉重的災(zāi)難,就像電影里面的機(jī)器人一樣。
因此,對(duì)于移動(dòng)開發(fā),我認(rèn)為,不論個(gè)人還是企業(yè),都應(yīng)該投入這個(gè)市場(chǎng),但是,不要把所有希望都寄托上去, 千萬(wàn)不要把老本也壓上去,不然,將來(lái)有一天,你會(huì)落得很悲慘的下場(chǎng)。當(dāng)然,這只是我個(gè)人觀點(diǎn)。
其實(shí),我們平常聽說(shuō)長(zhǎng)輩或老師說(shuō)的一句話,很簡(jiǎn)單,但蘊(yùn)含深刻,什么話呢?就是這句:凡事都有個(gè)度,不要過(guò)“激”了。
另外,我建議大家把目光放廣一點(diǎn),經(jīng)常發(fā)現(xiàn)很多公司的程序員,真的知識(shí)太“貧血”了,他們只知道工作上的事情,只知道寫程序,而其他的常識(shí)或知識(shí)都不懂。別說(shuō)這些,甚至有不少程序員連編程知識(shí)都不行,更別說(shuō)其他了。
千萬(wàn)不要以為走出大學(xué)門口就不用學(xué)習(xí)了,這種想法是嚴(yán)重錯(cuò)誤的,尤其是我們搞IT的,大家更明白,這個(gè)行業(yè)發(fā)展速度那是快得不得了,如果你不能保持終身學(xué)習(xí),及時(shí)充電的勁頭,那我估計(jì),再過(guò)上兩三年,你就不屬于這個(gè)星球的了。
什么叫開發(fā)呢?有“開”也有“發(fā)”,所以這個(gè)行業(yè)是貨真價(jià)實(shí)地需要?jiǎng)?chuàng)新的,不然你就不是搞“開發(fā)”的了,不能成為阻礙人類文明進(jìn)步的XXX哦。
創(chuàng)新靠什么?思維;思維從哪里來(lái)?你的腦子;腦子如何弄出新思維?靠的是靈感;靈感從哪里來(lái)?從你對(duì)客觀世界的深度剖析;怎么樣才能觸發(fā)靈感?博學(xué)。
我們不能把編程孤立,總認(rèn)為它與其他事物沒有聯(lián)系,那是不能創(chuàng)新的,提高個(gè)人的編程水平,不僅僅要在代碼上花功夫,還要廣泛涉獵其他知識(shí),從其他知識(shí)中提練出有用的東西,應(yīng)用到編程哲學(xué)上。
有些時(shí)候,有些問(wèn)題想來(lái)想去都想不出個(gè)方案來(lái),沒準(zhǔn)你可以從其他事情,或者從其他客觀事物(比如小說(shuō)、音樂(lè)、電影等)中得到啟發(fā),因而問(wèn)題反而解決了。有些時(shí)候,你苦思冥想都想不通的事情,反而在一些偶然或巧合中找到了答案,這也不奇怪??傊痪湓挘鄬W(xué)有益,不學(xué)百害。
最后,對(duì)于移動(dòng)開發(fā),總結(jié)一句話:見機(jī)行事,趁虛而入,但要做到全身而退;適當(dāng)投入,切勿陷進(jìn)去不能自拔。
好了,祝各位朋友生活愉快,編程快樂(lè),快樂(lè)編程,認(rèn)真學(xué)習(xí),學(xué)有所成,學(xué)有所用,成就煇煌事業(yè)。