Down to basics
Hi there! Welcome back. On this post, I will describe the basics of my methods and some helpful links. Down to basics!!
Which languages do you speak?
Spoken languages (Daily basis): Engish, Portuguese, German
Spoken languages (I could order a meal at the restaurant and ask for a taxi to drop me at the airport): Spanish, Italian
Non-spoken languages (Daily basis): Objective-C, Swift, PHP, HTML, C, Java
Non-spoken languages (I could order a meal at the restaurant and ask for a taxi to drop me at the airport): Python, VBA, Java-Script, C#
Which languages do you use on your apps?
I have apps currently live on Swift and Objective-C. Due to the fact that we still do not have Apple’s application written completely in Swift, it’s safe to say that there is no near-future-plan to deprecate Objective-C language, therefore I have not moved all my apps to Swift yet. In my own humble opinion, on one hand, we have Swift, that was brought to life in order to bring more developers to Apple’s platform, due to the fact that it’s a really simple and easy to use programing language. On the other hand, we have Objective-C that is a very robust programing language and has been proven throughout the years to perform extremely well with Apple’s hardware, but it is not that easy to learn, pushing new developers away from Apple’s platform. That being said, I believe that in the upcoming years, after Swift has gotten some robustness (and not being needed to update all your Swift projects every time a new version is published), Swift will become the main language from Apple’s platform. When the subject is related to the server, I have all my backend projects in PHP. Again, due to its robustness and majority of the market. Python and Italian are my new learning languages that I study at the moment and I am looking forward to being fluent in both.
Which program do you mainly use?
When developing apps for iPhone, iPad or macs, I use Xcode from Apple. Before and after each app development, I update my SVN repository using Versions. When connecting to my remote server I use Transmit and MAMP PRO. My favorite text editor
Storyboard, XIB files or just by code?
Technically speaking, Storyboards are my favorite tool to develop and create apps and the technology behind it is just beautiful, however as the apps have become more and more sophisticated, and working together with other software engineers, XIB files and creating it by code is really (REALLY) easier to handle and control it. My favorite option is just to use code to create my apps. Yes, it is indeed more complicated and complex, since you have to make sure that every single detail of what will be presented on the screen is actually handled. And having more control over your code is a very very good point because you know exactly where to look when you have a bug. There are some other reasons why designing everything by code is my number one option: Easier implementation when you have views and subviews on top of each other; Animations are much easier to be made; The compile time increases when the storyboard is really complex in comparison of when you have only code developed; Basically, you really understand all the details that what is going on on your application; When you are in a professional environment, merging trunk projects can be a challenge, and when you develop everything by code, you don’t have that problem because what you have done is not related to what your colleagues have been working on; and the list
MVC or MVVM?
Model-View-Controller or Model-View-View-Model architectures really depends on the project you are developing. Personally, I really like MVC architecture due to the fact that it can be easily scalable and maintained. But it really depends on the project, really.
Coolors – Create, save and share perfect palettes in seconds: https://coolors.co
Color Hex Color Codes – Color-hex gives information about colors including color models: https://www.color-hex.com
Unsplash – Royalty free images: https://unsplash.com
Iconfinder – Marketplace for vector icons: https://www.iconfinder.com
Thank you for the time and see you soon!