GitHub for XCode (Swift/Objective-C) create a beautiful app
Did ever think about have access to the world’s largest open source community? To be able to share your projects with the world, get feedback, and contribute to millions of repositories?
Better than this just if you could have access to all of this directly from inside XCode, making everything from only one place, coding, committing, pushing and pulling the code or even creating new branches, merging branches and even solving conflicts in a very visual interface.
If you are working in group or as a collaborator in a project you probably want great great communication between users and/or collaborators, making clear review changes, comment on lines of code, report issues, and plan the future of your project with discussion tools all this with less friction development across teams and/or friends.
Learn all this building an application from beginning to end using Swift, learn about MVC designing, debugging, lldb, and so much more.
This course is full of challenges that we can all participate as an individual or as a group afterall we will learn how to master GitHub the world’s largest open source community so we will be able to share our code, our ideas and specially our knowledge.
Introduction to this course
Why is this course so important, why you should take it and how how to that the maximum advantage of it
Let me tell you a little about me, my experiences and how I think I can help you, please after you finish watch this video introduce yourself too as I want to get to know you as well. After many months on Udemy I made many new friends, partners, find people to collaborate with me and for me to collaborate with, you maybe find may new people like this here I am looking forward to hear from you.
Starting With GitHub
(GitHub) How to create a GitHub account from scratch, what are the options and what they mean to you
(GitHub) How to create a new repository from scratch, what are the options, with ones should you select and why
(GitHub) What is a collaborator, and why and how to add a new collaborator to your repository
(GitHub) What happens to developer B once developer A adds this developer to his repository?
(GitHub) Create a GitHub account and share it in the discussion board (level: very easy)
Starting with XCode Developer A point of view
(Swift) In this lecture we will learn how to create your XCode project for the Quotes app we are going to develop
(GitHub) Create a new repository and share it in the discussion board (level: very easy)
(GitHub) What is a "commit" and a "push"? Commit is how we create "points" in the code to so we can refer to this points later in case we need, push is the act of send this commits or points in code we create to the brunch we are working on and don't worry more about brunchs coming very soon
Starting with XCode Developer B point of view
(GitHub) Developer B needs to start work in the application that developer A already start, how do developer A gets the code that developer A already push to GitHub and how to developer B start to push his own changes to GitHub as well.
Getting the changes from one developer to another
(GitHub) Pull is when we bring the changes from the brach to our machine, it is best practice to pull the brunch before start to work on it so we have the latest code to work with
(GitHub) One of the very important aspect of source control are brunches, with brunches our work is more compartmentalized, and one developer change does not affect another, also we can keep the master always working and tested. In this lesson we will learn how to create brunches and understand it a little better.
Start the Swift logic with Developer A
(Swift) Interface Builder is where we graphically design our application, in this lecture we will see how to use some of the options available to us inside interface builder and add our first label to the screen
(Swift) Questions about MVC are always present, is very important to understand this pattern as Apple uses it everywhere, in this lecture we will start to understand more about Views and ViewControllers, what they are, what are the diferences between the two of them and how they know about each other
(Swift) Create a new IBOutlet without use Control + Drag (Level: Medium)
(Swift) Sometimes can be difficult to Control + Drag in a Object so we need to find other ways to create IBOutlets to make development easier.
(GitHub) Once we finish with a certain amount of work we should merge your code to the master repository, we do this by uploading the current brunch to GitHub, Pulling the master brunch down and merging the two. Once is done we commit and merge the new master brunch to GitHub
Creating the Model the "M" on the MVC
(GitHub) Sometimes will happen, two developers will change the same file, the same function and conflicts will happen, in this lecture we will learn how to solve find and solve this conflics
(Swift) Models can be very simple, in this lecture we will start to build our model with an array that will "live" in the same class that the main view controller, after understand better the part this model play we will move it to its own place. We will also talk about lldb and learn some tricks to make debuging even easier
(Swift) Structs (like classes) are the building blocks of your program’s code in this lecture we will lear how to create a struct to hold the detail of our quotes, for now the quote and author
This challenge involves many steps:
- Create an Author UILabel
- Center Quotes UILabel in the screen
- Right align Author UILabel
- Make the Author label smaller than the quotes label
- Create an IBOutlet for the Author label
- Populate the Author label with the corresponding author for the displaying quote
This lectures is packet with content we will first create a label, learn how to align this label (left, center, right and justified), how to change the font size and where to change the font and style.
We will also see how to refectory some code (change the code withour alter the functionality)
(Swift) MVC or Model-View-Controller is a software architecture or design pattern assigns that defines not only the roles objects play in the application, it defines the way objects communicate with each other, we will have a brief introduction about MVC in the lecture before we start to abstract the Model from the current Controller
(Swift) It is very important to know what to move to the Model, what to leave in the controller in this lecture we will be refactoring the code and abstracting the Quotes model completally from the controller so it can be reuse in any other controller and/or app
Sometimes we can interact with the model in more than one way, so far we have been requesting the quotes in a fashion order but we could implement a function that would return a random quote, also one function could depend on the other for example we could return a random number.
This challenge consists in:
- Create e new UIButton to return a random quote
- Create a UIOutlet for this button and the necessary code to request the new quote
- Create a new function in the Quotes class that returns a new quote
For extra credits:
- Create consistence between the next quote and the random quote so when the user is on a random quote and select the next quote the return quote is the next based on the quote displaying
(for example, if the user is on quote 1 and the user tap on the random button and it display quote 3 when the user press next it should display quote 1 as quote 3 is the last quote and so on)
Questions directly relatated to GitHub
Questions directly relatated to Swift