We about to to learn one of the core concepts of software development - Object Oriented Programming, or OOP for short. It’s essential to many programming languages and Swift is no exception! You will discover a whole new way of designing your code!
Choosing a topic
The best part of computer programming is an ability to find solutions for real life situations - big or small. It certainly would be less useful to come up with a solution without having an application in mind.
Having a practical goal also improves our ability to learn new skills - like understanding Object Oriented Programming.
Let's take planning a trip as an example. What is more fun to plan than travel?!
We want to visit places, see things, meet people, or learn something new. There are so many things to account for, like transportation, accommodation, food, entertainment, safety, visas, or who know what else may come our way?!
Just like in most travel, when learning Object-Oriented Programming, we can’t just take off and see what happens. So, let's experiment with programming, but let's do it in context of our travels!
Could we program without Objects?
I suppose we could… Could we get by without internet and use only libraries for our research and the postal service for communication? We definitely could! It’s even cute at times! But why would we?
And there's definitely no way around using Object programming in Swift.
Exploring the neighbourhood
Most of the commonly used high-level programming languages are Object-Oriented. According to PYPL popularity ranking, top 10 languages are:
Only the C programming language is not object-oriented. C++, however, implements an object-oriented version of C to cover the areas where C reaches its limits.
This concept is also at the heart of native iOS development, whether we are talking about Swift or Objective-C. The particulars differ from language to language but the essence remains the same.
What are objects?
Everything we see can be called an object: the city we live in, our living space, furniture, computers we use, the clothes we wear!
Turning to the apps, from what we already know, we can visually identify a number of elements that we can call objects - such as labels, buttons and views in general.
In digital world we can go even further and apply the same concept to events, like gestures and notifications or processes like transitions or animations.
The list goes on. It's infinite - as are the creative ways to solve problems via computer programming.
Curious to know more?
You'll have an opportunity to do just that in the following chapters of this course!
Having a practical goal in mind improves our ability to learn new skills. We'll be exploring the topic of planning for travel in order to learn the principles of OOP.
The vast majority of high-level programming languages are object-oriented.
In order to develop native iOS applications, you must know OOP.