Published at April 14, 2020
A story in iOS Module - Gojek Bootcamp 006
Hello mina~🙃, This time I will share my story about iOS Module in Gojek Bootcamp 006. We start the iOS Module on 6th May 2020, this is the third module in this Bootcamp. We (Bootcampers) don't have experience in iOS Development. So in the first 3 days, we really struggling and try to adapt to Swift language and Xcode. And after that now I know why there are many memes about Xcode and iOS.
A lot of problem in Layouting
In the first 3 days, we learn about how to create a view or layouting in Xcode. Actually I have tried to use Native iOS in my previous project, but the first time I use that, I got a lot of bug in Xcode. So I don't continue my project with Native iOS, I move to use React Native.
Then in this Bootcamp, we should use Native iOS to developed iOS Application. Do you know what I hate the most? CONSTRAINTS. Ya, one of the ways to construct the view or layout is using UIKit, you can just drag-drop the view to your storyboard or XIB file. But to make your view can automate scale or positioning in different size of the screen, you should add Constraints in your layout.
If you have many views in the interface builder, trust me, you will have difficulty to set up the Constrains. If you add wrong Constraints in the middle of your progress, you will break your view, hahaha… you should check one by one your Constraints or just delete all, LMAO 🤣. So if you first time tries to develop iOS applications, be patient, mweheehe.
Debugging Error
The second thing I wanna share with you is about debugging error. Actually I don't know the way to debug in Xcode. My first way that what I think is debugging with print statements, seriously I don't know the best practice to debug an error in Xcode until our coaches suggest to us to also use breakpoint for debugging. And then, that really helps us to know about the error, and easily track the error or bug.
Easily to save user's preferences
I really like with this feature in Swift, the feature is UserDefaults class, I think it's really easy to implement in our code. Basically UserDefaults allows an app to customize its behavior to match a user's preferences. So if you want your application can save user preferences, you can use this class. Why do I think it's easy? because of my experience in Android. In android, you should pass the context to your SharePreference class, and in iOS, you don't need that.
The final Project give us more experience
In the final project, we are divided into several teams. Each team should create iOS applications like GoFood. Do you know what we feel when the coaches give us this project? Damnn, we should create this project in 4 days after we learn about iOS in 4 days 🥺, that impossible. We got the freedom to implement anything that we want, don't have anything rules.
In this project, we learn more then what we get from the first 4 days. We learn about how to create animation for transition in the view, so make our view seen more smooth. Learn about Image Caching which makes our application can show the image more fastest. And the most important is we learn to collaborate in a team.
Yeah, I really satisfied with this session, we can compete fairly with other teams and give the best version of each of us. #PastiAdaJalan
So, that's what I can share with you, about my story in iOS Module Gojek Bootcamp 006. This module has given me another view about iOS which previously gave me a bad experience. Now, I really like iOS Development, and Maybe I will create another project using Native iOS using Swift.