Prologue - 'The Master Plan'
I always think of the summer as an opportunity for a fresh start. ☀️ Days seem longer and I feel more energetic like I can do anything within a minute. Even if I’m postponing, I still feel like I have a whole bunch of days remaining. 🏖
The length of the days are the same and I’m not able to work 4 time faster. No, not even 2 times. Days are counting and summer comes to its end real quick. ⏳ The best way not to waste my ‘creative summer break’ is creating a detailed plan 📝. Firstly, I created a ‘backlog’ (To-Do list) of ‘tasks’ (topics) with estimated time consumption - or how much time I tend to deal with a topic. Then, instead of real sprints, I established deadlines* which help me notice if I’m on schedule or not.
I don’t believe in just walking through tutorials. It’s better to use the new techniques in real projects, but at work you don’t always have a chance for doing that. 😫 So I picked some passion projects on which I can practice newly acquired knowledge. Primiarily, I’ll deal with iOS projects 📱, but to widen my aspects I’m going to learn server side, web frontend and desktop technologies and programming languages as well. 🖥
So this blog is dedicated to my thoughts 💭 of the technologies I’ll try during the summer. You can find my scheduled To-Do list below.👇 I’ll keep this post updated with the following progress notations:
- [ ] - Not started yet
- [⇢] - In progress
- [✓] - Done
- [𐄂] - Not on the list anymore
Have fun. 🎉
* By deadline I mean the date until I’d like to finish the development/learning of a topic.
I indicated the time consumption in parenthesis.
☝️ Prerequisites
Since all of these technologies are required to most of my passion project, they should be done by 14th of June
- [✓] Setup a blog - (2 days)
- [⇢] Mastering git - (3 days)
- [⇢] Learning RxSwift with MVVM - (1 week)
- [ ] 🛠 Pimp Xcode templates: - (3 days)
- [ ] Reactive Project pattern
- [ ] Reactive templates (ViewModel, ViewController, etc)
- [ ] MoyaProvider + Services file templates
- [ ] WWDC App marketing video, resources - (1 day)
🍹 Passion Projects
-
♻️ JSON to Swift converter - 18th of June (2 days)
- [ ] Add ObjectMapper support
- [ ] API endpoints to Moya Provider (+/- RX)
-
⚙️ Swagger to Swift - 18th of June (4 days)
- [ ] Learn to implement Swagger converter
- [ ] Swift converter with Rx, Moya, ObjectMapper
-
🗺 RxMapKit - 22nd of June (3 days)
- [ ] Support Annotations & Clustering with RxMapKit
- [ ] Support Annotations & Clustering with RxMapKit
-
💏 Coition diary - MVP by 3rd of July
-
🍿 Movie night - Vote app - 20th of Aug. (2 weeks)
- [ ] Angular2 or ReactNative
- [ ] Angular2 or ReactNative
-
🌱 Smart flowerpot - MVP by 31 of Sept.
- [ ] Test Driven Development - 1 week
- [ ] A/B testing - 5 days
- [ ] Bluetooth communication - 2 weeks
- [ ] 🏡 HomeKit - 4 weeks
- [ ] Layer animations + New iOS10 UI animations - 4 days
- [ ] AirBnB’s Lottie + AfterEffects - 3 days
🎈 Having fun with the basics
- [⇢] 🐍 Python basics - 2nd of July (4 weeks)
- [ ] Discover Swift Playground’s capabilities - 18th of June (2 days)
- [ ] Strengthen C knowledge - 20th of Aug. (1 week)
- [ ] 💎 Ruby basics - 18th of June (5 days)
- [ ] GCD & CoreData basics - 31st of Aug. (3 days)
🕰 Things that requires more time
- [ ] Image processing
- [ ] Deep Learning
❌ Things I rejected
- [𐄂]
Pros and Cons of Cocoapods vs Carthage - [𐄂] Swift Server Side Programming w/ Perfect - Post coming soon…
- [𐄂]
Compare socket communication, Node.js vs Swift - [𐄂]
Haskell, Clojure, Scala