
Explore the foundations of iPhone app development, including essential tools and the iPhone simulator, to build confidence before tackling more advanced topics.
Xcode is an IDE (Integrated Development Environment) for creating iOS, Mac, Apple Watch/TV Software.
To view apps on your computer.
Library
Device settings
Toolbar
Navigation area
Editor
Utility area
Multi editor view
Drag and drop
Manual
this reminder invites you to rate the course when you have time to assess it, and you may skip the rating if you're not ready, after nearly six months.
As an outlet
To trigger a function
The building block outlet for all UI outlets.
Image Views help showing an image on the UI.
They take in a UIImage object.
Learn to speed up online videos with a browser extension that provides a speed controller and keyboard shortcuts, letting you fast-forward through uninteresting parts and slow down as needed.
An on/off situation.
Learn to create and connect a text field in a storyboard, wire outlets and actions, and display the input in a label with dynamic styling.
Link to the Radio: https://radiooooo.com/
Explore the basics of Swift programming, designed to simplify life for developers. Compare syntax and logic, and learn how Swift makes code readable to humans and machines on iPhone devices.
Playground
Console
Printing value
Leaving notes
Var
Let
Int, Char, String, Float, Bool
Arithmetic
Increment
Augmented increment
https://playtictactoe.org/
For
If else if
Do While
While
Switch
Array
Dictionary
Iteration
Example to bring everything together
https://www.youtube.com/watch?v=LXyX-OvZlUg
Explore iPhone ui design across basics, intermediate, and advanced sections, focusing on sliders, segment controls, constraints, and programmatic ui for main and login interfaces.
Creating outlets
Setting constraints between them
Stacking multiple outlets against one another in a row or a column.
Developing your outlets programmatically using frames and constraints.
A group of mutually exclusive selectables.
https://www.worldometers.info/
Different views of an application and navigating between them.
Picking date and time and formatting it.
A general picker view where you can pick numbers, names or even images.
Sliders to navigate between different steps (numbers) of a selectable.
https://coolors.co/
Practice building the login user interface for an app using prior lessons, focusing on the UI only, not functionality yet.
Exploring the sample image to find out what we need to design.
Beginning and setting up a new iOS App.
Dividing the view into three main components; navigation, function and entry.
Adding the login/register segmented control.
Adding three text fields and their titles.
Adding the corresponding outlets in the code and connecting them to the UI outlets.
https://window-swap.com/window
Adding the function for the segmented control to login or register.
Writing the login part of the function.
Adding the register part of the function.
Reveal or hide the password by the “reveal password” button.
Setting the constraint so that the app works on all different devices.
Giving user some sort of a notification for the status of the system.
https://www.youtube.com/watch?v=cQl6jUjFjp4
Explore object oriented programming concepts such as classes, objects, inheritance, and exceptions, and learn how these elements communicate to help you build versatile iOS apps.
The working pieces of OOP, their types, inputs and outputs.
The core principles of programming in OOP (object oriented programming)
Adding new initialization blocks to classes to make custom instances.
Classes that only hold on to data and work a lot faster.
Another main principle of OOP that allows classes to earn properties and functions from one another.
Adding new extensions to a class to keep code organized.
https://quickdraw.withgoogle.com/#
Making sure your code always knows whether a variable exists or not.
Conforming to a series of tasks and making sure they are implemented by other listeners.
Storing data for the app in singular storage units.
Variables with only a handful of possible values.
Nameless self contained functions that we can pass around.
Calling a method without instantiating an object.
https://paveldogreat.github.io/WebGL-Fluid-Simulation/
Master advanced iPhone UI design by exploring scroll views, table views, and collection views to build sophisticated interfaces, such as scrolling item lists and image galleries.
Views with larger content than the frame where tracking scrolls.
Knowing when a scroll view has been scrolled, stopped, restarted, etc.
Creating a list of items in a table view.
Invoking the default delegate methods of a table view.
Customizing the cell of a table view.
https://www.youtube.com/watch?v=D5neEzKMClA
Creating a UI View and reusing it many places.
Adding a grid of items to our view.
How to add functionalities to delete an item in a collection view.
To pop an alert to user with actions and text fields.
https://www.rescuetime.com
Use the iPhone interface builder to build a to-do list app that records tasks, shopping items, or recipes, and prepare for persistent data storage and eventual cloud sync.
Let’s first see how the app works.
The visual look of the app and the items cell.
The class that will enable items of this application.
The singular source of all data of this app.
Showing the items in the table view.
Adding a few new items statically.
Adding a text field as the header view for the table.
Knowing when a text field has received an enter.
Tapping on an item and changing their status.
https://www.adultswim.com/etcetera/elastic-man/
Deleting an item by dragging over the cell.
Making sure no duplicate item can be added.
Cleaning up the code and separating different functions in different files.
Placing items into separate sections.
Adding animation for when an items status changes.
Finding where the new section-based design affects the code.
https://www.youtube.com/watch?v=qaIghx4QRN4
Learn to interact with the device by handling touches, moving objects, and animating ui elements with micro interactions, gestures, and navigation for apps or games.
Detecting when a touches land or release from the device.
Detecting when a tap is moving on the device.
Explore how to add and use gestures in an iOS app, including tap, pinch, and rotation gestures, via storyboard, connecting rotation recognizers to IBAction, and converting radians to degrees.
Adding gesture recognizers in code.
Transforming an outlet using scale or rotation.
Transforming an outlet when using gestures.
http://weavesilk.com/
Writing a block of animation.
Using view’s layer to add shadows, round corners and borders.
Implementing the view effects directly into the interface builder.
Using view transitions to benefit from built-in animation effects.
https://www.youtube.com/watch?v=CDsNZJTWw0w
Explore designing the UI and implementing the basic logic of a memory puzzle game, while manipulating user interactions and completing the section with a recap of topics and UI elements.
Let’ first have a look at what we are developing.
Starting a new app and creating the UI for it.
Adding the outlets and functions to our UI elements.
Adding a new subclass of UILabel to customize our tiles.
Creating and storing all the tiles for this game.
Populating the collection view with the tiles from our array.
Adding a Flow Layout to the collection view to properly set the grid of the tiles.
Adding code to detect when a tap lands on a tile.
Separating the three states in which a tile can be.
Getting to know whether this is the first or the second tile we are tapping on.
Comparing the internal number of two recently tapped on tiles to see if they match.
https://asoftmurmur.com/
Adding a timer to the code to count the seconds and minutes.
Adding a reset function to push everything to the default state.
Knowing at what point the player has successfully finished the game.
Adding a transition for when tiles flip.
Making the game playable in dynamic grid modes of 4 or 6.
https://play2048.co/
Explore Apple Maps and location technology to present maps, display geographical positions, and support restaurant, real estate, and navigation apps with graphical interfaces.
Adding a static map to our iOS apps to view the visual presentation of geographical locations.
Adding annotations (markers) to our maps for different locations.
Conforming any class to be able to work as an annotation.
What happens when user taps on a location annotation.
http://zzzscore.com/color/en/#
Getting user’s location and representing that without a map.
Understanding the relationship between the location manager and the visual display of the map.
Finding human readable locations based on latitude and longitude.
https://www.mapcrunch.com/
Welcome to this complete iPhone App Development course. In over six months, this course has been designed in a way that would be the only course you need to take to become an iPhone/iPad (iOS) developer. We brought the best learning approaches for iOS development from many years of practice in app development and teaching iOS app development. This course begins with the most fundamental matters, introduces you to the iOS platform and the Swift programming language, and then gradually begins to deals with more advanced topics such as cloud servers, concurrency, device hardware, networking, or debugging.
All of this content has been divided into 18 separate sections. Each section covers one vital area in its entirety and prepares you to tackle various kinds of challenges in app development. Here is the list of the 18 sections in a short summary:
iOS Basics
Swift Basics
Intermediate UI
Login UI (Sample App UI Design Practice)
Advanced Swift
Advanced UI
To-do App (Developing a List Taking App from Group Up)
Touches, Graphics, and Animation
Memory Game
Maps and Location
Testing and Debugging
Media and Device
Concurrency
Persistent Data
To-do List Persistent (Adding Data Persistency to our To-do App)
Networking and Web
Firebase
Shared To-Do List (Porting our App to the Firebase Cloud)
The combination of all these sections will give you a complete and thorough understanding of iPhone application development. So, with a lot of work and a lot of exciting time ahead of us, let's now get started.