亚洲综合视频在线_国产亚洲欧洲一区高清在线观看_欧美日韩成人综合_国产精品99久久久久久白浆小说_美女在线一区二区_欧美性xxxxx极品_国内偷自视频区视频综合_亚洲色图18p_亚洲视频一二三区_国产日韩欧美中文

對于我們當中的大多數人來說,2007年6月底能夠用上第一款iPhone

2018-03-09 18:20:35 來源: 北京日報

打印 放大 縮小

無論對手機應用程序開發員來說,還是對普通iPhone用戶來說,3月6日都是非常特殊的一天。因為今年的這一天,是iPhone軟件開發工具包(即Software Development Kit,以下簡稱SDK)問世的十周年紀念日。我個人認為,說它切實改變了許多人的生活也一點都不為過。不僅如此,它還給蘋果公司的業務發展帶來了很大影響。所以,今天我們就來回顧一下十年前iPhone SDK的開發過程。(為了方便各位讀者理解,本文將盡量不使用專業的科技術語。)

觸摸未來

對于我們當中的大多數人來說,2007年6月底能夠用上第一款iPhone,就相當于是觸摸到未來了。畢竟我們都很想知道在那塊玻璃屏幕后面和金屬機身里面,到底隱藏著什么樣神奇的功能。

雖然蘋果公司已經向我們介紹了這款新產品的各項功能,但卻沒有告訴我們它是如何研發出這些功能的。也就是說,對于它的處理器、運行速度、儲存空間、應用程序開發,我們是一無所知。唯一能夠確定的,就是這款新設備像一個黑銀色的盒子。

作為開發人員,我們很想知道這款設備到底有些什么功能,想知道軟件設計將會發生什么樣的改變。總之,我們很好奇,也很想學習那些尚未接觸過的新知識。隨即了解之后,我們便知道了,那叫越獄。

越獄

沒過多久,我們就有了新發現。全新的文件系統,在短短幾個星期的時間內就問世了。又過了幾個月,我們解鎖了全部的本地應用程序設計和使用體驗,形成了完整的開發工具鏈,大家也都紛紛開始為本地應用程序編寫安裝程序。

當然,所有這些成果之所以能夠順利取得,還是要感謝iPhone的研發工具。蘋果依靠的是與Mac操作系統一樣的基礎設施,他們選擇了一個類似的環境來不斷推進開發流程,不斷嘗試新的方法。正是這種相似性,使得我們這些“外人”能夠在最短時間內大致掌握蘋果內部的產品和程序研發流程。

舉個例子,iPhone中的大多數軟件,都是利用Objective-C語言開發出來的。而Mac開發人員一直使用的是一款名為class-dump的逆向工程工具,主要用來展示一款應用程序的不同組成部分,并且了解這些不同部分都是如何相互聯系、相互溝通的。在體驗過首款iPhone中的應用程序和基本框架之后,這款軟件就帶我們走進了蘋果內部編寫代碼語言的世界。

其中,最為重要的一個組成部分就是UIKit。它包含了所有的用戶界面部件,比如說按鈕和表視圖等等。由于它們與我們在Mac上使用的部件較為類似,因而開發一些點擊和滾動項目也就不怎么費事。

另外,還有一個較為重要的組成部分,那就是操作系統Unix。蘋果選擇這一操作系統就意味著我們很快就能夠在iPhone上使用大量開源軟件。我們可以用這些開源軟件來開發屬于自己的應用程序,接著將它們放到其他手機上去。而且,或許還可以查看程序中最新崩潰列表的內容。

我還清楚地記得第一次使用當前操作系統名稱查看系統信息時的情形。

早期應用程序開發

其實,除了我還有很多其他開發人員也認為,蘋果公司新產品背后的開發流程,與它顛覆性的外觀設計一樣神奇。所以,當時出現針對iPhone的應用程序開發熱潮,也并不是一件稀奇事。

對于新興技術開發人員來說,最為重要的事件,無疑就是獨立開發者大會C4。當時,那場大會的舉辦時間是2007年8月。不少參會者都拿著新款iPhone,認真探索它的各種功能。而我們當中的大多數人,都是有過Mac開發經驗的研究員。但即便如此,我們還是認為參加蘋果的全球開發者大會,聽公司介紹新產品的研發和功能,是一件非常“幸福”的事。

此外,公司還針對iPhone應用程序編程接口舉辦了一場編碼比賽。用大會組織者Jonathan Rentzsch的話說,他希望我們能夠充分發揮自己的想象力和創造力,拿出新穎的想法和令人信服的產品。所幸,我們做到了。

我自己是開發了一款在JavaScript中應用圖形計算器的網頁應用程序,當時主要也是為了表達自己對于蘋果幾個月前所拿方案不太滿意。因為在當時那個方案中,用戶界面比較過時、比較難用,而且運行速度非常緩慢,并沒有達到我們當中大多數人所期望的那種效果。

另外,那些本地應用程序也是讓我們大吃一驚。當時比賽的冠軍得主,是開發了一款視頻會議應用程序的Glen Aspeslagh和Ken Aspeslagh二人。他們早蘋果三年就研發出了帶有前置攝像頭的硬件設備,還自行編寫了一些類似FaceTime的程序代碼。要知道,首款iPhone問世時是沒有攝影機的,所以他們的研發成果著實讓人佩服。

對于我個人而言,在比賽中拿到第二名的作品,才更好地代表了未來的發展方向。首先,那是一款游戲;其次,在移動設備上的運行效果非常好。而且,更為重要的是,它告訴我們,優秀的設計和編程確實能夠將現實生活中的具體事物融入電子設備當中,在觸摸屏上實現流暢操作,并且在較大程度上優化整體使用效果。

在C4大會召開的前幾天,Lucas Newman和Adam Betts二人開發出了一款名為Lights Off的應用程序。在那之后,Lucas就開始幫我開發越獄工具。到后期階段,他還給了我源代碼,讓我能夠評估這些工具的使用效果。所幸的是,我還算比較擅長備份和維護軟件。說不定讀者現在手中使用的新款iPhone X,仍然用的是我們十年前就非常喜歡的代碼。

如果你是一位使用Xcode的開發員,那是可以在GitHub上看到這一項目的。而且,Lucas當時發給我的所有內容和資料,也全都保存在了該項目的“越獄”文件夾中。Xcode項目適用于那套代碼,所以可以直接進行開發和運行。除非必要,否則我們不會進行任何改變。與原來的項目相比,Xcode運行起來要更加容易一些。不過,對分辨率的要求,就不要太高了。

在所有代碼中,你將會看到所謂的根視圖控制器。要記住,當時我們都在學習如何從零做起自主編寫應用程序。所以,對于故事板和資產目錄這類現在看來理所當然的工具,當時是完全缺乏的。

當然,如果你不用Xcode的話,那還有其他選擇。iPhone鐵粉Steve Troughton-Smith有一款加強版,在蘋果應用商店中有售。我到現在還非常喜歡這款游戲,也經常玩,它對iMore的Hall of Fame的入門介紹還是非常好的。說到這里,工具有了,開發志向也有了,接下來應該做什么呢?

Iconfactory的首批應用程序

2007年6月,我們剛剛針對Twitter發布了Mac應用程序的2.1版本。按理說,有了它之后,將Cocoa代碼從一個平臺移到另一平臺,就會變得容易許多,但其實不然。

然而,在那一過程中,我還是學到了不少知識,享受到了編碼和開發的樂趣。iPhone的問世吸引了各種各樣的程序員,其中就包括我們的軟件工程師Sean Heber。2007年,Sean主要負責的是網頁開發,對于Objective-C語言或Mac編程,可以說是一無所知。但這些都沒有妨礙他了解和學習,最后成功寫出了自己的第一款應用程序。

后來到了同年11月,受到妻子的影響,他又立志每天都寫出一款應用程序,并且為之取名為iApp-a-Day,當時在越獄社區中引起了不少關注。正是這股熱情和堅持,讓他拿到了在Tapulous工作的機會,從而能夠與那些負責Tap Tap Revenge游戲開發的優秀人才一同工作。

在一個月中,Sean通過自己的探索發現,只有你想不到的,沒有iPhone做不到的。當然,它可以用來玩游戲,但同時也可以用來追蹤記錄自己的賬單,就連演奏一曲或者幫你掛畫也完全沒問題。

至于當時的開發記錄和成果,我和Sean到現在都還保存著。雖然到最后編寫出來的代碼比較糟糕,但對于我們來說,探索的過程遠比簡單的代碼要有意義得多。看著那些記錄,能夠讓我們回想起當初那段渴望學習新知識、努力探索新未來的美好青春時光。

其實,UIKit的早期版本中,還是有很多驚喜之處的。不過,想要找出XML語法分析程序,需要耗費大量時間。甚至可能永遠無法找到,因為它被埋在了OfficeImport基礎框架下面。另外,還一些很重要的東西也遺失了。比如說,我們可能無法找到可行的方式來用Objective-C語言恢復浮點數。

而且,過程中還出現了一些讓人想不通的工程決策。舉個例子,原本你可以隨意將HTML放進文本視圖中,即便是只用這類簡單標簽也完全沒問題。但沒想到,卻用了一些更加復雜的標簽。視圖拼合的時候,則使用的是LKLayer。雖然它與Mac OS Leopard全新Core Animation有些類似,但并非一模一樣。在表格方面,也是引入了一個全新的“cell reuse”概念。雖然可以實現快速滾動,但卻比較復雜、難以操作。最后,如果視圖控制器能夠選擇針對AppKit發布的那些,那產生的效果應該會更為驚艷。

雖然所有這些都沒有阻止我們不斷嘗試和不斷學習的腳步,但沒過多久我們還是停下來了。

真正的SDK

首款iPhone問世后,我們當中一些編寫越獄應用程序發現,這款產品存在一些不足之處,但當時大家都沒有在意。

對于新產品,大家都非常興奮。但很快,興奮勁兒過去之后,不禁開始思考接下來應該做些什么呢?或許是受越獄愛好者的影響,又或許是蘋果自己原本的計劃,總之當喬布斯在iPhone問世5個月之后正式對外宣布SDK的時候,我們全都高興壞了。

按照計劃,iPhone SDK應該是要在2008年2月問世的。但考慮到任務量比較大,所以當蘋果宣布推遲幾天的時候,大家也都沒有表示失望。當時,發布會是在市政廳和另一場活動一同舉辦的。

十年前的3月6日,我們第一次知道什么叫做模擬器,第一次知道Xcode中還有其他一些變化,第一次接觸到Core Location和OpenGL這些新鮮有趣的框架,以及前所未見、聞所未聞的應用商店,能夠直接把我們開發出來的產品送到消費者手中。Jason Snell還轉錄了當時的Macworld活動,到現在也還保存有視頻資料。

成為真正的應用程序開發王者

興奮過后,我們開始考慮一些比較實際的問題。雖然并不清楚還剩多少時間,但總歸還是要加快速度的。

最后,我們花了大概四個月的時間把應用程序完全準備好。好在還有當時在Iconfactory的越獄工作經驗,所以我們在弄清楚設計和開發問題之后,就有了一個順利的開頭。不過,當時開發Twitter的應用程序還是花了不少時間的。

就在蘋果應用商店正式上線之前,公司還在一年一度的設計大賽儀式上增加了一些全新的應用程序種類。而我們很榮幸拿到了大獎,從而成為了應用商店中的第一批應用程序,并且排名還算比較靠前。

當時,Iconfactory首款移動應用程序進駐應用商店的時候,應用程序總數也就不過幾百個。而現在,都已經超過200萬了。我們不僅開發面向消費者的移動應用程序,也開發面向設計師和開發員的工具。

十年可以發生很多事情,但有一點沒有改變,那就是我們整個團隊都很自豪能夠成為整個系統中的一個組成部門,并且為之做出自己的貢獻。相信接下來的十年,我們還會取得更好的成績。

責任編輯:ERM523

相關閱讀

亚洲综合视频在线_国产亚洲欧洲一区高清在线观看_欧美日韩成人综合_国产精品99久久久久久白浆小说_美女在线一区二区_欧美性xxxxx极品_国内偷自视频区视频综合_亚洲色图18p_亚洲视频一二三区_国产日韩欧美中文
国产传媒欧美日韩成人| 婷婷久久综合九色综合绿巨人| 免费日韩伦理电影| 久久综合九色综合欧美就去吻 | 亚洲色图在线看| 色激情天天射综合网| 久久综合国产精品| 亚洲精选在线视频| 国产精品福利影院| 午夜伊人狠狠久久| 色综合天天视频在线观看| 日韩av电影免费观看高清完整版 | eeuss国产一区二区三区| 一本色道久久综合亚洲精品按摩 | 亚洲欧洲国产日韩| 美腿丝袜在线亚洲一区| 日本乱人伦aⅴ精品| 精品国产免费人成在线观看| 亚洲一区二区在线免费观看视频| 老司机免费视频一区二区| 日韩精品欧美成人高清一区二区| jlzzjlzz欧美大全| 国产亚洲成av人在线观看导航| 日韩一区二区三区高清免费看看| 奇米精品一区二区三区四区| 中文字幕一区二区日韩精品绯色| 精品亚洲成a人| 国产91精品入口| 久久天天做天天爱综合色| 久久久久久日产精品| 亚洲成人黄色影院| 99国产麻豆精品| 宅男噜噜噜66一区二区66| 日本中文字幕不卡| 色播五月激情综合网| 成人在线一区二区三区| 一区二区三区国产精品| 精品电影一区二区三区| av不卡一区二区三区| 91啪亚洲精品| 精品电影一区二区三区| 久久97超碰国产精品超碰| 欧美激情资源网| 91精品国产高清一区二区三区| 亚洲精品一线二线三线无人区| 亚洲日本va午夜在线电影| 91麻豆精品国产91久久久久久久久 | 91色.com| 精品一区二区三区欧美| 成人中文字幕在线| 精品中文字幕一区二区| 日本美女一区二区| 91免费在线播放| 精品精品国产高清a毛片牛牛 | 91视频在线观看免费| 69av一区二区三区| 国产精品福利一区二区三区| 视频一区二区国产| 在线观看亚洲专区| 欧美成人在线直播| 婷婷成人激情在线网| 99这里只有精品| 91麻豆免费视频| 欧美一级夜夜爽| 亚洲高清一区二区三区| 久久国产福利国产秒拍| 国产亚洲精品资源在线26u| 成人动漫一区二区| 伊人婷婷欧美激情| 91麻豆成人久久精品二区三区| 日本韩国精品在线| 激情深爱一区二区| 亚洲国产sm捆绑调教视频 | 日韩三级中文字幕| 成人亚洲一区二区一| 亚洲日本免费电影| 亚洲精品一线二线三线无人区| 91丨porny丨首页| 亚洲一区二区三区免费视频| 婷婷综合在线观看| 一区二区三区中文在线| 久久精品国产精品青草| 精品一区二区三区的国产在线播放| 五月综合激情婷婷六月色窝| 国产宾馆实践打屁股91| 91在线porny国产在线看| 国产成人免费在线观看| 欧美一区二区三区在线电影| 欧美日韩成人激情| 2023国产精品| 久久一日本道色综合| 国产欧美精品日韩区二区麻豆天美 | 成人动漫一区二区三区| 成人免费一区二区三区在线观看 | 久久99精品久久久| 午夜a成v人精品| 欧美精品日韩一本| 老汉av免费一区二区三区| 天天综合网 天天综合色| 91精品啪在线观看国产60岁| 欧美一卡2卡三卡4卡5免费| 国产三级精品在线| 午夜电影久久久| 国产九色sp调教91| 色噜噜久久综合| 在线观看亚洲a| 久久欧美中文字幕| 午夜精品久久一牛影视| 国产中文一区二区三区| 91在线码无精品| 国产精品18久久久久久久久久久久| 国产真实乱子伦精品视频| 国产精品一区二区果冻传媒| 国产精一品亚洲二区在线视频| 一本色道a无线码一区v| 国产精品成人一区二区艾草| 国产精品91xxx| 久久久99精品久久| 亚洲国产一区二区在线播放| 欧美色中文字幕| 亚洲午夜视频在线观看| 欧洲中文字幕精品| 久久精品视频网| 麻豆国产欧美日韩综合精品二区| 欧美在线制服丝袜| 91精品婷婷国产综合久久竹菊| 一区二区三区四区蜜桃| 91精品国产福利| 欧美一区二区三区喷汁尤物| 日韩精品专区在线影院观看| 成人免费视频一区| 久久奇米777| 亚洲午夜国产一区99re久久| 国产乱子轮精品视频| 成人黄色777网| 蜜桃视频在线观看一区二区| 成人免费高清在线| 一区二区三区蜜桃网| 久久综合成人精品亚洲另类欧美| 色狠狠综合天天综合综合| 国产美女一区二区三区| 亚洲成人在线免费| 国产精品国产三级国产aⅴ无密码| 欧美三级日本三级少妇99| 欧美性大战久久久久久久蜜臀| 久久99热国产| 国产一区二区不卡在线 | 免费在线视频一区| 国产精品小仙女| 一区二区三区四区不卡在线| 亚洲欧洲精品一区二区三区不卡| 亚洲国产精品国自产拍av| 久久久99精品免费观看不卡| 国产欧美日韩精品一区| 26uuu精品一区二区在线观看| 国产激情偷乱视频一区二区三区| 久久久久久**毛片大全| 欧美videossexotv100| 国产亲近乱来精品视频| 欧美在线啊v一区| 高清久久久久久| 色老头久久综合| 久久欧美中文字幕| 一区二区久久久久| 国产在线精品一区二区夜色| 亚洲自拍都市欧美小说| 蜜桃视频在线观看一区二区| 精品一区二区三区免费观看 | 国产无一区二区| 中文字幕不卡的av| 日本视频在线一区| 色偷偷一区二区三区| xf在线a精品一区二区视频网站| 成人免费小视频| 91农村精品一区二区在线| 26uuu国产日韩综合| 丝袜国产日韩另类美女| 色哦色哦哦色天天综合| 成人高清视频免费观看| 国产成人精品免费| 欧美一区日韩一区| 精品一区二区久久久| 亚洲午夜日本在线观看| 欧美绝品在线观看成人午夜影视| 久久久精品日韩欧美| 国产jizzjizz一区二区| 91免费看`日韩一区二区| 亚洲高清视频在线| 狠狠色丁香婷综合久久| 久久久综合九色合综国产精品| 狠狠久久亚洲欧美| 色婷婷香蕉在线一区二区| 欧美一区二区三区精品| 欧美高清在线视频| 欧美一级片在线| 不卡的av在线| 国产精品99久久久久久宅男| 亚洲成在人线在线播放| 亚洲精品免费在线观看| 亚洲精品在线免费播放|