Robot Operating System
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 resourcesIf you are new to robotics and want to explore the limitless implementation of robotics, ROS is the way to go. ROS stands for Robot Operating System, not be confused for a traditional Operating System. ROS is not an operating system like the popular ones we know, but it sits on top of these OSs and provides tools, infrastructure and ecosystem for Robotics Programming. This feature is what separates it from being classified as a “framework”. But why should one use ROS? ROS is an open-source project with a vibrant community backing it up. It is compatible with Windows, Linux as well as macOS. It supports Python and C++. One could use a majority of features and functionalities provided by ROS or could conveniently implement their own due to its modularity. So how could we use ROS? ROS is decorated with great documentation on its official website. Also, a lot of video tutorials could be found on YouTube. ROS does have its pro and cons, but it provides a great opportunity for people from varying backgrounds to explore robotics.