/SwiftyCamp-iOS-Bootcamp

This is SwiftyCamp iOS Bootcamp, SwiftyCamp's 12 Weeks Bootcamp to become a Junior iOS Developer.

Primary LanguageSwift

SwiftyCamp - iOS Bootcamp

This is SwiftyCamp iOS Bootcamp, SwiftyCamp's 12 Weeks Bootcamp to become a Junior iOS Developer.

Week 1: Introduction and Swift Programming Language (Programming Language)

  • Introduction and outcome of the Bootcamp.
  • Our communication channels and the style of SwiftyCamp Bootcamp.
  • Xcode, Playgrounds and the language of the computer.
  • Swift, OOP and POP.
  • Linkedin and why it matters.
  • Project: Definition and how to prepare it.

Week 2: iOS Application and Playing with UI (Application Life Cycle)

  • iOS application and it’s life cycle.
  • Memory Management in iOS.
  • What is storyboard and how it works.
  • The History of Design (Talk from our sponsors UI/UX team).
  • UIKit. View Hierarchy and Constraints System.
  • Project: Work on its UI side.

Week 3: Connect your application to the world (Networking)

  • What is HTTP? And how data transfers through the internet? (Talk from our sponsors backend team).
  • What is REST? how it should be designed? (Talk from our sponsors backend team).
  • URLSession and connecting to APIs.
  • Package mangers (Cocoapods and Carthage).
  • Alamofire to replace URLSession.
  • TableViews and CollectionViews to create lists.
  • Project: Build its Network Layer.

Week 4: Solidify your application 1 (MVC)

  • S in SOLID Principles and revisit our applications code.
  • MVC (Model – View – Controller)
  • Refactor application to be a good MVC application.
  • When you should use MVC? And when you shouldn’t?
  • Project: Build the logic.

Week 5: Saving other’s secrets (Core Data and Realm)

  • What are options available to store data locally in iOS?
  • Core Data overview and CRUD operations.
  • Handling Core Data Error and it’s painful.
  • Realm Overview and CRUD operations.
  • Realm advanced usage.
  • Project: Make it work offline.

Week 6: Could you catch the Bugs? (Debugging)

  • What do you do to catch your bugs? (Discussion from our sponsors iOS team).
  • Break Points and it’s advanced usage.
  • Debugging Area and basic commands.
  • View Hierarchy and UI Debugging.
  • LLDB and XCode for debugging.
  • Project: Please fix its logic.

Week 7: Solidify your application 2 (MVP)

  • Start Mocking Interviews.
  • O in SOLID Principles and revisit our applications code.
  • I in SOLID Principles and revisit our applications code.
  • D in SOLID Principles and revisit our applications code.
  • MVP (Model – View – Presenter).
  • Refactor application to be a good MVP application.
  • When you should use MVP? And when you shouldn’t?
  • Project: Refactor its Architecture to MVP.

Week 8: Could we test our code enough? (Testing)

  • Mocking Interviews.
  • Different types of testing. (Talk from our sponsor testing team)
  • Unit Testing overview and running our first Unit Test.
  • What are mocks and spies?
  • UI Testing and running our first UI Test.
  • Project: Write Unit Test for its Presenters.

Week 9: Do you speak French? (Localization)

  • Mocking Interviews.
  • Adding new language to your application.
  • Localize storyboard design.
  • Work with strings file.
  • How to create efficient CV and Resume, and go through some of professional ones.
  • Project: Build its Localization System.

Week 11: Patterns? Are they useful? (Design Patterns)

  • Mocking Interviews.
  • Creation Patterns (Singleton)
  • Structural Patterns (Decorator)
  • Behavioral Patterns (Observer)
  • Design patterns that are used in iOS
  • Wuzzuf and how to efficiently use it.
  • Project: Which Design Patterns Suitable for us

Week 10: Who else can use your application? (App Store)

  • Mocking Interviews.
  • Register and create new apple developer account.
  • Read and go through apple guidelines.
  • How to present your projects to our sponsors.
  • Mocking interviews from our sponsors as Junior iOS Engineer.
  • Project: Which application we will upload?

Week 12: It was nice to meet you (Graduation)

  • Mocking Interviews.
  • Present your Projects and work to our Sponsors
  • Tips and tricks to hack Internships interviews with our sponsors.

SwiftyCamp