You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+50-13
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# How to Learn iOS Development
2
2
3
-
# Swift Programming language - The basics
3
+
##Swift Programming language - The basics
4
4
- types: enum, struct, Int
5
5
- enum and associated values
6
6
- when to use struct vs. class
@@ -10,43 +10,50 @@ resource:
10
10
- 100 days HackingWithSwift
11
11
- Apple Swift books
12
12
13
-
# UIKit
13
+
##UIKit
14
14
- UIView vs UIViewController
15
15
- view controller lifecycle
16
16
- UITableView, UICollectionView, Delegate pattern and DiffableDataSource
17
17
18
-
# SwiftUI
18
+
##SwiftUI
19
19
Standford course
20
20
21
-
# Working with Data
21
+
##Working with Data
22
22
- storing data locally with UserDefaults and in the file system with the FileManager
23
23
- relational database like Core Data or realm
24
24
- user authentication with e.g. Firebase
25
25
- Codable protocol
26
26
- REST APIs, URLSession
27
27
28
28
29
-
# Intermediate Skills
30
-
- How to use the Apple Developer Documenation
31
-
- Read about UI and UX design - Human interface guidelines
29
+
##Intermediate Skills
30
+
- How to use the Apple Developer [Documenation Youtube tutorial](https://youtu.be/_HmNBrO5Mhc)
31
+
- Read about UI and UX design - [Human interface guidelines](https://developer.apple.com/design/human-interface-guidelines/)
32
32
- version control and Git
33
33
34
34
35
-
# Swift Programming language - Advanced
35
+
##Swift Programming language - Advanced
36
36
- protocol, dependency injection
37
37
- best practices
38
38
39
39
resource:
40
-
- Swift Programming language
40
+
- Swift Programming language[guide](https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html)
41
41
42
42
43
-
# Advanced Skills
44
-
## Developer CV
43
+
## Advanced Skills
44
+
45
+
# Developer CV
45
46
Be honest and show your main relevant working experience and education.
46
47
47
48
48
-
## Developer Portfolio
49
-
What kind of projects should you build?
49
+
# Developer Portfolio
50
+
51
+
Coding Foundry Youtube tutorial: [What you NEED to include in your developer portfolio](https://www.youtube.com/watch?v=BZLLP7Gk3ps)
52
+
53
+
Build a portfolio website with Wordpress and Elementor
54
+
[(Youtube tutorial)](https://www.youtube.com/watch?v=gFnN-E8yruE&t=944s) + [hositing](http://hositinger.com) ($70 for 4 years)
55
+
56
+
### What kind of projects should you build?
50
57
Start by looking at job boards and read throuhg the requirements. Look for jobs that you want. If you want to become a game developer, the requirements are very different than for a E-commerce app development. Here is an example of what you might see:
51
58
- proficiency with Swift or Objective C, and Cocoa Touch
52
59
- Xcode
@@ -90,3 +97,33 @@ This tutorial series is a good example for this kind of portfolio project
90
97
https://youtu.be/ggEcSzPbVr4
91
98
92
99
100
+
### Example Project 2
101
+
Productivity app / BugTracker / Trello
102
+
103
+
Demonstrating the following skills
104
+
- Firebase login screens,
105
+
- user roles and access (admin vs. basic user)
106
+
107
+
## Github repo must-do's
108
+
- write a good Github readme: short descriptions of app idea, images, gifs
109
+
- Instruction for installations - API keys, pods, Firebase setup
110
+
- Include links to API documentation
111
+
- Explain why and for what you use third party libraries
112
+
- list code features: (iOS dev job requirements) like: Core Data, Core Animation, UIKit or SwiftUI, UISearchController, MVVM, Combine, unit tests, localisation, Core ML
113
+
114
+
## Project requirements:
115
+
- Good looking UI
116
+
- Conform to human interface guideline
117
+
- project should build
118
+
- project should not include bugs or crash (for most common actions)
119
+
- Bonus: nice loading animations, empty state placeholders, error feedback for user
120
+
121
+
## Criteria for code review:
122
+
- Clean code
123
+
- Simple (don’t use nested view models with unclear tasks)
124
+
- Readable: naming conventions for class, functions and variables
125
+
- DRY, modular code
126
+
- Don’t keep uncommented code - clutter
127
+
- Don’t write a lot of comments - clutter - use better, more descriptive names
0 commit comments