As a startup, we need the maximum flexibility and the ability to reach our customers in a more suitable way. So a hybrid application approach is the best because it allows you to develop a cross-platform application in a unique codebase.
The choice behind Ionic is Angular, I think that angular is the best framework to develop a complex application that needs a lot of service interaction, its modularity forces you (the developer) to write the code in the correct way, so it can be maintainable and reusable.
While with Ionic it is possible to make mobile applications with only web technologies, Flutter is more performant and is easy to use if you are willing to learn Dart, which is a fun language. Plus, it has awesome documentation and, while its ecosystem isn't near as big as JavaScript's is, it has a good package manager called Pub and its packages are generally high quality.
We are developing an AWS IoT app for large boats. The IoT devices have sensors all over the boat for engine oil pressure, position, water depth, fuel level, crew location, etc. When the boat has internet, we interact with AWS cloud using lambda and Amazon DynamoDB. When the boat is offshore, the captain and crew still need normal and emergency alerts and real-time sensor information. The crew might have an Android or IoS phone or a Windows or macOS PC to receive alerts and interact with sensors. We may use the AWS GreenGrasss edge computing solution and either MQTT or HTML for that function.
Question: We want to develop a cross-platform client to run on Windows, Mac, Android, IOS, and possibly Linux. We are primarily Python programmers, so PyQt or Kivy are options for us, but we have heard good things about React Native, Flutter, Xamarin, and others. We think an AWS Greengrass core on an RPI4 could communicate to the client with MQTT or a local webserver with a client web interface.
Xamarin’s Mono-based products enable .NET developers to use their existing code, libraries and tools (including Visual Studio*), as well as skills in .NET and the C# programming language, to create mobile applications for the industry’s most widely-used mobile devices, including Android-based smartphones and tablets, iPhone, iPad and iPod Touch.
Free and open source, Ionic offers a library of mobile and desktop-optimized HTML, CSS and JS components for building highly interactive apps. Use with Angular, React, Vue, or plain JavaScript.
Crosswalk is a web runtime for ambitious HTML5 applications. All the features of a modern browser, deep device integration and an API for adding native extensions
Cross-platform development- Thinking about supporting iOS, Android, Mac and Windows? Xamarin allows you to write it all in C#.;Reuse existing code- Use your favorite .NET libraries in Xamarin apps. Easily use third-party native libraries and frameworks.;
Discover as you type- Explore APIs as you type with code autocompletion.;Visual Studio or Xamarin Studio- Create, build, debug, and deploy apps in Visual Studio. Or use Xamarin Studio, a fully-featured IDE that is built for mobile app development.;Native UI, Native Performance- Xamarin delivers high performance compiled code with full access to all the native APIs so you can create native apps with device-specific experiences.; Point and Click UI Design- Xamarin provides a world class Android UI designer. Use Apple Xcode UI designer to create interfaces and Storyboards that automatically sync with your Xamarin.iOS project.
Performance obsessed;Utilizes Angular and React;Native focused;Beautifully designed;Based on Web Components;
Develop around device fragmentation;Provide a feature rich experience on all Android 4.x devices;Easily debug with Chrome DevTools;Improve the performance of your HTML, CSS, and JavaScript
Statistics
GitHub Stars
-
GitHub Stars
-
GitHub Stars
2.3K
GitHub Forks
-
GitHub Forks
-
GitHub Forks
651
Stacks
1.3K
Stacks
9.6K
Stacks
17
Followers
1.5K
Followers
8.6K
Followers
34
Votes
785
Votes
1.8K
Votes
6
Pros & Cons
Pros
121
Power of c# on mobile devices
81
Native performance
79
Native apps with native ui controls
73
No javascript - truely compiled code
67
Sharing more than 90% of code over all platforms
Cons
9
Build times
5
Visual Studio
4
Price
3
Scalability
3
Complexity
Pros
248
Allows for rapid prototyping
228
Hybrid mobile
208
It's angularjs
186
Free
179
It's javascript, html, and css
Cons
20
Not suitable for high performance or UI intensive apps