看板 MacDev 關於我們 聯絡資訊
各位好,這篇文章主要是給新手一些方向和想法~ 純屬個人的經歷和看法,可以一起以輕鬆的態度聊聊~ 我個人是在 2015 年中開始接觸 iOS 的開發,以 Objective-C 為一開始自學方向。 從簡單遊戲開始下手,像是猜數字、圈圈叉叉之類的, 練練基本的拉拉 UI、認識Storyboard、.h 的宣告、.m 的實作等。 接著剛好 Xcode 7 開始讓免費的開發者可以裝 App 至實體裝置上, 發現自己原本都用 4.7 吋的模擬器執行,而到了 5.7 吋的裝置上時, 會有跑版的問題,於是花了一些時間學習 AutoLayout。 而基本上 AutoLayout 有個概念熟悉即可, 除非是比較特別的效果需要思考一下彼此之間的 priority, 不然一般 App 都還蠻輕易解決這方面的問題; 而比較有趣的是,像在 ScrollView 裏頭做 AutoLayout 時, 要有 contentSize 的概念,而不要輕易的點「讓系統補完 constraints」的按鈕。 接著,在我準備面試前的一兩個月,加入了一些 iOS 的開發社群 (e.g iOS @ Taipei、Cocoaheads Taipei等) 厚著臉皮加了版上比較活躍的幾位前輩,並詢問他們一些問題和方向, 於是開始練習其他實作: - 氣象資料開放平臺(http://opendata.cwb.gov.tw/): 練習接 Api,當時我是寫了一個去接目前各雨量觀測站的 App, 篩選 10 分鐘內有偵測到雨量的, 並在 MapView 上放上大頭針,顯示當區目前雨量。 (AFNetworking、MapKit) - QR Code 掃瞄器: 當初瘋狂失敗的原因在於模擬器無法執行打開相機的功能, 一開就會報 Crash,而後來在裝到手機上才發覺當初懊惱的自己有多傻XD 不過這也學到了要好好 Google 的一課, 畢竟後來想想這明明是很簡單下的關鍵字,且網路上很多人會告訴你這件事... - 縣市的各學校地址清單: 而因為當時有這需求,便寫了一個可以讀特定格式的資料, 然後畫面簡單地透過 UINavigationController 控制前後頁, 跳轉到縣市 -> 鄉鎮 -> 學校 -> 資訊等, 練習一下 ViewController 間的切換和流程安排。 - 午餐電話簿: 結合上述所學(不包含 QR Code), 便寫了一個會先判斷離自己最近的雨量偵測站是否有偵測到 10 分鐘內下雨, 來作為篩選依據(下雨的話就只隨機挑選有外送的), 隨機挑選後並可以決定是否今天要吃XD 再透過 FMDB 的方式記錄下來成清單,告訴自己這幾天都吃什麼... (很無聊的功能,就只是想練習 FMDB) 而上述都有使用到一些第三方套件,也選擇了 Cocoapods 來做管理。 於是我便拿著這些沒什麼商業價值的小工具上台北面試了... 很幸運的是,在面了兩間之後,就拿到其中一間的 Offer, 便開始了以 iOS 作為工作的生活。 接著在這一年半左右的時間,開始寫 Swift(報到的第一天被告知要寫 Swift XDDDDD) 學習 ViewController 的生命週期,也體會到 Storyboard 和 Xib 之間的優缺點, 甚至用 Code 直接刻 View 的好處等。 很多事情都要等你真的遇到了,才會很深刻地體會到, 為什麼當初有些前輩會這樣建議你... 而自己在這段時間又玩了 Parse、Firebase、Fastlane、Fabric、Carthage, 以及和 Android 之間透過 Bonjour 聯繫之類的一些不是太重要的技能XDD 看似沒什麼重點的文章,想告訴新人們的是一句我從 iOS @ Taipei 聚會中聽來的觀念: 「在這領域的知識累積,並非是線性的成長,而是一個一個的點; 你平常能觸及的東西越多,點越多,才能構成一個知識的平面。」 而社群的意義就在這,它幫你集結了在 iOS 各領域開發的人, 分享他們花了數個、或數十個晚上所得到的經驗,讓你了解其中的運作原理和設計想法。 產品和想法多數都是在互相碰撞的時候,產生而來的, 像是會使用 Firebase 的 real-time database, 和藍芽裝配的配對的話,那是不是能做一個即時的數據報告, 再加入類似 AWS 的 Cloud watch 的功能,送推播到另一個裝置幹嘛幹嘛(還沒想到XD) 對自己自學程式還沒有想法的人,不如先放下手機看看你周遭的生活, 你想透過手機 App 幫你解決什麼問題? 然而你便會找到方向,並找到一份適合你的工作,讓你接觸到更多 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.71.215.238 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1493048535.A.E98.html
weirdfoot: 推! 04/25 01:41
cryinglove: 推 04/25 08:24
jeff12280: 推 04/25 10:13
f91738246: 推 04/25 10:57
Polestar: 感謝分享 04/25 13:54
v00623: 推 04/25 15:00
tony42035: 推 04/25 15:23
ctweng13: push~ 04/25 17:26
johnny78615: 推 04/25 20:47
G888888: 推 04/25 21:40
nobody1: 推 04/26 12:15
vml93: 推! 04/27 22:28
arimurajann: 推! 04/28 12:32
chimouse: 謝謝分享 ! 04/28 16:55
dophin332: 哈 居然被引述了 04/29 14:05
dophin332: 我那個是引述自linux社群看到的話 04/29 14:06
seanbabby: 推 05/04 17:30
ted97: 謝謝 05/06 19:39
defective: 謝謝分享 05/15 11:57
babypanda: 推! 06/01 14:31
ted97: 謝謝 08/02 17:05