Building iOS Apps: basic decisions

While starting a new project, every choice you make will influence your project forever, so I am staring to learn so pay attention to several steps:

  1. Using Github or Cocoapods frameworks
    Taking advantage of prewritten code or frameworks can be very fast at the beginning. As a new developer, it can help you in your project by providing you guides for your projects. However, keep in mind that you’re making your project dependent from other developers and you’ll never know what they will do in the future.
    For example: are you ready to base all you network functions on AlamoFire? What if they stop maintaining the project and it’ll be not compatible with a future version of iOS? Are you ready to fork the project or to rewrite all of your network classes?
    So : don’t use libraries just to improve starting speed if you’re not ready for the worst. If your project has a visibility of years is better to write your own code based on Apple frameworks, it’ll be slower on the beginning but can be less bloody maintaining it in the future.
  2. Choose the right technology
    Choose reliable technologies, both for your app and for the backend, if can choose it. If you’re planning a new app that will be available for year, don’t start developing with old or unreliable technology.
    Advice is: start developing looking ahead and starting from the state of the art. Know that you will want to maintain it for years.
  3. Don’t over-engineer it
    We’re talking about an app. Even if it’ll be the most complicated app on the App Store, it will be simple and solid for the user, so it’ll need to be simple and solid for you and for those who are maintaining it in the future. Doesn’t matter how much classes or REST calls your app should manage, it has to be simple. If you try to apply strange concepts, dozens of abstraction layers or blocks inside blocks inside blocks, you’ll bleed for just fixing a stupid bug, you’ll propagate it everywhere.
    Advice: It borns to be simple, keep it simple or you will pay it in the future.
  4. Don’t follow trends
    This advice works in life and in coding as well. Don’t follow trends, sooner or later they will be abandoned. You can run into issues in the future if trends are abandoned. My fourth advice is: follow the leaders of technology you’re building on, don’t follow trends. It’s more safe to spend a little more of time applying Apple best practices than using a trending technology that most likely will die sooner or later.
  5. Be yourself
    You have to apply this advice in life as well. You are coding your app and your code.
    Don’t be influenced by others, it’s your choice and it’s your product. Take care to do the best and to learn from what you’re doing.
    Put your fingerprint in the code for the best of your new project.