作者xpop777 (Archie)
看板MacDev
标题[心得] 工作一年半的一些心得分享
时间Mon Apr 24 23:42:12 2017
各位好,这篇文章主要是给新手一些方向和想法~
纯属个人的经历和看法,可以一起以轻松的态度聊聊~
我个人是在 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://webptt.com/cn.aspx?n=bbs/MacDev/M.1493048535.A.E98.html
1F:推 weirdfoot: 推! 04/25 01:41
2F:推 cryinglove: 推 04/25 08:24
3F:推 jeff12280: 推 04/25 10:13
4F:推 f91738246: 推 04/25 10:57
5F:推 Polestar: 感谢分享 04/25 13:54
6F:推 v00623: 推 04/25 15:00
7F:推 tony42035: 推 04/25 15:23
8F:推 ctweng13: push~ 04/25 17:26
9F:推 johnny78615: 推 04/25 20:47
10F:推 G888888: 推 04/25 21:40
11F:推 nobody1: 推 04/26 12:15
12F:推 vml93: 推! 04/27 22:28
13F:推 arimurajann: 推! 04/28 12:32
14F:推 chimouse: 谢谢分享 ! 04/28 16:55
15F:推 dophin332: 哈 居然被引述了 04/29 14:05
16F:→ dophin332: 我那个是引述自linux社群看到的话 04/29 14:06
17F:推 seanbabby: 推 05/04 17:30
18F:推 ted97: 谢谢 05/06 19:39
19F:推 defective: 谢谢分享 05/15 11:57
20F:推 babypanda: 推! 06/01 14:31
21F:推 ted97: 谢谢 08/02 17:05