Need advice about which tool to choose?Ask the StackShare community!
Sencha Touch vs Xamarin: What are the differences?
Introduction:
In the world of software development, there are various frameworks and tools available to create cross-platform mobile applications. Two popular options are Sencha Touch and Xamarin. While both frameworks are used to develop mobile apps, there are distinct differences between them. Let's explore the key differences below.
Architecture and Language: Sencha Touch uses extensible and customizable JavaScript and HTML5/ CSS3 for app development. It follows the MVVM (Model-View-ViewModel) architectural pattern. On the other hand, Xamarin uses C# and .NET framework for app development. It follows the MVVM (Model-View-ViewModel) architectural pattern.
Platform Support: Sencha Touch primarily focuses on building mobile web applications that can run on various platforms, including iOS, Android, and Windows. It is not suitable for creating native applications. On the contrary, Xamarin allows developers to build native mobile applications for iOS, Android, and Windows using a single codebase, providing a highly platform-specific user experience.
Development Tools and Ecosystem: Sencha Touch comes with its own integrated development environment (IDE) called Sencha Architect, which provides a visual interface for designing and building apps. It also has a rich set of UI components and plugins available in the Sencha marketplace. Xamarin, on the other hand, integrates with popular IDEs like Visual Studio and offers a wide range of tools and libraries for UI development and testing.
Community and Documentation: Sencha Touch has a strong and active community with extensive documentation, tutorials, and forums available for developers. It also offers premium support options. Xamarin, being backed by Microsoft, has a large and growing community with ample resources, including official documentation, forums, and support from the Xamarin team.
Performance and Native Access: Sencha Touch applications are built using web technologies and run in a web browser or a WebView component. Although it provides good performance for mobile web apps, it may not match the smoothness and responsiveness of native apps. Xamarin, on the other hand, allows developers to access native APIs and features directly, resulting in excellent performance and access to device-specific functionality.
Cost and Licensing: Sencha Touch is an open-source framework available under the GPLv3 license. It offers a free version with limited features and a paid commercial license for enterprise use. Xamarin offers a free version called Xamarin Community Edition, which has certain limitations. To unlock advanced features and use Xamarin in a commercial environment, developers need to purchase Xamarin Platform or choose a Visual Studio subscription.
In summary, Sencha Touch is a JavaScript-based framework suitable for building mobile web applications across multiple platforms, while Xamarin is a C#-based framework focused on native app development for iOS, Android, and Windows. Sencha Touch emphasizes cross-platform compatibility and provides a visual interface for app development, while Xamarin offers native performance and access to device-specific features. The choice between the two depends on the specific requirements and preferences of the project.
I want to learn cross-platform application frameworks like React Native, Flutter, Xamarin, or Ionic, and I'm a web developer. I can learn other programming languages as well. But I'm confused about what to learn, which framework is best, and which framework will last long as the application grows further into complexity.
Flutter
is the best one. If you are a new comer in mobile app development, choose Flutter
.
But if you have strong experience in JavaScript
and you have a lot of JS websites that you want to develop into mobile apps, choose React Native
.
Ionic
also has its strong points such as a lot of prebuilt components for different platforms and minimal dev environment requirement (you only need a browser).
React Native has a very rich ecosystem and if you're already a web developer, the skills that you already possess will transfer over very well. React is the second most popular web framework according to Stack Overlow's 2022 Developer Survey. No one framework is the 'best' as they all serve different purposes and have different use cases. If you're looking to pick up something popular, I would recommend React Native.
The easiest and fastest for you right now is React Native. I dont know about the Xamarin but I dont like microsoft.
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.
Any thoughts would be much appreciated.
I don't know much about Xamarin but I know about PyQt and React Native.
However, I don't recommend PyQt because the apps made using PyQt are not that suitable for mobile apps. If you take a look at the PyQt interface, you will be able to see that the features are more of a desktop apps kind.
React Native uses JavaScript. React Native is immensely flexible in upgrading your apps because it allows you to formulate your app code into independent blocks.
In Xamarin, you have to write the code in .NET . The best thing about Xamarin is, that it extends the.NET developer platform with tools and libraries specifically for building apps for Android, iOS, tvOS, watchOS, macOS, and Windows
While the best choice for you depends on various factors but React Native app development is a promising overall choice. In today’s scenario, React Native has steady growth, flawless code structure, and brilliant and large community support. We suggest you go for React Native for your next project owing to its outstanding support from developers, easy availability, and cost-effectiveness.
It seems like your app is not really using any native functionality on the phone. I have experience with cross platform iOS & Android development. They are all really good tools! Xamarin (all the project on the website portfolio I attached) is awesome for accessing native functionality (NFC, Sensors, Bluetooth, etc), and I have built apps that have millions of downloads, some that hit Top 5 on Utilities, another that hit Top 50 in Finances. You just have to look at what your application intent is, it seems like it's just to read and post data. For that they are all pretty good, but you should also look into Ionic which may serve the same purpose
I've yet to see a non-native application that I felt performed as well and/or provided the same user experience with Cordova/PhoneGap/Xamarin. Frankly, at best they all seemed like underpowered web applications deployed to a sandbox that ran on a phone. They didn't feel "slick" or "mobile-first" and in some cases the performance was unacceptable. At previous companies, we built a few of these apps at the client's insistence, and in every case, they re-engaged us about 18 months later to re-write the app(s) natively.
We are doing some research on React Native and Flutter, but I am not yet convinced that they can provide the same level of experience and performance as native, though I am trying to keep an open mind.
Pros of Sencha Touch
- Structured code8
- Mvc5
- PhoneGap intergation5
- Customised Component3
- Rich Charting Components2
- Mobile oriented theme2
- Easy Data Binding2
- Open source1
Pros of Xamarin
- Power of c# on mobile devices121
- Native performance81
- Native apps with native ui controls79
- No javascript - truely compiled code73
- Sharing more than 90% of code over all platforms67
- Ability to leverage visual studio45
- Mvvm pattern44
- Many great c# libraries44
- Amazing support36
- Powerful platform for .net developers34
- GUI Native look and Feel19
- Nuget package manager16
- Free12
- Backed by Microsoft9
- Enables code reuse on server9
- Faster Development8
- Use of third-party .NET libraries7
- It's free since Apr 20167
- Best performance than other cross-platform7
- Easy Debug and Trace7
- Open Source7
- Mac IDE (Xamarin Studio)6
- Xamarin.forms is the best, it's amazing6
- That just work for every scenario5
- C# mult paradigm language5
- Power of C#, no javascript, visual studio5
- Great docs4
- Compatible to develop Hybrid apps4
- Microsoft stack4
- Microsoft backed4
- Well Designed3
- Small learning curve for Mobile developers3
- Ionic2
- Ability to leverage legacy C and C++2
Sign up to add or upvote prosMake informed product decisions
Cons of Sencha Touch
Cons of Xamarin
- Build times9
- Visual Studio5
- Price4
- Complexity3
- Scalability3
- Nuget2
- Maturity2
- Build Tools2
- Support2
- Maturidade0
- Performance0