Developer’s Guide for Building Productive App

Most developers follow the Apple guidelines and some create their own standards. In this blog, we will talk about points, so everyone can follow approaches coherently.
Besides best coding practices, following guidelines will help you in building more productive app :
  • Best UI practices
  • Unit Testing
  • Instruments
1. Best UI practices:
The best way to learn is to do it. Consider following guideline aspects while starting the development of your app, to enhance the usability and deliver engaging and unique user experiences.
  • Avoid delay in starting the app by displaying a splash screen or any other startup experience for a long time. Instead try to use animation or interactivity to engage users. You can also use motion effects and UIKit dynamic behaviors. Don’t ask people to restart or reboot their devices after installing your app.

  • If possible, try to avoid users to agree to an end user license agreement or read a disclaimer at the start up of app. Instead you can display it on App Store.

  • Keep consistent appearances in the UI. Generally elements looking similar must have same functionality.

  • Using a navigation bar: Navigation bar is an easy way to traverse a data hierarchy. The title of navigation bar shows the current position in the hierarchy.

  • Using Gestures: Try to use gestures like pinch, drag and zoom instead of normal controls to interact with the app. People generally expect gestures to work in the app that are more enjoyable.

  • Avoid to create custom gestures that perform the same actions as the standard gestures do.

  • Don’t leave users hanging for more time while data loading or processing.

  • Use retina images – avoid low resolution images. Also do not scale images, graphics more than 100%, use them in their original aspect ratio.

  • Never quit your app programmatically: It is interpreted like a crash in the app. Instead show proper alert messages that give information about the situation and what to do next.

  • Don’t use images that looks like copy of Apple Product designs. All Apple Product designs are copyrighted. If you use same, your app will get rejecte

2. Unit Testing:
While doing any application your code must be tested-one and in iOS, Unit testing is preferred for that part. But why we need of Unit testing? What are the reasons to use unit testing? Unit testing is the program that automatically checks the result of your application to avoid further errors.
Unit Testing allows us to prevent the most important Run-time error. The runtime error is basically not an error when you code like missing semicolon or wrongly typing the method name etc. That time compiler prompts you that there is problem and you need to fix this because it is a syntactical error. But the run time error comes in to picture when you build your app and the app crashes when the user uses it. At that time, you may not understand why the app crashed. So to prevent this type of run time error, you need unit testing. Unit testing also prevent the Logical error, like when your app is asking the permissions to access the user contact information if user gives permission then its ok. But if he dines the permission that time also unit testing is needed.
When you create a project, that time it is added to your project automatically. You just need to write a different cases to avoid the above errors.
3. Instruments:
Instrument is a very useful tool to analyse the performance of the app, to see memory usages, finding crashes etc You may have come across some performance issues like application becoming too slow, application crashing because of sending message to de allocated object. To address these issue Apple has provided a tool called Instrument which comes with Xcode. You can launch Instrument to profile your working project by command+I shortcut or from Products->Profile. Instrument has different templates for different performance analysis operation as shown in the figure : We particularly used 3-4 instrument templates and find them very useful.
  • Leaks : This template helps you in finding memory leak. It will give us a hint where our object has leaked, so that we can fix that leak.

  • Zombies : Zombies template will measure the memory usage and tells us where we send message to an deallocated object.

  • Core Animation : This templates will measure the graphics performance of the app. This option will only come when profiling on actual device. There is one option in this template Color Blended Layers, on selecting it shows blended view layers. This helps in reducing the views hierarchy wherever possible thus increasing the performance of the app.

  • Automation : This template helps in testing UI automatically. The template will create script to simulate actions on the user interface automatically after you click on the record button and navigating through the application.

Conclusively, Developers are focusing only coding standards but they neglect above points. So we recommend start following these guidelines.
Related Posts

Leave a Comment