Python vs Xamarin

Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Python
Python

49.7K
42.6K
+ 1
6K
Xamarin
Xamarin

854
861
+ 1
711
Add tool

Python vs Xamarin: What are the differences?

What is Python? A clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java. Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.

What is Xamarin? Create iOS, Android and Mac apps in C#. 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.

Python can be classified as a tool in the "Languages" category, while Xamarin is grouped under "Cross-Platform Mobile Development".

"Great libraries", "Readable code" and "Beautiful code" are the key factors why developers consider Python; whereas "Power of c# on mobile devices", "Native apps with native ui controls" and "Native performance" are the primary reasons why Xamarin is favored.

Python is an open source tool with 25K GitHub stars and 10.3K GitHub forks. Here's a link to Python's open source repository on GitHub.

reddit, Instacart, and Lyft are some of the popular companies that use Python, whereas Xamarin is used by Rdio, Olo, and Rumble. Python has a broader approval, being mentioned in 2789 company stacks & 3500 developers stacks; compared to Xamarin, which is listed in 74 company stacks and 65 developer stacks.

- No public GitHub repository available -

What is Python?

Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.

What is Xamarin?

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.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose Python?
Why do developers choose Xamarin?

Sign up to add, upvote and see more prosMake informed product decisions

Sign up to add, upvote and see more consMake informed product decisions

What companies use Python?
What companies use Xamarin?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Python?
What tools integrate with Xamarin?

Sign up to get full access to all the tool integrationsMake informed product decisions

What are some alternatives to Python and Xamarin?
Java
Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
R Language
R provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, ...) and graphical techniques, and is highly extensible.
JavaScript
JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
Scala
Scala is an acronym for “Scalable Language”. This means that Scala grows with you. You can play with it by typing one-line expressions and observing the results. But you can also rely on it for large mission critical systems, as many companies, including Twitter, LinkedIn, or Intel do. To some, Scala feels like a scripting language. Its syntax is concise and low ceremony; its types get out of the way because the compiler can infer them.
Anaconda
A free and open-source distribution of the Python and R programming languages for scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system conda.
See all alternatives
Decisions about Python and Xamarin
Ajit Parthan
Ajit Parthan
CTO at Shaw Academy · | 1 upvotes · 4.8K views
atShaw AcademyShaw Academy
PHP
PHP
Python
Python

Multiple systems means there is a requirement to cart data across them.

Started off with Talend scripts. This was great as what we initially had were PHP/Python script - allowed for a more systematic approach to ETL.

But ended up with a massive repository of scripts, complex crontab entries and regular failures due to memory issues.

Using Stitch or similar services is a better approach: - no need to worry about the infrastructure needed for the ETL processes - a more formal mapping of data from source to destination as opposed to script developer doing his/her voodoo magic - lot of common sources and destination integrations are already builtin and out of the box

See more
Eric Colson
Eric Colson
Chief Algorithms Officer at Stitch Fix · | 19 upvotes · 899.5K views
atStitch FixStitch Fix
Kafka
Kafka
PostgreSQL
PostgreSQL
Amazon S3
Amazon S3
Apache Spark
Apache Spark
Presto
Presto
Python
Python
R Language
R Language
PyTorch
PyTorch
Docker
Docker
Amazon EC2 Container Service
Amazon EC2 Container Service
#AWS
#Etl
#ML
#DataScience
#DataStack
#Data

The algorithms and data infrastructure at Stitch Fix is housed in #AWS. Data acquisition is split between events flowing through Kafka, and periodic snapshots of PostgreSQL DBs. We store data in an Amazon S3 based data warehouse. Apache Spark on Yarn is our tool of choice for data movement and #ETL. Because our storage layer (s3) is decoupled from our processing layer, we are able to scale our compute environment very elastically. We have several semi-permanent, autoscaling Yarn clusters running to serve our data processing needs. While the bulk of our compute infrastructure is dedicated to algorithmic processing, we also implemented Presto for adhoc queries and dashboards.

Beyond data movement and ETL, most #ML centric jobs (e.g. model training and execution) run in a similarly elastic environment as containers running Python and R code on Amazon EC2 Container Service clusters. The execution of batch jobs on top of ECS is managed by Flotilla, a service we built in house and open sourced (see https://github.com/stitchfix/flotilla-os).

At Stitch Fix, algorithmic integrations are pervasive across the business. We have dozens of data products actively integrated systems. That requires serving layer that is robust, agile, flexible, and allows for self-service. Models produced on Flotilla are packaged for deployment in production using Khan, another framework we've developed internally. Khan provides our data scientists the ability to quickly productionize those models they've developed with open source frameworks in Python 3 (e.g. PyTorch, sklearn), by automatically packaging them as Docker containers and deploying to Amazon ECS. This provides our data scientist a one-click method of getting from their algorithms to production. We then integrate those deployments into a service mesh, which allows us to A/B test various implementations in our product.

For more info:

#DataScience #DataStack #Data

See more
Node.js
Node.js
JavaScript
JavaScript
Django
Django
Python
Python

Django or NodeJS? Hi, I’m thinking about which software I should use for my web-app. What about Node.js or Django for the back-end? I want to create an online preparation course for the final school exams in my country. At the beginning for maths. The course should contain tutorials and a lot of exercises of different types. E.g. multiple choice, user text/number input and drawing tasks. The exercises should change (different levels) with the learning progress. Wrong questions should asked again with different numbers. I also want a score system and statistics. So far, I have got only limited web development skills. (some HTML, CSS, Bootstrap and Wordpress). I don’t know JavaScript or Python.

Possible pros for Python / Django: - easy syntax, easier to learn for me as a beginner - fast development, earlier release - libraries for mathematical and scientific computation

Possible pros for JavaScript / Node.js: - great performance, better choice for real time applications: user should get the answer for a question quickly

Which software would you use in my case? Are my arguments for Python/NodeJS right? Which kind of database would you use?

Thank you for your answer!

Node.js JavaScript Django Python

See more
Go
Go
Python
Python
PostgreSQL
PostgreSQL
TypeScript
TypeScript
JavaScript
JavaScript
NATS
NATS
Docker
Docker
Git
Git

Go is a high performance language with simple syntax / semantics. Although it is not as expressive as some other languages, it's still a great language for backend development.

Python is expressive and battery-included, and pre-installed in most linux distros, making it a great language for scripting.

PostgreSQL: Rock-solid RDBMS with NoSQL support.

TypeScript saves you from all nonsense semantics of JavaScript , LOL.

NATS: fast message queue and easy to deploy / maintain.

Docker makes deployment painless.

Git essential tool for collaboration and source management.

See more
Omar Melendrez
Omar Melendrez
Front-end developer · | 4 upvotes · 4.4K views
Vue.js
Vue.js
React
React
Node.js
Node.js
C#
C#
Python
Python
#Fullstack
#Vscode

I'm #Fullstack here and work with Vue.js, React and Node.js in some projects but also C# for other clients. Also started learning Python. And all this with just one tool!: #Vscode I have used Atom and Sublime Text in the past and they are very good too, but for me now is just vscode. I think the combination of vscode with the free available extensions that the community is creating makes a powerful tool and that's why vscode became the most popular IDE for software development. You can match it to your own needs in a couple of minutes. Did I mention you can style it your way? Amazing tool!

See more
Tom Klein
Tom Klein
CEO at Gentlent · | 4 upvotes · 46.3K views
atGentlentGentlent
JavaScript
JavaScript
Node.js
Node.js
PHP
PHP
HTML5
HTML5
Sass
Sass
nginx
nginx
React
React
PostgreSQL
PostgreSQL
Ubuntu
Ubuntu
ES6
ES6
TypeScript
TypeScript
Google Compute Engine
Google Compute Engine
Socket.IO
Socket.IO
Electron
Electron
Python
Python

Our most used programming languages are JavaScript / Node.js for it's lightweight and fast use, PHP because everyone knows it, HTML5 because you can't live without it and Sass to write great CSS. Occasionally, we use nginx as a web server and proxy, React for our UX, PostgreSQL as fast relational database, Ubuntu as server OS, ES6 and TypeScript for Node, Google Compute Engine for our infrastructure, and Socket.IO and Electron for specific use cases. We also use Python for some of our backends.

See more
Praveen Mooli
Praveen Mooli
Engineering Manager at Taylor and Francis · | 12 upvotes · 701.4K views
MongoDB Atlas
MongoDB Atlas
Java
Java
Spring Boot
Spring Boot
Node.js
Node.js
ExpressJS
ExpressJS
Python
Python
Flask
Flask
Amazon Kinesis
Amazon Kinesis
Amazon Kinesis Firehose
Amazon Kinesis Firehose
Amazon SNS
Amazon SNS
Amazon SQS
Amazon SQS
AWS Lambda
AWS Lambda
Angular 2
Angular 2
RxJS
RxJS
GitHub
GitHub
Travis CI
Travis CI
Terraform
Terraform
Docker
Docker
Serverless
Serverless
Amazon RDS
Amazon RDS
Amazon DynamoDB
Amazon DynamoDB
Amazon S3
Amazon S3
#Backend
#Microservices
#Eventsourcingframework
#Webapps
#Devops
#Data

We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.

To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas

To build #Webapps we decided to use Angular 2 with RxJS

#Devops - GitHub , Travis CI , Terraform , Docker , Serverless

See more
Adam Bavosa
Adam Bavosa
Python
Python
JavaScript
JavaScript
asyncio
asyncio
PubNub
PubNub

I love Python and JavaScript . You can do the same JavaScript async operations in Python by using asyncio. This is particularly useful when you need to do socket programming in Python. With streaming sockets, data can be sent or received at any time. In case your Python program is in the middle of executing some code, other threads can handle the new socket data. Libraries like asyncio implement multiple threads, so your Python program can work in an asynchronous fashion. PubNub makes bi-directional data streaming between devices even easier.

See more
Helio Junior
Helio Junior
Python
Python
JavaScript
JavaScript
CSS 3
CSS 3
#DataScience
#UXdesign
#NodeJS
#Electron

Python is a excellent tool for #DataScience , but up to now is very poor in #uxdesign . To do some design I'm using JavaScript and #nodejs , #electron stack. The possibility of use CSS 3 to draw interfaces is very awesome and fast. Unfortunatelly Python don't have (yet) a good way to make a #UXdesign .

See more
Greg Neumann
Greg Neumann
Indie, Solo, Developer · | 7 upvotes · 391.2K views
Xamarin
Xamarin
.NET Core
.NET Core
Xamarin Forms
Xamarin Forms
ASP.NET
ASP.NET
Quasar Framework
Quasar Framework
Electron
Electron
Vue.js
Vue.js
TypeScript
TypeScript

Finding the most effective dev stack for a solo developer. Over the past year, I've been looking at many tech stacks that would be 'best' for me, as a solo, indie, developer to deliver a desktop app (Windows & Mac) plus mobile - iOS mainly. Initially, Xamarin started to stand-out. Using .NET Core as the run-time, Xamarin as the native API provider and Xamarin Forms for the UI seemed to solve all issues. But, the cracks soon started to appear. Xamarin Forms is mobile only; the Windows incarnation is different. There is no Mac UI solution (you have to code it natively in Mac OS Storyboard. I was also worried how Xamarin Forms , if I was to use it, was going to cope, in future, with Apple's new SwiftUI and Google's new Fuchsia.

This plethora of techs for the UI-layer made me reach for the safer waters of using Web-techs for the UI. Lovely! Consistency everywhere (well, mostly). But that consistency evaporates when platform issues are addressed. There are so many web frameworks!

But, I made a simple decision. It's just me...I am clever, but there is no army of coders here. And I have big plans for a business app. How could just 1 developer go-on to deploy a decent app to Windows, iPhone, iPad & Mac OS? I remembered earlier days when I've used Microsoft's ASP.NET to scaffold - generate - loads of Code for a web-app that I needed for several charities that I worked with. What 'generators' exist that do a lot of the platform-specific rubbish, allow the necessary customisation of such platform integration and provide a decent UI?

I've placed my colours to the Quasar Framework mast. Oh dear, that means Electron desktop apps doesn't it? Well, Ive had enough of loads of Developers saying that "the menus won't look native" or "it uses too much RAM" and so on. I've been using non-native UI-wrapped apps for ages - the date picker in Outlook on iOS is way better than the native date-picker and I'd been using it for years without getting hot under the collar about it. Developers do get so hung-up on things that busy Users hardly notice; don't you think?. As to the RAM usage issue; that's a bit true. But Users only really notice when an app uses so much RAM that the machine starts to page-out. Electron contributes towards that horizon but does not cause it. My Users will be business-users after all. Somewhat decent machines.

Looking forward to all that lovely Vue.js around my TypeScript and all those really, really, b e a u t I f u l UI controls of Quasar Framework . Still not sure that 1 dev can deliver all that... but I'm up for trying...

See more
Ruby
Ruby
Rails
Rails
React
React
Redux
Redux
Create React App
Create React App
Jest
Jest
react-testing-library
react-testing-library
RSpec
RSpec
PostgreSQL
PostgreSQL
MongoDB
MongoDB
Redis
Redis
React Native
React Native
Next.js
Next.js
Python
Python
Bit
Bit
JavaScript
JavaScript

I'm working as one of the engineering leads in RunaHR. As our platform is a Saas, we thought It'd be good to have an API (We chose Ruby and Rails for this) and a SPA (built with React and Redux ) connected. We started the SPA with Create React App since It's pretty easy to start.

We use Jest as the testing framework and react-testing-library to test React components. In Rails we make tests using RSpec.

Our main database is PostgreSQL, but we also use MongoDB to store some type of data. We started to use Redis  for cache and other time sensitive operations.

We have a couple of extra projects: One is an Employee app built with React Native and the other is an internal back office dashboard built with Next.js for the client and Python in the backend side.

Since we have different frontend apps we have found useful to have Bit to document visual components and utils in JavaScript.

See more
Node.js
Node.js
Java
Java
Spring Boot
Spring Boot
Python
Python
Flask
Flask
Django
Django

Since you said that your middleware will be accessing DB and expose API, you can go with Node.js. It will make your development fast and easy. Suppose in future you will add some business logic you can choose Java with Spring Boot or Python with Flask / Django. NOTE: Language or framework doesn't matter. Choose based on your programming knowledge.

See more
Jakub Olan
Jakub Olan
DevOps Engineer · | 17 upvotes · 23.2K views
ataraclxaraclx
Java
Java
Python
Python
C++
C++
Node.js
Node.js
Rust
Rust
Kotlin
Kotlin
Go
Go

In our company we have think a lot about languages that we're willing to use, there we have considering Java, Python and C++ . All of there languages are old and well developed at fact but that's not ideology of araclx. We've choose a edge technologies such as Node.js , Rust , Kotlin and Go as our programming languages which is some kind of fun. Node.js is one of biggest trends of 2019, same for Go. We want to grow in our company with growth of languages we have choose, and probably when we would choose Java that would be almost impossible because larger languages move on today's market slower, and cannot have big changes.

See more
Shivam Bhargava
Shivam Bhargava
AVP - Business at VAYUZ Technologies Pvt. Ltd. · | 11 upvotes · 8K views
Swift
Swift
Kotlin
Kotlin
React
React
Python
Python
Rails
Rails
Java
Java
Node.js
Node.js
#Neobank

Hi Community! Trust everyone is keeping safe. I am exploring the idea of building a #Neobank (App) with end-to-end banking capabilities. In the process of exploring this space, I have come across multiple Apps (N26, Revolut, Monese, etc) and explored their stacks in detail. The confusion remains to be the Backend Tech to be used?

What would you go with considering all of the languages such as Node.js Java Rails Python are suggested by some person or the other. As a general trend, I have noticed the usage of Node with React on the front or Node with a combination of Kotlin and Swift. Please suggest what would be the right approach!

See more
Saurav Pandit
Saurav Pandit
Application Devloper at Bny Mellon · | 6 upvotes · 5.2K views
JSON Web Token
JSON Web Token
OpenAPI
OpenAPI
Java
Java
AngularJS
AngularJS
Oracle
Oracle
Python
Python

I have just started learning Python 3 week back. I want to create REST api using python. The api will be use to save form data in Oracle database. The front end is using AngularJS 8 with Angular Material. In python there are so many framework for developing REST ** I am looking for some suggestions which REST framework to choose? ** Here are some feature I am looking for * Easy integration and unit testing like in Angular we just run command. * Code packageing, like in Java maven project we can build and package. I am looking for something which I can push in artifactory and deploy whole code as package. *Support for swagger/ OpenAPI * Support for JSON Web Token * Support for testcase coverage report Framework can have feature included or can be available by extension.

See more
Interest over time
Reviews of Python and Xamarin
Review ofXamarinXamarin

I'm working in Huge company and I'm in charge to choose the cross-platform environment to develop Mobile application for all our services. I choose Xamarin but because the error i get everytime in Visual Studio, I want to leave it and recommand another solution. In fact that's why I'm here.

Weird, Install VS2017 with Xamarin on a new PC Create a new app GOT ERRORS.....!!!!!

Thank you for considering this

How developers use Python and Xamarin
Avatar of Exchange rates API
Exchange rates API uses PythonPython

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse is better than dense.

Readability counts.

Special cases aren't special enough to break the rules.

Although practicality beats purity.

Errors should never pass silently.

Unless explicitly silenced.

In the face of ambiguity, refuse the temptation to guess.

There should be one-- and preferably only one --obvious way to do it.

Although that way may not be obvious at first unless you're Dutch.

Now is better than never.

Although never is often better than right now.

If the implementation is hard to explain, it's a bad idea.

If the implementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea -- let's do more of those!

Avatar of Web Dreams
Web Dreams uses PythonPython

To me, this is by far the best programming language. Why? Because it’s the only language that really got me going after trying to get into programming with Java for a while. Python is powerful, easy to learn, and gets you to unsderstand other lan