When starting out as a mobile developer, and want to take your first step in making your first real iOS application, you need to make an important decision. It’s not which technologies you are going to use, or how the application will look. You need to decide whether you will use the Storyboard or completely write it in code.
You might think that this is not important at all, but here is where a lot of people make the mistake (including myself in the past). There are a lot of things to consider and I will guide you through this process by going over the details of the storyboard.
An important fact to consider is whether you are going to work on the project alone or work in a team. This has a big influence on the decision in the first place. The second one is what the size of the project will be. Do you want to build the next Facebook or are you just making a small side project? These are all things you need to consider before starting out.
Using the Storyboard When Working in a team
We start out with the situation of you working in a team. You chose to work together with your friend/partner or you are in a professional environment with a larger team. In this case, you might want to consider NOT using the Storyboard at all and just deleting it right away. You are probably thinking, “Why”?
Well, first of all, you will work most of the time on this project separately. Then there is the moment where you worked on the same part of the user interface. Well, if you were using a Storyboard, that was the end. Not literally but, you will NOT be able to fix the merge conflict. The Storyboard might look nice but it compiles into some gibberish XML code that even experienced professionals have difficulties with, so that is your first NOPE.
When you are working in a team, whether or not it is in a company, the app will be more complex. So you start making the whole user interface in the Storyboard, and after a while, once, you start feeling it. The code editor begins to run slower. You first think this is because of the application, but no no no, it is the Storyboard. Once your views start to increase, the Storyboard only goes slower. Also, the compilation time will be longer and longer when you follow this technique. Just don’t do it (I warned you!).
Another situation is when you are making a very complex user interface. Say for example you have a lot of details going on and you want to make it in the Storyboard. This is going to be a very frustrating decision. Most of the time you will be working on a laptop, with a smaller screen. Every single detail would have to be dragged by hand, I can tell you right now, this is a very bad idea. An additional problem is that most of the time it’s impossible to create the details of this user interface in the first place. Rounded corners, shadows, etc… are impossible to edit in the Storyboard, so you’ll have to code eventually.
Using the Storyboard When Working on Your Own
When you are working on your own, most of the time you will not have any of the problems above. The only thing you might want to look out for in the long term is the size of the application, but apart from that, you are quite safe.
What you see, is what you get
One of the biggest, if not the biggest advantage of using the Storyboard, is the fact that you can see how the layout is going to look immediately. Certainly, when you are starting out, this could be frustrating when you need to run your app every time you want to check if a change was made. Also, you will need a very good imagination to build it in code in the first place. This could be a big YES for the Storyboard.
Build the user interface in 1, 2, 3
When you are starting out, or just making a simple application, you would like to make the user interface using a much faster method. This will be possible when you use the Storyboard. One of the most difficult parts to learn about iOS development are the constraints. These determine how everything will look on the screen. Writing these in code takes more time and could be more difficult. On the other hand, in the Storyboard, you make them in just a few clicks.
So next time you start building a new application, you can look back at these factors and decide whether you want to use the Storyboard or not. Merge conflicts, the performance of the code editor and complexity of the user interface are problems you will face in a big project and/or with a team. Seeing how the user interface will look immediately and being able to build the user interface really fast and simple might be a good reason to choose using the Storyboard over coding everything yourself.