[心得] 工作一年半的一些心得分享

作者: xpop777 (Archie)   2017-04-24 23:42:12
各位好,這篇文章主要是給新手一些方向和想法~
純屬個人的經歷和看法,可以一起以輕鬆的態度聊聊~
我個人是在 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 幫你解決什麼問題?
然而你便會找到方向,並找到一份適合你的工作,讓你接觸到更多 :)
作者: weirdfoot (ユニライト)   2017-04-25 01:41:00
推!
作者: cryinglove (毓™)   2017-04-25 08:24:00
作者: jeff12280 (猜不透平常心)   2017-04-25 10:13:00
作者: f91738246 (ccy419)   2017-04-25 10:57:00
作者: Polestar (極)   2017-04-25 13:54:00
感謝分享
作者: v00623 (阿哩他命EX PLUS)   2017-04-25 15:00:00
作者: tony42035 (ACE)   2017-04-25 15:23:00
作者: ctweng13 (ctweng13)   2017-04-25 17:26:00
push~
作者: johnny78615 (Johnny)   2017-04-25 20:47:00
作者: G888888   2017-04-25 21:40:00
作者: nobody1 (無事家中坐)   2017-04-26 12:15:00
作者: vml93   2017-04-27 22:28:00
推!
作者: arimurajann (小勞勃道尼看看尼)   2017-04-28 12:32:00
推!
作者: chimouse (手汗王945)   2017-04-28 16:55:00
謝謝分享 !
作者: dophin332 (...)   2017-04-29 14:05:00
哈 居然被引述了我那個是引述自linux社群看到的話
作者: seanbabby (seanbear)   2017-05-04 17:30:00
作者: ted97 (音樂信)   2017-05-06 19:39:00
謝謝
作者: defective (defective)   2017-05-15 11:57:00
謝謝分享
作者: babypanda (熊貓寶貝)   2017-06-01 14:31:00
推!
作者: ted97 (音樂信)   2017-08-02 17:05:00
謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com