去年收擦,我在微博上發(fā)起了100天閱讀博文的行動。具體就是谍倦,每天讀一篇 iOS 開發(fā)相關(guān)的技術(shù)博文塞赂,并在微博上分享自己的讀后感。對于在開發(fā)昼蛀、工作宴猾、和面試中常見的問題,通過這段時間100篇博客的閱讀叼旋,我產(chǎn)生了自己的一些心得體會仇哆,分享如下。至于想看博客原文的朋友夫植,文末也有相關(guān)鏈接讹剔。
第一個感觸就是iOS開發(fā)真是博大精深。我一開始的文章來源定為Medium详民、Swift Summit延欠、Realm、Apple WWDC沈跨。這些渠道都是經(jīng)過篩選的上佳博文和視頻由捎,而且話題廣泛,涉及基礎(chǔ)架構(gòu)饿凛、語法框架狞玛、性能優(yōu)化、開源等方方面面涧窒。
雖然我在開始做100天博文閱讀之前只確定了30到40篇待讀文章心肪,但是每讀完1篇文章,網(wǎng)站又會給我推薦1到2篇相關(guān)或延展閱讀杀狡;同時我又會對文章中不清楚的地方進行思考和搜索蒙畴,這就又發(fā)現(xiàn)了不少很好的博文博客,例如喵神的博客呜象、微信讀書團隊的博客膳凝、以前忽視的WWDC視頻。久而久之恭陡,100篇就不知不覺得積累到了蹬音。
最后做到第100天的時候,我還剩下幾十篇文章特別想去研究閱讀休玩、還有很多疑惑想去思考總結(jié)著淆,在iOS開發(fā)中劫狠,好的文章總是層出不窮。即使我讀的100篇博文數(shù)量不少永部、涉獵廣泛独泞,還有例如逆向開發(fā)、安全苔埋、持續(xù)集成懦砂、測試等方面我沒有機會去研究。這么多值得探索的地方组橄,恰恰說明荞膘,iOS開發(fā)遠沒有到了沒人要的地步,而我在這方面的學習也遠遠沒有到達盡頭玉工。
第二個感觸就是做一件事情堅持100天真是不容易羽资。無論是選題、閱讀遵班,還是最后寫讀后感屠升,都是一件勞神勞力的事情。而在這100天每天都花時間閱讀费奸,要確保其中從不間斷弥激,無論這天發(fā)生什么事情,確實十分勞累愿阐。
一開始的閱讀因為是我一直關(guān)注的話題微服,加上我又有iOS開發(fā)的基礎(chǔ),所以理解起來很快缨历,頂多算是知識的梳理和總結(jié)以蕴。后來看的博文涉及全新的知識點,加上100天中間WWDC如期而至辛孵,大量的更新迅速將我那些微薄的老本吃光丛肮。這個時候就捉襟見肘了,每天花在閱讀和理解的時間從1個小時猛增到3個小時左右魄缚,然后碼字也越來越多——因為思考的時間相對較短宝与,所以寫出來自然不夠精煉。
在這么多困難之下冶匹,我堅持下來的原因不是因為我多么有毅力习劫,而是因為每天大家對我博文的積極評價,這就要說到下一個話題了嚼隘。
第三個感觸就是大家的反饋诽里。無論寫什么,總有網(wǎng)友和開發(fā)者朋友和我一起閱讀全文飞蛹,并對我的讀后感進行評價谤狡。很多觀點讓我茅塞頓開灸眼,也有很多點贊和轉(zhuǎn)發(fā)讓我充滿感激。
看著小伙伴們這么認真墓懂、每天都在積極努力地和我一同學習焰宣、研究博文并進行思考,想偷懶的我愈發(fā)自慚形愧拒贱,敷衍了事和半途而廢的心理也就煙消云散了宛徊。
這100天可能是我2017年度過的最充實的100天。我其實一直覺得開發(fā)也罷逻澳,學習也好,就像中藥和老火湯是一個感覺暖呕。真正好的技術(shù)水平斜做,也是那么一個時辰一個時辰熬出來的。希望大家2018年每天都在進步湾揽。
App 開發(fā)
- 深入理解 RunLoop
- CPU vs GPU · iOS 核心動畫高級技巧
- iOS 保持界面流暢的技巧
- 單向數(shù)據(jù)流動的函數(shù)式 View Controller
- 微信讀書 iOS 性能優(yōu)化總結(jié)
- 微信讀書 iOS 質(zhì)量保證及性能監(jiān)控
- SOLID Principles in Swift
- Swift with a hundred engineers
- Tales of a rewrite at Lyft
- Re-architecting Pinterest’s iOS app
- Immutable models and data consistency in our iOS App
- Optimizing App Startup Time
- Managing Consistency of Immutable Models
- Migrating to Swift 3
- Getting to Swift 3
- Building Mixed-Language iOS Project with Buck
第三方開源庫
- 如何將 iOS 項目的編譯速度提高5倍
- 如何打造易擴展的高性能圖片組件
- iOS 啟動連續(xù)閃退保護方案
- GYDataCenter:高性能數(shù)據(jù)庫框架
- GYHttpMock:iOS HTTP請求模擬工具
- 預加載與智能預加載(iOS)
- 使用 ASDK 性能調(diào)優(yōu) - 提升 iOS 界面的渲染性能
- AsyncDisplayKit 2.0 Tutorial: Getting Started
- AsyncDisplayKit 2.0 Tutorial: Automatic Layout
- Introducing Lottie
- Introducing Plank: Immutable model generation for iOS
- Engineering Signature Rendering on iOS with UberSignature
開發(fā)工具與調(diào)試
- Visual Debugging with Xcode
- Debugging Tips and Tricks
- Improving Existing Apps with Modern Best Practices
- An Introduction to the Swift Package Manager
- Charles Proxy Tutorial for iOS
- fastlane Tutorial: Getting Started
語法性能
- Swift 性能相關(guān)
- Swift 性能探索和優(yōu)化分析
- Optimizing Swift Performance
- Understanding Swift Performance
- The Objective-C Runtime & Swift Dynamism
- Protocol-Oriented Programming in Swift
- Building Better Apps with Value Types in Swift
- Introducing Protocol-Oriented Programming in Swift 3
- Protocol and Value Oriented Programming in UIKit Apps
- Manual Swift: Understanding the Swift/Objective-C Build Pipeline
iOS 框架使用和優(yōu)化
- 再看關(guān)于 Storyboard 的一些爭論
- NSSecure?Coding
- iOS Accessibility Tutorial: Getting Started
- How iOS Security Really Works
- Advanced Animations with UIKit
- Introducing Drag and Drop
- Mastering Drag and Drop
- Extend Your App's Presence With Sharing
- Extend Your App’s Presence with Deep Linking
iOS 11 更新
人工智能 ? 增強現(xiàn)實
- Introducing Core ML
- Core ML in depth
- Natural Language Processing and your Apps
- Vision Framework: Building on Core ML
- Introducing ARKit: Augmented Reality for iOS
架構(gòu)
- iOS 響應(yīng)式架構(gòu)
- iOS 組件化方案探索
- iOS 組件化 —— 路由設(shè)計思路分析
- Do MVC like it’s 1979
- Model-View-Controller (MVC) in iOS: A Modern Approach
- Presenting Coordinator
- A dumb UI is a good UI: Using MVP in iOS with swift
- Introduction to MVVM
- From MVC to MVVM in Swift
- Bindings, Generics, Swift and MVVM
- MVVM with Coordinators and RxSwift
- Introduction to Protocol-Oriented MVVM
- MVVM with RxSwift
- Implementing MVVM in iOS with RxSwift
- Simplification of iOS View Controllers: MVVM or Presentation Controls?
- Meet VIPER: Mutual mobile's application of clean architecture for iOS apps
- iOS Project Architecture: Using VIPER
- Architecting iOS Apps with VIPER
- 250 Days Shipping With Swift and VIPER
- VIPER to be or not to be
- Unidirectional Data Flow in Swift: An Alternative to Massive View Controllers
- Engineering the Architecture behind Uber's New Rider App
- iOS Architecture Patterns Demystifying MVC, MVP, MVVM and VIPER
大前端 vs. 原生態(tài)
- An iOS Developer on React Native
- React Native: A year in review
- Comparing the Performance between Native iOS (Swift) and React-Native
- Apple’s refusal to support Progressive Web
科技前沿信息
- This is How Google will Collapse
- Facebook Open Source 2016 year in review
- Complexion Reduction: A New Trend In Mobile Design
- Communication Between Designers and Engineers
- 100 Days of Vector Illustration
- Apple Culture After Ten Years of iPhone
- Bike-sharing app comparison: Mobike vs. ofo vs. Bluegogo
- Revisiting The Unicorn Club