plist文件就相當(dāng)于程序里面的dictionay里面可以層層嵌套dictionary或者array。解析就是讀取內(nèi)容放進dictionary就可以了。

創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元下花園做網(wǎng)站,已為上家服務(wù),為下花園各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220
一句話來形容:牛掰的不像地球上的人物。
我們不談技術(shù),就簡單介紹一下這寫出IOS和安卓的兩位大神。
很多朋友都以為IOS是喬布斯的作品,實際不然,IOS系統(tǒng)實際上更多的是出自斯科特·福斯特之手。但這個人實在太低調(diào)了,以至于很多人都沒有聽過他的名字。
喬布斯開創(chuàng)了蘋果公司的巔峰,拉開了智能手機的新時代,而福斯特正是那個時代最亮眼的星。這位大神是斯坦福大學(xué)計算機系的高材生,才華橫溢的他多負責(zé)幕后工作,曾被認為是喬布斯最理想的接班人。
福斯特爾是蘋果的王牌軟件設(shè)計師,他是Mac OS X系統(tǒng)以及Aqua用戶界面的最初設(shè)計者之一,iOS廣為人知的多點觸控界面就出自福斯特爾的手筆,備受好評的IOS生態(tài)也借鑒了不少他的研究成果。
遺憾的是,福斯特在后期有些膨脹了,再加上漏洞百出的蘋果地圖,讓他得罪了不少領(lǐng)導(dǎo)。喬布斯病逝后,福斯特與上層不和,最終選擇辭職,一代大神從此銷聲匿跡。
這個名字聽上去好像還是聽陌生的,但說起另一個名詞大家肯定不會陌生:安卓。
而安德·魯賓正是寫出安卓系統(tǒng)的人。
安德·魯賓有多厲害呢,焊接,編程,運維,PLC……幾乎就沒有他不會的東西。他23歲的時候就是卡爾蔡司機器人公司的設(shè)計師,這份履歷足以讓他吃香喝辣的了。但安德·魯賓并不滿足,1986年他進入了蘋果公司,那時候蘋果還是以技術(shù)人員為主。魯賓剛?cè)ヌO果公司就搞了個大新聞——他對公司的內(nèi)部電話系統(tǒng)進行了重新編程,結(jié)果很多同事在那天都接到了老板的電話,聲稱要給他們股票獎勵。
安德·魯賓在蘋果公司主要搞研發(fā),蘋果首款塔式電腦Quadra和 歷史 上第一個軟modem就出自他手。這人是個工作狂,一天24小時吃住全在辦公室,他曾設(shè)計出一款智能手機操作系統(tǒng)和UI——Magic Cap,卻因為理念太過超前沒有被大眾認可,1997年,心高氣傲的他離開了蘋果,又去了微軟。
在微軟他也閑不住,很快又闖了大禍,他做一款機器人被黑客入侵,微軟安全小組表示這會泄露公司機密。在微軟沒呆夠三年的他又跑路了,跑去斯坦福大學(xué)當(dāng)教授了。
也是在這段時間,安德·魯賓設(shè)計出了安卓的雛形,也遇到了貴人——谷歌創(chuàng)始人拉里·佩奇和謝爾蓋·布林。不久后谷歌收購了安卓,安德?魯賓也成為了谷歌的副總裁。
最后說個題外話,相比美國,我們確實缺少這樣的才華橫溢的技術(shù)性人才,也許是大環(huán)境的原因,我們至今也做不出像安卓和IOS這樣優(yōu)秀的操作系統(tǒng)。希望鴻蒙能在做好系統(tǒng)生態(tài)后,給大家?guī)眢@喜吧。
本人10年開發(fā)培訓(xùn)經(jīng)驗,期間經(jīng)歷了Java Web,Android,H5,大數(shù)據(jù),PHP等多個不同的方向的開發(fā),也做過軟件培訓(xùn)公司的金牌講師,很有興趣回答你這個問題。
以我自身的體會來說吧,程序員也是要分三六九等的。這個世界上絕大多數(shù)程序員都是做應(yīng)用層面開發(fā)的,什么意思呢?就是說都是開發(fā)具體的App,網(wǎng)站,應(yīng)用等的程序員。
但是這些程序員數(shù)量這么多,為啥子呢?因為大多數(shù)程序員達不到開發(fā)操作系統(tǒng)的能力唄,當(dāng)然包括我自己。
所以這個世界上,也就只有一小部分程序員可以參與到操作系統(tǒng)的研發(fā)之中,他們可以說是程序員這個金字塔的塔尖部分。
而iOS或Android,都屬于操作系統(tǒng),那么開發(fā)這種系統(tǒng)的人,當(dāng)然是很牛了。就好比Linux系統(tǒng)內(nèi)核的開發(fā)者Linus,他很狂妄的說過:I'm your God! 沒辦法,人家有狂妄的資本。
如果有Java,Android,H5等開發(fā)方面的問題,或者是開發(fā)求職方面的問題,都可以在評論區(qū)留言,或者私信我!
研發(fā)一個系統(tǒng)不難,難的是如何讓系統(tǒng)活下來并且占有較高的市場份額,除了大家熟悉的安卓和iOS之外,三星的Bada和Tizen、微軟的Windows Phone、黑莓的BlackBerry OS、諾基亞的塞班等等,加在一起也有十余個了,但是最終還是被安卓和iOS分攤了市場。
這些系統(tǒng)并不是因為本身的技術(shù)問題死在了沙灘上,更多的原因是因為沒有形成一個生態(tài)鏈!
在iOS剛開發(fā)出來時,喬布斯甚至打算讓iOS全封閉,拒絕蘋果公司以外的人開發(fā)應(yīng)用程序,iPhone剛推出時,喬布斯表示將拒絕外部開發(fā)人員開發(fā)iOS應(yīng)用程序,他認為這些外部開發(fā)人員開發(fā)iOS應(yīng)用程序會破壞iPhone的體驗完整性,把iPhone搞得亂七八糟, 讓iPhone感染病毒 帶來安全隱患。
好在后來被說服讓開發(fā)者進來,不然現(xiàn)在我們很可能都見不到iOS系統(tǒng)了,因為生態(tài)圈的建設(shè)是最重要的,光有一個系統(tǒng)沒有應(yīng)用的支持也是白瞎,而安卓由于做的是開源系統(tǒng),因此有巨量的開發(fā)者進入安卓開發(fā)應(yīng)用,iOS和安卓的生態(tài)圈已經(jīng)形成并且趨于穩(wěn)定,其它企業(yè)要想再研發(fā)一個系統(tǒng)就比較困難了。
開發(fā)手機系統(tǒng)是個很龐大的工程,不但要有雄厚的資金還要有一支技術(shù)過硬的開發(fā)團隊,別所自主研發(fā)系統(tǒng),有時候開發(fā)一款軟件都要需要一支團隊晝夜不休的工作幾個月甚至更長時間。
android操作系統(tǒng)本身是使用Java開發(fā),使用JNI調(diào)用本地的C語言庫,由操作系統(tǒng)實現(xiàn)對底層調(diào)用。iOS系統(tǒng)是蘋果自己開發(fā)的,核心合適C語言。
一個新操作系統(tǒng)要運轉(zhuǎn)起來,不只意味著上億行代碼,還需要生態(tài)系統(tǒng)運轉(zhuǎn)起來,獲得用戶和開發(fā)者的支持。所以不是新開發(fā)操作系統(tǒng)是否容易,而是要養(yǎng)成新生態(tài)要花多久的時間。
當(dāng)然是非常厲害了,看看我們身邊的程序員在干什么事就知道了(很多根本就不夠資格入行),能夠進行系統(tǒng)開發(fā)的那部分人都是頂級高手,能寫出安卓IOS那就更是高手中的高手了。
蘋果IOS系統(tǒng)是由一位叫斯科特·福斯特爾帶隊孵化出的產(chǎn)品,至于這個系統(tǒng)的優(yōu)點就不多說,毫無疑問目前沒有任何移動端系統(tǒng)能與之媲美。蘋果能一直領(lǐng)先業(yè)界,這款系統(tǒng)是有很大功勞的。那么斯科特是一位厲害的人嗎,答案是肯定的,若光憑運氣沒有智慧是絕不可能把如此優(yōu)秀的系統(tǒng)做出來的。
與一般的學(xué)霸差別并不大,福斯特的經(jīng)歷算不上傳奇,在斯坦福大學(xué)獲得符號系統(tǒng)學(xué)位和計算機科學(xué)學(xué)位后,97年一起和喬布斯加入了蘋果。可能是習(xí)慣于幕后吧,大概是十年后大家才知道這位厲害的人物。2008年,提升為高級副總裁;12年,轉(zhuǎn)任CEO庫克的個人顧問,后因個人原因離職。
在進入蘋果之前,他已經(jīng)有一家自己軟件公司,IOS就是在原有的基礎(chǔ)上開發(fā)出來。IOS雖然是團隊的產(chǎn)物,但若沒有原始的積累是不可能發(fā)展如此順利。
安卓最初的創(chuàng)始人是安迪·魯賓,與福斯特的經(jīng)歷比較相似,最初的獨立闖蕩并沒有出眾的作品讓他出名,都是在找到志同道合的合作伙伴才逐漸將自己的才華展現(xiàn)出來。不過魯賓的從業(yè)經(jīng)驗的確非常豐富,可能也正是這些經(jīng)歷,讓他在后來的職業(yè)生涯中能充滿靈感。
1986年,取得尤蒂卡學(xué)院計算機學(xué)學(xué)士學(xué)位后,成為了卡爾·蔡司公司擔(dān)任機器人工程師,當(dāng)時的他只有23歲。1989年,他又順利進入蘋果,并且在蘋果還狠狠干了一票。不久后又溜到了微軟,只不過因為搞個人項目太猖狂,微軟領(lǐng)導(dǎo)看不慣他,沒有讓他的作品發(fā)行。
可能安迪也想不到,他還能覓到知音,在斯坦福大學(xué)的一次授課中,安迪遇到了他人生中最懂他的兩位貴人,他們就是谷歌創(chuàng)始人拉里·佩奇和謝爾蓋·布林。幾人不謀而合,終于做出了世界上最流行的手機操作系統(tǒng)——安卓。
如很多朋友所言,可能做一款系統(tǒng)難度的確不是最高的,很多國家都能辦到,但是要做到像IOS或者安卓這么受歡迎也不是易事。所以連百度、阿里這樣的巨頭都曾放棄過,原因不言而喻。從現(xiàn)在華為鴻蒙的動作同樣能看出,雖然谷歌苦苦相逼,但鴻蒙上線并不干脆。
不管是什么原因,這兩個人能夠做出如此優(yōu)秀的系統(tǒng),肯定不是一般軟件開發(fā)人員能相比的。不過要論個人魅力,安迪可能要更加全面,動手能力、動腦能力、口才都非常厲害,安卓能在如此短的時間超越IOS規(guī)模離不開他的謀略。
當(dāng)然,人都是有審美疲勞的,雖然現(xiàn)在的系統(tǒng)已經(jīng)非常好用,但若有新系統(tǒng)出現(xiàn),比如現(xiàn)在的鴻蒙,個人還是非常愿意一試的。
亂世出英雄,時代不同環(huán)境不同,如果谷歌總想著通過不良競爭打壓別人,那么后來者的機會可能也就來了。
有的人總是說生態(tài)的問題,那是看新聞看多了,外行人看熱鬧看多了,難道真的以為這世界上只有熱鬧就夠了,沒有真正的技術(shù)了?
做一個操作系統(tǒng)是非常難的,全世界那么多軟硬件巨頭,而操作系統(tǒng)的數(shù)量一個手就能數(shù)的過來。常說的生態(tài)難,那只是第二步,而第一步是要把操作系統(tǒng)做出來,這絕不是簡單的事。
一個操作系統(tǒng),是創(chuàng)造一片生態(tài),讓全世界都能在你創(chuàng)造的環(huán)境內(nèi)生存,并且還要用你定的規(guī)則來開發(fā)各種各樣的軟件。這里面需要做的事太多太多,需要一個很強大的團隊,用數(shù)年的時間才能開發(fā)出來。然后就是核心問題了,你做的系統(tǒng)好不好用,功能合不合理?強不強大?萬一系統(tǒng)設(shè)計的不行,不好用,沒人用,那你這前期巨大的資金和數(shù)年的時間可就全白費了!這就算是世界級巨頭也難以承受的損失。
正因為如此難,所以全世界也沒有幾個做操作系統(tǒng)的,現(xiàn)在華為做的系統(tǒng),也是在安卓系統(tǒng)的基礎(chǔ)上做的,也就是說,別人做好的系統(tǒng),拿來改一改,都已經(jīng)花了幾千億了。而最近宣傳的電腦端的深度Deepin系統(tǒng),也是在LINUX基礎(chǔ)上做的,也就是說:還是別人的系統(tǒng),咱們只是拿過來改了改而已!
一、當(dāng)然挺牛的
iOS的負責(zé)人是福斯特,1997年陷入困境的蘋果收購了喬布斯創(chuàng)立的NeXT公司,喬布斯帶領(lǐng)福斯特等人加入蘋果公司,隨后福斯特負責(zé)了MAC OS的開發(fā),將NeXTSTEP一些架構(gòu)和設(shè)計理念引入MAC OS中。
后來喬布斯計劃開發(fā)智能手機,委派福斯特負責(zé)iOS系統(tǒng)的開發(fā),并且從那時候起他就是iOS系統(tǒng)負責(zé)人,直到離職,可以說福斯特是這兩大操作系統(tǒng)的奠基者和長期負責(zé)人。
而Android操作系統(tǒng)最初由Andy Rubin開發(fā)的,他最開始想做的是互聯(lián)網(wǎng)手機,所以創(chuàng)辦Android,開始啟動下一代智能手機的開發(fā)。最后安卓被谷歌收購,開啟了安卓的輝煌歷程。
二、但更牛的是生態(tài),比系統(tǒng)本身難多了
當(dāng)然,再加到系統(tǒng)本身,其實研發(fā)一個系統(tǒng),本身并不是那么的難,國內(nèi)很多廠商都有研發(fā)系統(tǒng)的能力,比如阿里有系統(tǒng),華為有系統(tǒng),要研發(fā)系統(tǒng),再發(fā)展出一個成熟的生態(tài),才是真的困難。
微軟多厲害,三星也多厲害,但微軟的手機系統(tǒng),三星的手機系統(tǒng)都可以說是失敗了,這個才是真正的難點。
目前華為推出HMS,其實也是為了生態(tài),而鴻蒙發(fā)布了沒有使用在手機上,也是因為生態(tài)不行,華為不敢也不能冒這個險,繼續(xù)便宜安卓。
當(dāng)年,紅極一時的諾基亞我想大家不陌生吧。當(dāng)年素有"機王"的稱號,據(jù)相關(guān)信息顯示,自1996年起,諾基亞連續(xù)14年占據(jù)手機市場份額第一。當(dāng)時搭載的是塞班系統(tǒng)。2011年的時候,諾基亞手機被安卓跟蘋果系統(tǒng)反超。錯失世界第一的霸主地位。盡管諾基亞的暗淡有自己的決策問題,但是蘋果跟安卓系統(tǒng)對他也是致命的打擊。我有時候在想,當(dāng)初的諾基亞是不是對這兩哥們恨之入骨呢?這點不難看出這兩哥們是蠻牛。
目前國內(nèi)市場品牌手機商,比如華為,小米,oppo對android進行了修改,完善。有了自己的EMUI MIUI ColorOS系統(tǒng)。國人的手機要么是安卓機,要么是蘋果機。其他系統(tǒng)的份額很小。盡管我們有華為的操作系統(tǒng),但是不夠完美。如果沒有這兩牛人系統(tǒng),會不會影響到我們手機的使用呢?這點不難看出這兩哥們是蠻牛。
近幾年,移動互聯(lián)網(wǎng)一直很火爆,也正因為這兩系統(tǒng)。才使得這么多安卓與iOS開發(fā)人員那么多。試想,如國沒有這個系統(tǒng)了,那會有多少開發(fā)人員會出現(xiàn)短暫的失業(yè)呢?從這點不難看出這兩哥們是蠻牛。
跟喬幫主相比,可能很多人都不認識他,但是不管怎么樣。他所做的貢獻是鐵板釘釘?shù)氖铝恕OS出自他手。這哥們是蘋果軟件業(yè)務(wù)的靈魂人物,他在軟件設(shè)計方面非常有天賦。外界一致認為他是繼喬幫主之后的下一位幫主人選。但是喬幫主走后,他也沒能繼位。反而是選擇了辭職。根據(jù)相關(guān)資料顯示,也有他自己的原因吧,大神的世界我們不懂啊。
鼎鼎有名的安卓系統(tǒng)就是出自他手,我覺得有技術(shù)在手就是拽,他的就業(yè)跳槽經(jīng)歷也是蠻豐富的。1986年獲得計算機學(xué)士學(xué)位。1989年僅26歲的他加入蘋果公司。到后面加入微軟。又再從微軟離職。人生當(dāng)中一直沒有遇到伯樂啊。幾經(jīng)波折,最后遇到了伯樂谷歌,2005年他寫的安卓系統(tǒng)被谷歌收購。他從蘋果的一個開發(fā)人員,憑借著Android一直干到了Google移動平臺副總裁、Android主管。并于2014年10從谷歌離職。
以上講了這么多足足可以看出這兩系統(tǒng)的優(yōu)秀。以及市場份額龐大。但值得慶幸的是近幾年面對美國的管制,為了不受制于人。我國 科技 巨頭似乎也明白這個道理,也在涉足操作系統(tǒng)的研發(fā)。雖然目前完全取代Android系統(tǒng)是不可能的,但是未來可期啊。
你覺得我國的操作系統(tǒng)會超過安卓系統(tǒng)嗎?歡迎評論區(qū)留言討論!
謝謝您的問題。福斯特與魯賓,確實有過人之處。
福斯特在蘋果公司的牛。 福斯特于1992年加入了喬布斯創(chuàng)辦的NeXT公司,1997年蘋果收購NeXT,福斯特跟隨喬布斯加盟蘋果。按照蘋果與喬布斯安排,福斯特先后負責(zé)了MAC OS與iOS系統(tǒng)的開發(fā),是兩大重要貢獻的重要貢獻者、奠基者。之后,福斯特負責(zé)的軟件業(yè)務(wù)出現(xiàn)了兩大失誤,包括失敗的蘋果地圖與不完善的Siri服務(wù),福斯特不愿意道歉,他很可能是蘋果公司設(shè)計、硬件兩方高管意見不合、決策失誤的犧牲品。作為喬布斯繼任人選之一,福斯特不想在蘋果繼續(xù)任職,2012年離開蘋果。
福斯特離開蘋果公司的牛。 福斯特離職后,隨著蘋果產(chǎn)品的更加豐富、生態(tài)愈加完善,優(yōu)化iOS系統(tǒng)更不容易,iOS系統(tǒng)升級后問題增加,iOS和MacOS的繼任者顯然不如福斯特深刻理解自己的產(chǎn)品。另一方面,福斯特又開啟了自己另外一段開掛的人生,他聯(lián)合制作的百老匯新音樂劇《歡樂窩》成功上映,技術(shù)狂人也有浪漫滿屋。
安迪·魯賓(Andy Rubin)的牛與不牛 。魯賓也是技術(shù)發(fā)燒友,而且能做成產(chǎn)品。他設(shè)計了家庭影院系統(tǒng)、電腦程序控制的直升機、無人值守的POS 系統(tǒng),很多想法在現(xiàn)在都是前瞻性。 2003 年,魯賓基于長期持有的域名 Android.com 開發(fā)了 Android,安卓系統(tǒng)關(guān)鍵在于其開源,兼容五花八門的智能手機,逐步占有市場,其間魯賓又投資了谷歌自動駕駛事業(yè)。不過,魯賓有提前預(yù)判10年的眼光與能力,但是缺乏耐心、出手過急,技術(shù)之后的 社會 、文化和 科技 環(huán)境并不成熟,市場并不買賬,導(dǎo)致其翻了一些跟頭。
歡迎關(guān)注,批評指正。
一座摩天大樓,從來都不是憑空而來。同樣的道理,好操作系統(tǒng)和生態(tài)環(huán)境,也都非一朝一夕。
這個世界上主流的操作系統(tǒng)內(nèi)核,為什么只有Windows NT和Linux Kernel,因為他們的確很優(yōu)秀啊,但是為什么基于這兩種內(nèi)核,最強大的生態(tài)系統(tǒng)只有Windows Desktop和Android?不僅僅是因為有個強大的爹,召集了全世界的開發(fā)者去幫它完善生態(tài),但同樣,它們自身也要足夠優(yōu)秀對不對?
所以,不要總是想著,人家的生態(tài)環(huán)境已經(jīng)占領(lǐng)了市場,我們無法與之匹敵。那當(dāng)年的Android又是如何把諾基亞,黑莓,微軟等一眾強大到可怕的敵人一一淘汰的?
在近一段時間里,筆者會經(jīng)常聽到在職iOS開發(fā)人員的各種吐槽,各種無奈,各種對于iOS市場唱衰,更是在某度搜索引擎上隨便一點iOS就是各種負面新聞,事實上,經(jīng)過筆者的一番了解,斷定其實你們看到的一定是個假iOS!
作為一個開發(fā)者,有一個學(xué)習(xí)的氛圍跟一個交流圈子特別重要,這是一個我的iOS交流群:551346706,不管你是小白還是大牛歡迎入駐 ,分享BAT,阿里面試題、面試經(jīng)驗,討論技術(shù), 大家一起交流學(xué)習(xí)成長!希望幫助開發(fā)者少走彎路。
一、2014-2015年間盛極一時,iOS開發(fā)人員可遇不可求
首先,咱們來談?wù)刬OS開發(fā)的早期經(jīng)歷。說起iOS開發(fā)在他最火的時候應(yīng)該是2014-2016年左右,那個時候各種創(chuàng)業(yè)公司對于技術(shù)的渴望是多么的可遇不可求,就一度掀起了招聘iOS開發(fā)者的熱潮,那個時候的市場,可謂是什么人都能夠上的去,只要會一點界面開發(fā)你就是技術(shù)大牛,能做出項目經(jīng)理的產(chǎn)品架構(gòu),那么你技術(shù)就是牛B,也是一時間洛陽紙貴,iOS開發(fā)人才變得可遇不可求,數(shù)量及其缺乏。在這個時候,有慧眼的技術(shù)從業(yè)者深知掌握“一技”,方能在社會上生存,“之長”方能得以長足發(fā)展;所以在這段時間果斷選擇了iOS開發(fā),事實證明,敢于第一批吃螃蟹的人,他們是成功的典范;他們是iOS早期開發(fā)者;也從那個時候在逐漸成長起來,細數(shù)時間算來,應(yīng)該有3年實踐開發(fā)經(jīng)驗的開發(fā)者,注意這里用到的是早期開發(fā)者,并不是說iOS開發(fā)大神,后面我會解釋為什么這樣說。
二、2015年底-2016年底,遭遇面頂之災(zāi)面臨行業(yè)洗牌
眾所周知,iOS開發(fā)技術(shù)在之前那樣缺乏的時間會讓更多的人涌進來,而經(jīng)濟學(xué)告訴我們說,供不應(yīng)求,引起物價上漲;當(dāng)供大于求時,則相反。正是因為當(dāng)時的iOS市場匱乏人才,很多其他語言開發(fā)者就臨時抱佛腳,沖著高昂的薪資就轉(zhuǎn)行做了iOS開發(fā),還有一大批社會上準(zhǔn)備學(xué)習(xí)技術(shù)就業(yè)的人群呈井噴似涌入iOS開發(fā)市場,那最后的結(jié)果勢必是隨著時間的推移、資本市場的寒冬、創(chuàng)業(yè)公司一批批倒閉,這對iOS的開發(fā)者需求量來說是逐漸呈現(xiàn)了飽和狀態(tài)。
但是,偉大的適者生存理論告訴我們說,在這個競爭力突然加大、需求市場收緊的時代,有一大批應(yīng)聘者已經(jīng)被社會上消化掉,一大批應(yīng)聘者已經(jīng)被淘汰掉了。所以,過去盛極一時的時代過去了,大浪淘沙,相對來說留下的iOS開發(fā)者被要求能力水平更高,技術(shù)能力更強;這也就說明了,在行業(yè)內(nèi)唱衰的iOS其實并不是受到了毀滅性的打擊,只是大自然生存法則罷了,沒辦法,人多了一定會淘汰一批不適合的人。
三、2017iOS市場優(yōu)勝劣汰,走出人生新高度
經(jīng)過近幾年的折騰,目前資本市場在逐漸平穩(wěn),創(chuàng)業(yè)者的創(chuàng)業(yè)公司也逐漸在失敗中吸取教訓(xùn),越來越多的創(chuàng)業(yè)者已經(jīng)吸取更多的經(jīng)驗,就像前幾天被刷屏的文章《就算老公一毛線股份都沒拿到,在我心里,他依然是最牛逼的創(chuàng)業(yè)者》一樣,感人至深,動之以情得說明了目前我們的生存現(xiàn)狀,在當(dāng)前競爭殘酷的社會中,物競天擇,適者生存是永遠不變的真理,iOS市場是這樣的,能夠真正適應(yīng)的人方能走到最后。
目前還在培訓(xùn)iOS的機構(gòu)屈指可數(shù),當(dāng)你問到他們?yōu)槭裁床慌嘤?xùn)iOS了?他們也許會說,iOS市場不行了,iOS找不到工作了!其實,并不然,是他們本身水平根本不夠!培訓(xùn)出來的學(xué)生根本不能夠足以市場的客觀要求,不能夠具備更強的水平而慘遭淘汰。其實,看到這里,聰明的你應(yīng)該去搜索引擎上去搜索一下,iOS開發(fā)有誰還在持久戰(zhàn)斗,有誰還能在這個行業(yè)里繼續(xù)敢叫囂,看看他們的薪資數(shù)據(jù),用事實說話你會明白更多,也不光是iOS開發(fā),在任何一個行業(yè)里面同樣都適應(yīng)這樣的適者生存的法則,我們要做的就是努力適應(yīng)爭取更多。
四、沒有人能阻擋你,只有你自己不努力
最后,只想奉勸所有看官一句,盲人摸象,人云亦云,有些事情需要自己去真正去實踐,你看到的不一定是真實的,你聽到的也不一定是真實的,只有你自己努力奮斗了,才是最踏踏實實的體驗。就像韓寒說過,雖然聽過很多大道理,卻依然過不好這一生。其實不無道理,沒人能夠阻擋你,只有你自己不努力。
有時,選擇大于努力,在選擇進入你想要進入的行業(yè)之前調(diào)查是必然的,但是也相信自己的慧眼,不要盲目跟從市場。邏輯教育iOS學(xué)院一如既往的服務(wù)于每個學(xué)員,培養(yǎng)學(xué)生成為“iOS中高級開發(fā)者”被無數(shù)企業(yè)瘋搶,面對競爭無所畏懼,拿offer拿到手發(fā)軟,拿高薪資拿到父母笑,能有這樣精彩的人生,相信你也會感謝這樣努力的自己。
五、只要你愿意,你也可以成為這樣的“大神”
對了,上文我們提到了早期開發(fā)者是叫做早期開發(fā)者,為什么不是叫做開發(fā)大神。筆者是這樣認為的,凡是大神者,定是有受人仰慕的精神或擁有超過技能的能力;如果你這個人技術(shù)水平高,什么開發(fā)難題都難不倒,但是你人品不行,不懂得分享,自認為有超過的技術(shù)水平就看不起或者是鄙視他人,那這人一定不受人仰慕就一定不是什么大神了,最多是開發(fā)能力者。
所以,筆者也是在這里提倡,無論是什么樣的技術(shù)從業(yè)人員,都希望你有好的思想品質(zhì),擁有勤奮好學(xué)的精神,能夠積極向上的努力,就是遇到社會上再殘酷的競爭也會有自己的棲身之所的,相信因果,己所不欲勿施于人,社會再淘汰的話,我相信這樣的大神還是能夠存在并且立足的,能力再稍高一些,無論他的出身如何,筆者更愿意稱呼這樣的人為“技術(shù)大神”。
作為一個開發(fā)者,有一個學(xué)習(xí)的氛圍跟一個交流圈子特別重要,這是一個我的iOS交流群:551346706,不管你是小白還是大牛歡迎入駐 ,分享BAT,阿里面試題、面試經(jīng)驗,討論技術(shù), 大家一起交流學(xué)習(xí)成長!希望幫助開發(fā)者少走彎路。
1、世上無難事,只要肯登攀!
2、誰說只能干到30歲,你要學(xué)IOS開發(fā),他的創(chuàng)始是喬布斯,他是干到死的,微軟的比爾,那么有錢,退休了,現(xiàn)在全力研究聲控技術(shù)、生物技術(shù)與計算機技術(shù)相結(jié)合 。
所以,真想學(xué),與其在此發(fā)問,不如,拿起IOS開發(fā)手冊,與其問干到30歲,不如等到你30歲再說,就算30歲后不干了,至少還可以干兩年。
1.定義函數(shù)時,希望傳入的參數(shù)不為nil,或者為nil時會有警告顯示:
如下:
- (instanceype)initWithFoo:(NSString *)foo bar:(NSString *)bar sark:(NSString *)sark
__atttribute__((nonnull(1, 2)));
p.s. index從1開始,不是0,且只對對象生效。
該技巧同樣來自,sunnyxx大神的微信,逗比狗~
2.定義函數(shù)時,希望子類override該方法時候,必須調(diào)用super,否則編譯器直接報錯。
@interface OldSix:NSObject
- (void)fooWithNothing __attribute__((objc_requires_super));
該技巧同樣來自,sunnyxx大神的微信,逗比狗~
wait~~~~~
/*檢查子類在重寫該方法時有沒有調(diào)用自己(父類)的實現(xiàn)
*對于一些可以被繼承的類,需要子類在重某一調(diào)用父類的實現(xiàn)以保證正確的行為,通過在頭文件方法的聲明末尾添加`NS_REQUIRES_SUPER`
*可以讓編譯器檢查子類方法有調(diào)用父類的實現(xiàn)。具體使用方法如下:
* - (void)viewWillAppear:(BOOL)animated NS_REQUIRES_SUPER;
*/
但是根據(jù)我的實際測試,發(fā)現(xiàn)sunnyxx大神仙的方法,沒有任何顯示效果,不知道是不是我打開的方式不對還是怎么,
總之,NS_REQUIRES_SUPER的方法親測可用。
3.誤刪系統(tǒng)sdk頭文件的解決辦法
在終端中輸入:
$ cd ~/Library/Developer/Xcode/DerivedData/ModuleCache/
$ rm -rf *
4.ARC下打印retainCount
extern uintptr_t _objc_rootRetainCount(id obj);
id test = [NSString new];
NSLog(@"retain count %lu",_objc_rootRetainCount(test));
5.工程報錯下,仍然可以編譯成功
6.定位方法的調(diào)用者
基礎(chǔ)
一定的編程經(jīng)驗
這里說的編程經(jīng)驗是至少熟練一門編程語言,對 OOP 有一定的了解,最好熟悉一些基本的設(shè)計模式。遇到過的好多 iOS 開發(fā),大多是從別的語言轉(zhuǎn)過來的,所以有一定的編程基礎(chǔ),學(xué)起來會更容易 get the point.
如果是第一次接觸編程,當(dāng)然也是沒問題的,只是要做好心理準(zhǔn)備,可能會比想象的難。
英語
發(fā)現(xiàn)不少開發(fā)對于英語似乎有點接受不能,通常都是中文優(yōu)先,除非迫不得已,才硬著頭皮看看 StackOverflow,英文文章,文檔等。忘了是誰說過「難走的路越走越好走」,通常如此。其實只要稍微 push 一下自己,那些技術(shù)文章啃下來應(yīng)該不會有太大的問題,有過幾次成功的體驗后,這種恐懼感就會減少很多。優(yōu)質(zhì)的文章、視頻、書籍,多是英文的,不邁過這個 坎,將來要么成為瓶頸,要么花更大的成本去填補。
入門
書籍
要學(xué)習(xí) iOS 開發(fā),自然要先學(xué) Objective-C (當(dāng)然現(xiàn)在也可以直接上 Swift,不過如果多人協(xié)作的話,OC目前還是主流),因為 OC 是 C 語言的超集,所以了解 C 語言對于學(xué)習(xí) OC 肯定會有幫助,不過就算不了解,直接學(xué) OC 也沒太大問題。
這里推薦 BNR (Big Nerd Ranch) 的這本 Objective-C Programming The Big Nerd Ranch Guide,講解地比較細致,能幫助你更好的理解 OC,更重要的是教你遇到問題時,如何去解決問題,以及這個問題對應(yīng)的一些知識點,如何使用文檔等等。
來到一個新的世界,肯定會對這個世界充滿好奇,想訂閱一大堆博客,買一堆書,看各種教程和視頻,然后就變得浮躁,不知該從哪下手,這會導(dǎo)致拖延癥。 我渴了,給我倒一杯水,這個很直接,馬上就可以做,但如果是給我買一瓶飲料,而自己對那些飲料又不怎么熟悉時,就糾結(jié)了,不如刷會微博,看看朋友圈,玩?zhèn)€小游戲先。
所以一本好的入門教材很重要,要契合自己當(dāng)前的水平,且常常會有收獲,這種成就感會激勵著你繼續(xù)學(xué)下去。
在看書的過程中,往往會有這樣的經(jīng)歷:書中提到某個人、觀點、知識點、書、文章,然后就順著它提到的這些東西出去了,可能某個知識點又牽扯到另一些內(nèi)容,然后就這樣越走越遠。想起了一個故事——
三只獵狗追一只土拔鼠,土拔鼠逃跑時鉆進了一個樹洞。這個樹洞只有一個出口,不一會兒,忽然從樹洞里跑出一只兔子。兔子飛快地向前跑,并爬上另一棵大樹。兔子因為慌亂在樹上沒站穩(wěn),掉了下來,砸暈了正仰頭看的三只獵狗,最后,兔子終于逃脫。
對于這個故事可以從不同的角度去解讀,我更愿意以初心去解讀。兔子為什么會爬樹?為什么能砸暈三只獵狗?這不是重點,重點是,之前追趕的土撥鼠哪去了?看書時難免會有延伸閱讀,這個深度我覺得不宜超過 2 層,不然很容易就回不來了。
還有就是如果有可能,最好每天都看點,這其實是很難的,因為總是會有優(yōu)先級更高的事,或者之前的某些習(xí)慣在干擾。一旦斷了幾天,就不想再拿起來了。
還有,蘋果官方的 Start Developing iOS Apps Today 也是很不錯的入門材料。
視頻
推薦斯坦福老頭子(Paul Hegarty)的 Developing iOS 7 Apps for iPhone and iPad ,當(dāng)初也是看的這個(那時還是更老的版本),Paul 是資深的 Mac/iOS 開發(fā)(前蘋果員工?),很多知識點講得很到位,學(xué)生們的提問也大都在點上,同時配有Demo,總之聽下來會對 iOS 開發(fā)有比較全面的了解。
同時推薦一本小冊子:objc-zen-book,花不長時間就能看完,里面是一些 Best Practices,對于編寫優(yōu)質(zhì)代碼會很有幫助。
筆記
這是一個持久的過程,任何階段都適用。以前也沒太在意這個,覺得概念性的東西,腦子過一遍,就大概知道了,然后就去啃其他的東西了,現(xiàn)在看來,如果有記筆記的話,會更有助于消化概念、知識點,也可以記錄自己的思考過程。達芬奇就記錄了10000多頁的筆記。
記筆記可以加深對知識點的理解,而成為編程巨星的唯一秘訣就是:對所做的事情理解地越深,就會做得越好。同時如果遵循遺忘曲線去復(fù)習(xí)的話,效果更佳。對知識點了解地足夠透徹后,Debug 時才更有可能知道問題出在哪,解決問題也更容易有思路。
筆記不僅可以記知識點,也可以記錄調(diào)試過程,比如這篇筆記,有一種調(diào)試方法:小黃鴨調(diào)試法
許多程序員都有過向別人(甚至可能向完全不會編程的人)提問及解釋編程問題,就在解釋的過程中擊中了問題的解決方案。一邊闡述代碼的意圖一邊觀察它實際上的意圖并做調(diào)試,這兩者之間的任何不協(xié)調(diào)會變得很明顯,并且更容易發(fā)現(xiàn)自己的錯誤。
生活中我們可能不會真的這么去做,這時抽離出另一個自己,記錄下跟ta的對話,也是個發(fā)現(xiàn)問題的好方法。
練習(xí)
這也是一個持續(xù)的過程,知道了些概念或原理后,總是會想著去驗證下是不是這樣,無論結(jié)果是否如自己預(yù)期,實踐的過程會降低對語言的陌生感,慢慢地培養(yǎng)一種駕馭這門語言的自信,如果出了錯,正好可以重新梳理一下。
目標(biāo)
如果靜下心來看完了 BNR 的這本書,以及斯坦福的 iOS 開發(fā)視頻,那么對 OC 應(yīng)該比較了解了,一些常用的 UIKit 用起來也沒什么問題了,比如 UIViewController / UIView / UIScrollView / UIImageView / UITableView。也熟悉一些概念,如 KVO / MVC / Delegate / DataSource。
這個階段下來,應(yīng)該會有:哦,iOS 開發(fā)也就這樣嘛,多翻翻文檔,熟悉 Cocoa Touch 的一些 Class,差不多也能做出一個簡單的 App 了。
進階
入門之后,接下來可以折騰的東西還會有不少。
書籍
Effective Objective-C 2.0,里面提到了 52 種提高 iOS App 質(zhì)量的途徑。涉及了 API 設(shè)計、protocols / category 的使用、寫出更模塊化的代碼等,讀下來應(yīng)該會有不少收獲。
iOS Programming: The Big Nerd Ranch Guide (4th Edition),又是一本 BNR 的書,這本書的特點是通過 Demo 來引出知識點,然后提一些問題,并且會細說解題思路。看書的過程中,對于元學(xué)習(xí)能力的提升也會有一定幫助。
--- update ---
發(fā)現(xiàn)巧哥的 iOS開發(fā)進階 已經(jīng)可以在京東買到了,雖然沒有細看,但巧哥出品質(zhì)量肯定有保障。
其他資源
進入這個階段后,可以去探索更大的世界了,現(xiàn)在的資源已經(jīng)很豐富了,但還是要遵循「少而精」的原則。以下是我覺得挺不錯的資源
iOS Dev Weekly 每周一期,內(nèi)容多為這一星期里值得關(guān)注的Github項目、文章、工具等。
iOS 移動開發(fā)周報 這是唐巧大大整理的每周不錯的 iOS 開發(fā)相關(guān)的內(nèi)容,多為中文。
RayWenderlich 很多詳細又全面的教程,不容錯過。
iOS Dev Slack 國內(nèi)不少 iOS 開發(fā)(包括大大們)都在這里,不過現(xiàn)在好像不怎么能拿到邀請了。
中文 iOS/Mac 開發(fā)博客列表,打開工具訂閱吧。
還有,如果可能的話,多去分享自己學(xué)到的東西,教是最好的學(xué),我試過幾次,效果真的很不錯。
目標(biāo)
這個階段下來,對于常用的設(shè)計模式、內(nèi)存管理、Blocks 的使用、圖像操作、網(wǎng)絡(luò)請求和管理、多線程應(yīng)該比較熟悉了。對于 CALayer、Animation、UIScrollView、UITableView、UICollectionView、 ViewController Container 則非常熟悉,對「非常熟悉」的定義是:不打開 Xcode,腦子里就能把相應(yīng)的知識點復(fù)述出來 80% ,比如這個類有哪些方法,Delegate / DataSource 有哪些方法,怎么使用,如果要實現(xiàn)某個效果,應(yīng)該怎么做(好吧, UICollectionView 除外)。
高級
其實高級、進階、入門并沒有嚴格的界限,在入門階段也可以探究高級階段的一些東西。我覺得支撐我們不斷探索和前進的動力不是興趣,而是永不滿足的好奇心,和對優(yōu)雅代碼的追求。
If your standards are low, you're going to stop pretty early on in the process.
BNR 的這篇 Leveling Up 已經(jīng)講得很好了,也更加細致。
書籍
iOS 7 Programming Pushing the Limits 這本書對 iOS 7 的一些特性會講解地比較深入,當(dāng)然也不僅僅是 iOS 7。只嘆 iOS 更新實在太快,書籍往往跟不上,一本好書往往需要很長時間來撰寫,等書可以出版了,iOS 又出新版本了。
源碼
看優(yōu)秀的源碼,可以學(xué)到很多東西,使用過程中遇到問題也更容易解決。這些是我覺得值得細看的源碼:AFNetworking(NSOperation, HTTP, Block), SDWebImage(Image Handle, Cache, NSOperation, Block),SVPullToRefresh(UIScrollView, State Handle), JSONModel(runtime)
如果有興趣,也可以翻翻 CoreFoundation / OC runtime 的源碼。
資源
oleb
NSHipster
objc.io || objcio.cn
WWDC 視頻
工具
chisel Facebook 出品的 LLDB 助手,用于調(diào)試很方便
Reveal 每當(dāng)好奇某個 App 的實現(xiàn)時,都會打開它一窺究竟,用于調(diào)試自己的 App 也很方便
Aspects steipete 大大出品的一款方便使用 method swizzling 的工具,可以在運行時動態(tài)添加代碼到某個方法
class-dump 從 Mach-O 文件生成 OC 頭文件,有時想看看某個 App 大概是如何組織的會比較方便
Hopper 可以對二進制文件進行反編譯,甚至可以生成偽代碼!有時想看看 UIViewController 里某個方法大概是怎么實現(xiàn)的,就可以用它。
Instruments 這個內(nèi)置的工具對于發(fā)現(xiàn) App 的各種問題很有幫助,如內(nèi)存占用、泄露,渲染問題等。
目標(biāo)
這個階段,對于底層的實現(xiàn)會有更深入的了解,各種 Core 開頭的 Framework 至少可以說出個大概,工具也能熟練使用,「正經(jīng)的代碼」寫過數(shù)萬行,可能天天在翻 Dash。如果別人讓你實現(xiàn)某個功能,能在較短的時間內(nèi)給出不錯的實現(xiàn)方案,并且足夠細致,甚至精細到如何使用 Core Graphic 去畫某個圖像。
其他
我覺得無論學(xué)習(xí)什么,「速成」的心態(tài)是最要不得的,這只會讓自己變得浮躁,一知半解,整個過程也很難讓自己的元學(xué)習(xí)能力得到提升。慢慢來,攻占一個城后,再去打下一個,這時心態(tài)也會平和許多。
分享題目:ios開發(fā)大神,資深ios開發(fā)
分享URL:http://chinadenli.net/article44/dsihiee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、微信小程序、營銷型網(wǎng)站建設(shè)、網(wǎng)站收錄、網(wǎng)站改版、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)