Cross Platform App Development
In the early days of “Smartphone” era, developers only targeted a single platform for #appdevelopment Company had to decide which mobile Operating System (OS) their product was to cover: #android #ios #microsoft RIM or Symbian.
Present Market research shows, alone in India, the consumer market is about 63% Android, 35% Apple & only 2% for other platforms. So, now which platform should a company target? How do you solve the problem of creating an app with consistent UI & UX across different platforms?
What if you could actually program in one universal language that could be used across devices?
What Is Cross Platform Development( CPD)?
When you build a native app you have to build a separate one for each platform. For eg, to build for following platforms you need to use the language they recognize:
Apple iOS: Program in Objective C or Swift.
Android: Program in #java or #kotlin
Windows Phone: Program in C# and XAML.
The need for separate platform languages has disadvantages like :
Knowledge: Programming native mobile apps require high levels of skill in 2-3 different languages.
Expense: Creating & maintaining an app for each OS is expensive.
Uniformity: User interface(UI) & User Experience (UX) may vary across platforms.
Why Should Everyone focus on CPD?
It provides flexibility to build an app using a universal language like Javascript.
Using tools like React Native, Xamarin, Flutter or NativeScript, one could end up with an app that uses native APIs which allows for excellent performance across all platforms, without having to code each separately.
Advantages of CPD:
• Wider Market Reach
• One Codebase
• Expenses are reduced as one needs to maintain a single codebase
• Time to market is reduced
• Promotes Incremental & Prototype based Design Methodology
•Would promote, bringing your own device (BYOD) policies
Disadvantages of CPD:
• Programs efficiency and compatibility issues
• Performance issues on some OS platforms due to generalization of program logic
• May require a lot more resources