Alternatives to Dart logo

Alternatives to Dart

TypeScript, Golang, JavaScript, Kotlin, and Java are the most popular alternatives and competitors to Dart.
3.9K
3.7K
+ 1
452

What is Dart and what are its top alternatives?

Dart is a programming language developed by Google that is often used for building web and mobile applications. It is known for its fast performance and strong support for building modern web applications. However, one limitation of Dart is its relatively smaller community compared to languages like JavaScript.

  1. JavaScript: JavaScript is a widely used programming language for building web applications. It is supported by all major browsers and has a large community contributing to its ecosystem. Key features include flexibility, easy integration with other technologies, and extensive libraries. However, JavaScript can sometimes be challenging for beginners due to its loose typing system.

  2. Python: Python is a versatile programming language known for its readability and simplicity. It has a large standard library and a thriving community that contributes to various frameworks and libraries. Key features include easy syntax, strong support for automation and data analysis, and scalability. However, Python can be slower compared to languages like Dart.

  3. TypeScript: TypeScript is a superset of JavaScript that adds static typing to the language. It allows developers to catch potential errors during development and improves code maintainability. Key features include type safety, better code navigation and refactoring, and compatibility with existing JavaScript code. However, TypeScript may require additional build steps compared to Dart.

  4. Kotlin: Kotlin is a modern programming language that runs on the JVM and can also be transpiled to JavaScript. It is known for its concise syntax, null safety, and interoperability with Java. Key features include expressiveness, interoperability with existing Java codebases, and support for functional programming. However, Kotlin may have a steeper learning curve compared to Dart.

  5. Swift: Swift is a programming language developed by Apple for building iOS, macOS, watchOS, and tvOS applications. It is known for its speed, safety, and modern syntax. Key features include performance optimizations, memory safety, and easy integration with Objective-C code. However, Swift is limited to Apple platforms only, unlike Dart.

  6. Rust: Rust is a systems programming language that focuses on safety, speed, and concurrency. It is designed to prevent common programming errors and offers memory safety without a garbage collector. Key features include zero-cost abstractions, fearless concurrency, and strong type system. However, Rust may have a steeper learning curve compared to Dart.

  7. Go: Go is a statically typed, compiled programming language designed for simplicity and performance. It is known for its speed, efficiency, and built-in concurrency support. Key features include fast compilation times, built-in garbage collection, and strong standard library. However, Go may lack some advanced features compared to Dart.

  8. Ruby: Ruby is a dynamic, object-oriented programming language known for its simplicity and productivity. It has an elegant syntax and a strong focus on developer happiness. Key features include readability, flexibility, and a large ecosystem of libraries and frameworks. However, Ruby may not be as performant as Dart for certain use cases.

  9. PHP: PHP is a popular server-side scripting language used for creating dynamic web pages. It is known for its ease of use, wide-spread adoption, and extensive library support. Key features include simplicity, scalability, and strong community support. However, PHP may not be as suitable for building complex web applications as Dart.

  10. C#: C# is a versatile programming language developed by Microsoft for building a wide range of applications on the .NET platform. It is known for its type safety, scalability, and performance. Key features include strong language interoperability, asynchronous programming support, and extensive tooling. However, C# may have a more verbose syntax compared to Dart.

Top Alternatives to Dart

  • TypeScript
    TypeScript

    TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript. ...

  • Golang
    Golang

    Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language. ...

  • JavaScript
    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. ...

  • Kotlin
    Kotlin

    Kotlin is a statically typed programming language for the JVM, Android and the browser, 100% interoperable with Java ...

  • Java
    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! ...

  • Flutter
    Flutter

    Flutter is a mobile app SDK to help developers and designers build modern mobile apps for iOS and Android. ...

  • Python
    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. ...

  • Swift
    Swift

    Writing code is interactive and fun, the syntax is concise yet expressive, and apps run lightning-fast. Swift is ready for your next iOS and OS X project — or for addition into your current app — because Swift code works side-by-side with Objective-C. ...

Dart alternatives & related posts

TypeScript logo

TypeScript

94.2K
502
A superset of JavaScript that compiles to clean JavaScript output
94.2K
502
PROS OF TYPESCRIPT
  • 174
    More intuitive and type safe javascript
  • 106
    Type safe
  • 80
    JavaScript superset
  • 48
    The best AltJS ever
  • 27
    Best AltJS for BackEnd
  • 15
    Powerful type system, including generics & JS features
  • 11
    Compile time errors
  • 11
    Nice and seamless hybrid of static and dynamic typing
  • 10
    Aligned with ES development for compatibility
  • 7
    Angular
  • 7
    Structural, rather than nominal, subtyping
  • 5
    Starts and ends with JavaScript
  • 1
    Garbage collection
CONS OF TYPESCRIPT
  • 5
    Code may look heavy and confusing
  • 4
    Hype

related TypeScript posts

Yshay Yaacobi

Our first experience with .NET core was when we developed our OSS feature management platform - Tweek (https://github.com/soluto/tweek). We wanted to create a solution that is able to run anywhere (super important for OSS), has excellent performance characteristics and can fit in a multi-container architecture. We decided to implement our rule engine processor in F# , our main service was implemented in C# and other components were built using JavaScript / TypeScript and Go.

Visual Studio Code worked really well for us as well, it worked well with all our polyglot services and the .Net core integration had great cross-platform developer experience (to be fair, F# was a bit trickier) - actually, each of our team members used a different OS (Ubuntu, macos, windows). Our production deployment ran for a time on Docker Swarm until we've decided to adopt Kubernetes with almost seamless migration process.

After our positive experience of running .Net core workloads in containers and developing Tweek's .Net services on non-windows machines, C# had gained back some of its popularity (originally lost to Node.js), and other teams have been using it for developing microservices, k8s sidecars (like https://github.com/Soluto/airbag), cli tools, serverless functions and other projects...

See more
Adebayo Akinlaja
Engineering Manager at Andela · | 30 upvotes · 3.4M views

I picked up an idea to develop and it was no brainer I had to go with React for the frontend. I was faced with challenges when it came to what component framework to use. I had worked extensively with Material-UI but I needed something different that would offer me wider range of well customized components (I became pretty slow at styling). I brought in Evergreen after several sampling and reads online but again, after several prototype development against Evergreen—since I was using TypeScript and I had to import custom Type, it felt exhaustive. After I validated Evergreen with the designs of the idea I was developing, I also noticed I might have to do a lot of styling. I later stumbled on Material Kit, the one specifically made for React . It was promising with beautifully crafted components, most of which fits into the designs pages I had on ground.

A major problem of Material Kit for me is it isn't written in TypeScript and there isn't any plans to support its TypeScript version. I rolled up my sleeve and started converting their components to TypeScript and if you'll ask me, I am still on it.

In summary, I used the Create React App with TypeScript support and I am spending some time converting Material Kit to TypeScript before I start developing against it. All of these components are going to be hosted on Bit.

If you feel I am crazy or I have gotten something wrong, I'll be willing to listen to your opinion. Also, if you want to have a share of whatever TypeScript version of Material Kit I end up coming up with, let me know.

See more
Golang logo

Golang

22.5K
3.3K
An open source programming language that makes it easy to build simple, reliable, and efficient software
22.5K
3.3K
PROS OF GOLANG
  • 553
    High-performance
  • 397
    Simple, minimal syntax
  • 364
    Fun to write
  • 303
    Easy concurrency support via goroutines
  • 273
    Fast compilation times
  • 195
    Goroutines
  • 181
    Statically linked binaries that are simple to deploy
  • 151
    Simple compile build/run procedures
  • 137
    Backed by google
  • 137
    Great community
  • 53
    Garbage collection built-in
  • 47
    Built-in Testing
  • 44
    Excellent tools - gofmt, godoc etc
  • 40
    Elegant and concise like Python, fast like C
  • 37
    Awesome to Develop
  • 26
    Used for Docker
  • 26
    Flexible interface system
  • 25
    Great concurrency pattern
  • 24
    Deploy as executable
  • 21
    Open-source Integration
  • 19
    Easy to read
  • 17
    Fun to write and so many feature out of the box
  • 17
    Go is God
  • 14
    Powerful and simple
  • 14
    Easy to deploy
  • 14
    Its Simple and Heavy duty
  • 14
    Concurrency
  • 13
    Best language for concurrency
  • 11
    Safe GOTOs
  • 11
    Rich standard library
  • 10
    Clean code, high performance
  • 10
    Easy setup
  • 10
    High performance
  • 9
    Simplicity, Concurrency, Performance
  • 8
    Cross compiling
  • 8
    Single binary avoids library dependency issues
  • 8
    Hassle free deployment
  • 7
    Used by Giants of the industry
  • 7
    Simple, powerful, and great performance
  • 7
    Gofmt
  • 6
    Garbage Collection
  • 5
    WYSIWYG
  • 5
    Very sophisticated syntax
  • 5
    Excellent tooling
  • 4
    Keep it simple and stupid
  • 4
    Widely used
  • 4
    Kubernetes written on Go
  • 2
    No generics
  • 1
    Looks not fancy, but promoting pragmatic idioms
  • 1
    Operator goto
CONS OF GOLANG
  • 42
    You waste time in plumbing code catching errors
  • 25
    Verbose
  • 23
    Packages and their path dependencies are braindead
  • 16
    Google's documentations aren't beginer friendly
  • 15
    Dependency management when working on multiple projects
  • 10
    Automatic garbage collection overheads
  • 8
    Uncommon syntax
  • 7
    Type system is lacking (no generics, etc)
  • 5
    Collection framework is lacking (list, set, map)
  • 3
    Best programming language
  • 1
    A failed experiment to combine c and python

related Golang posts

Conor Myhrvold
Tech Brand Mgr, Office of CTO at Uber · | 44 upvotes · 12.7M views

How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:

https://eng.uber.com/distributed-tracing/

(GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

See more
Nick Parsons
Building cool things on the internet 🛠️ at Stream · | 35 upvotes · 4.3M views

Winds 2.0 is an open source Podcast/RSS reader developed by Stream with a core goal to enable a wide range of developers to contribute.

We chose JavaScript because nearly every developer knows or can, at the very least, read JavaScript. With ES6 and Node.js v10.x.x, it’s become a very capable language. Async/Await is powerful and easy to use (Async/Await vs Promises). Babel allows us to experiment with next-generation JavaScript (features that are not in the official JavaScript spec yet). Yarn allows us to consistently install packages quickly (and is filled with tons of new tricks)

We’re using JavaScript for everything – both front and backend. Most of our team is experienced with Go and Python, so Node was not an obvious choice for this app.

Sure... there will be haters who refuse to acknowledge that there is anything remotely positive about JavaScript (there are even rants on Hacker News about Node.js); however, without writing completely in JavaScript, we would not have seen the results we did.

#FrameworksFullStack #Languages

See more
JavaScript logo

JavaScript

361.4K
8.1K
Lightweight, interpreted, object-oriented language with first-class functions
361.4K
8.1K
PROS OF JAVASCRIPT
  • 1.7K
    Can be used on frontend/backend
  • 1.5K
    It's everywhere
  • 1.2K
    Lots of great frameworks
  • 898
    Fast
  • 746
    Light weight
  • 425
    Flexible
  • 392
    You can't get a device today that doesn't run js
  • 286
    Non-blocking i/o
  • 237
    Ubiquitousness
  • 191
    Expressive
  • 55
    Extended functionality to web pages
  • 49
    Relatively easy language
  • 46
    Executed on the client side
  • 30
    Relatively fast to the end user
  • 25
    Pure Javascript
  • 21
    Functional programming
  • 15
    Async
  • 13
    Full-stack
  • 12
    Future Language of The Web
  • 12
    Setup is easy
  • 12
    Its everywhere
  • 11
    Because I love functions
  • 11
    JavaScript is the New PHP
  • 10
    Like it or not, JS is part of the web standard
  • 9
    Easy
  • 9
    Can be used in backend, frontend and DB
  • 9
    Expansive community
  • 9
    Everyone use it
  • 8
    Easy to hire developers
  • 8
    Most Popular Language in the World
  • 8
    For the good parts
  • 8
    Can be used both as frontend and backend as well
  • 8
    No need to use PHP
  • 8
    Powerful
  • 7
    Evolution of C
  • 7
    Its fun and fast
  • 7
    It's fun
  • 7
    Nice
  • 7
    Versitile
  • 7
    Hard not to use
  • 7
    Popularized Class-Less Architecture & Lambdas
  • 7
    Agile, packages simple to use
  • 7
    Supports lambdas and closures
  • 7
    Love-hate relationship
  • 7
    Photoshop has 3 JS runtimes built in
  • 6
    1.6K Can be used on frontend/backend
  • 6
    Client side JS uses the visitors CPU to save Server Res
  • 6
    It let's me use Babel & Typescript
  • 6
    Easy to make something
  • 6
    Can be used on frontend/backend/Mobile/create PRO Ui
  • 5
    Client processing
  • 5
    What to add
  • 5
    Everywhere
  • 5
    Scope manipulation
  • 5
    Function expressions are useful for callbacks
  • 5
    Stockholm Syndrome
  • 5
    Promise relationship
  • 5
    Clojurescript
  • 4
    Only Programming language on browser
  • 4
    Because it is so simple and lightweight
  • 1
    Easy to learn and test
  • 1
    Easy to understand
  • 1
    Not the best
  • 1
    Subskill #4
  • 1
    Hard to learn
  • 1
    Test2
  • 1
    Test
  • 1
    Easy to learn
  • 0
    Hard 彤
CONS OF JAVASCRIPT
  • 22
    A constant moving target, too much churn
  • 20
    Horribly inconsistent
  • 15
    Javascript is the New PHP
  • 9
    No ability to monitor memory utilitization
  • 8
    Shows Zero output in case of ANY error
  • 7
    Thinks strange results are better than errors
  • 6
    Can be ugly
  • 3
    No GitHub
  • 2
    Slow
  • 0
    HORRIBLE DOCUMENTS, faulty code, repo has bugs

related JavaScript posts

Zach Holman

Oof. I have truly hated JavaScript for a long time. Like, for over twenty years now. Like, since the Clinton administration. It's always been a nightmare to deal with all of the aspects of that silly language.

But wowza, things have changed. Tooling is just way, way better. I'm primarily web-oriented, and using React and Apollo together the past few years really opened my eyes to building rich apps. And I deeply apologize for using the phrase rich apps; I don't think I've ever said such Enterprisey words before.

But yeah, things are different now. I still love Rails, and still use it for a lot of apps I build. But it's that silly rich apps phrase that's the problem. Users have way more comprehensive expectations than they did even five years ago, and the JS community does a good job at building tools and tech that tackle the problems of making heavy, complicated UI and frontend work.

Obviously there's a lot of things happening here, so just saying "JavaScript isn't terrible" might encompass a huge amount of libraries and frameworks. But if you're like me, yeah, give things another shot- I'm somehow not hating on JavaScript anymore and... gulp... I kinda love it.

See more
Conor Myhrvold
Tech Brand Mgr, Office of CTO at Uber · | 44 upvotes · 12.7M views

How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:

https://eng.uber.com/distributed-tracing/

(GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

See more
Kotlin logo

Kotlin

15.3K
648
Statically typed Programming Language targeting JVM and JavaScript
15.3K
648
PROS OF KOTLIN
  • 73
    Interoperable with Java
  • 55
    Functional Programming support
  • 51
    Null Safety
  • 46
    Official Android support
  • 44
    Backed by JetBrains
  • 37
    Concise
  • 36
    Modern Multiplatform Applications
  • 28
    Expressive Syntax
  • 27
    Target to JVM
  • 26
    Coroutines
  • 24
    Open Source
  • 19
    Statically Typed
  • 19
    Practical elegance
  • 17
    Android support
  • 17
    Type Inference
  • 14
    Readable code
  • 13
    Powerful as Scala, simple as Python, plus coroutines <3
  • 12
    Better Java
  • 10
    Pragmatic
  • 9
    Lambda
  • 8
    Better language for android
  • 8
    Expressive DSLs
  • 8
    Target to JavaScript
  • 6
    Used for Android
  • 6
    Less boilerplate code
  • 5
    Fast Programming language
  • 5
    Less code
  • 4
    Native
  • 4
    Less boiler plate code
  • 4
    Friendly community
  • 4
    Functional Programming Language
  • 3
    Spring
  • 3
    Official Google Support
  • 2
    Latest version of Java
  • 1
    Well-compromised featured Java alternative
CONS OF KOTLIN
  • 7
    Java interop makes users write Java in Kotlin
  • 4
    Frequent use of {} keys
  • 2
    Hard to make teams adopt the Kotlin style
  • 2
    Nonullpointer Exception
  • 1
    Friendly community
  • 1
    Slow compiler
  • 1
    No boiler plate code

related Kotlin posts

Shivam Bhargava
AVP - Business at VAYUZ Technologies Pvt. Ltd. · | 22 upvotes · 879.5K views

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
Jakub Olan
Node.js Software Engineer · | 17 upvotes · 813.1K views

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
Java logo

Java

135.4K
3.7K
A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible
135.4K
3.7K
PROS OF JAVA
  • 603
    Great libraries
  • 446
    Widely used
  • 401
    Excellent tooling
  • 396
    Huge amount of documentation available
  • 334
    Large pool of developers available
  • 208
    Open source
  • 203
    Excellent performance
  • 158
    Great development
  • 150
    Used for android
  • 148
    Vast array of 3rd party libraries
  • 60
    Compiled Language
  • 52
    Used for Web
  • 46
    Managed memory
  • 46
    High Performance
  • 45
    Native threads
  • 43
    Statically typed
  • 35
    Easy to read
  • 33
    Great Community
  • 29
    Reliable platform
  • 24
    Sturdy garbage collection
  • 24
    JVM compatibility
  • 22
    Cross Platform Enterprise Integration
  • 20
    Good amount of APIs
  • 20
    Universal platform
  • 18
    Great Support
  • 14
    Great ecosystem
  • 11
    Backward compatible
  • 11
    Lots of boilerplate
  • 10
    Everywhere
  • 9
    Excellent SDK - JDK
  • 7
    Cross-platform
  • 7
    It's Java
  • 7
    Static typing
  • 6
    Portability
  • 6
    Mature language thus stable systems
  • 6
    Better than Ruby
  • 6
    Long term language
  • 5
    Used for Android development
  • 5
    Clojure
  • 5
    Vast Collections Library
  • 4
    Best martial for design
  • 4
    Most developers favorite
  • 4
    Old tech
  • 3
    Testable
  • 3
    History
  • 3
    Javadoc
  • 3
    Stable platform, which many new languages depend on
  • 3
    Great Structure
  • 2
    Faster than python
  • 2
    Type Safe
  • 0
    Job
CONS OF JAVA
  • 33
    Verbosity
  • 27
    NullpointerException
  • 17
    Nightmare to Write
  • 16
    Overcomplexity is praised in community culture
  • 12
    Boiler plate code
  • 8
    Classpath hell prior to Java 9
  • 6
    No REPL
  • 4
    No property
  • 3
    Code are too long
  • 2
    Non-intuitive generic implementation
  • 2
    There is not optional parameter
  • 2
    Floating-point errors
  • 1
    Java's too statically, stronglly, and strictly typed
  • 1
    Returning Wildcard Types
  • 1
    Terrbible compared to Python/Batch Perormence

related Java posts

Conor Myhrvold
Tech Brand Mgr, Office of CTO at Uber · | 44 upvotes · 12.7M views

How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:

https://eng.uber.com/distributed-tracing/

(GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

See more
Kamil Kowalski
Lead Architect at Fresha · | 28 upvotes · 4.1M views

When you think about test automation, it’s crucial to make it everyone’s responsibility (not just QA Engineers'). We started with Selenium and Java, but with our platform revolving around Ruby, Elixir and JavaScript, QA Engineers were left alone to automate tests. Cypress was the answer, as we could switch to JS and simply involve more people from day one. There's a downside too, as it meant testing on Chrome only, but that was "good enough" for us + if really needed we can always cover some specific cases in a different way.

See more
Flutter logo

Flutter

16.9K
1.2K
Cross-platform mobile framework from Google
16.9K
1.2K
PROS OF FLUTTER
  • 143
    Hot Reload
  • 123
    Cross platform
  • 105
    Performance
  • 89
    Backed by Google
  • 73
    Compiled into Native Code
  • 61
    Fast Development
  • 58
    Open Source
  • 53
    Fast Prototyping
  • 49
    Single Codebase
  • 48
    Expressive and Flexible UI
  • 36
    Reactive Programming
  • 34
    Material Design
  • 30
    Dart
  • 29
    Widget-based
  • 26
    Target to Fuchsia
  • 20
    IOS + Android
  • 17
    Easy to learn
  • 16
    Great CLI Support
  • 14
    You can use it as mobile, web, Server development
  • 14
    Tooling
  • 13
    Debugging quickly
  • 13
    Have built-in Material theme
  • 12
    Target to Android
  • 12
    Good docs & sample code
  • 12
    Community
  • 11
    Support by multiple IDE: Android Studio, VS Code, XCode
  • 10
    Written by Dart, which is easy to read code
  • 10
    Easy Testing Support
  • 9
    Target to iOS
  • 9
    Real platform free framework of the future
  • 9
    Have built-in Cupertino theme
  • 8
    Easy to Widget Test
  • 8
    Easy to Unit Test
  • 1
    Large Community
CONS OF FLUTTER
  • 29
    Need to learn Dart
  • 11
    Lack of community support
  • 10
    No 3D Graphics Engine Support
  • 8
    Graphics programming
  • 6
    Lack of friendly documentation
  • 2
    Lack of promotion
  • 1
    Https://iphtechnologies.com/difference-between-flutter

related Flutter posts

Vaibhav Taunk
Team Lead at Technovert · | 31 upvotes · 4.2M views

I am starting to become a full-stack developer, by choosing and learning .NET Core for API Development, Angular CLI / React for UI Development, MongoDB for database, as it a NoSQL DB and Flutter / React Native for Mobile App Development. Using Postman, Markdown and Visual Studio Code for development.

See more

The only two programming languages I know are Python and Dart, I fall in love with Dart when I learned about the type safeness, ease of refactoring, and the help of the IDE. I have an idea for an app, a simple app, but I need SEO and server rendering, and I also want it to be available on all platforms. I can't use Flutter or Dart anymore because of that. I have been searching and looks like there is no way to avoid learning HTML and CSS for this. I want to use Supabase as BASS, at the moment I think that I have two options if I want to learn the least amount of things because of my lack of time available:

  1. Quasar Framework: They claim that I can do all the things I need, but I have to use JavaScript, and I am going to have all those bugs with a type-safe programming language avoidable. I guess I can use TypeScript?, but that means learning both, and I am not sure if I will be able to use 100% Typescript. Besides Vue.js, Node.js, etc.

  2. Blazor and .NET: There is MAUI with razor bindings in .Net now, and also a Blazor server. And as far as I can see, the transition from Dart to C# will be easy. I guess that I have to learn some Javascript here and there, but I have to less things I guess, am I wrong? But Blazor is a new technology, Vue is widely used.

See more
Python logo

Python

245.2K
6.9K
A clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.
245.2K
6.9K
PROS OF PYTHON
  • 1.2K
    Great libraries
  • 963
    Readable code
  • 847
    Beautiful code
  • 788
    Rapid development
  • 691
    Large community
  • 438
    Open source
  • 393
    Elegant
  • 282
    Great community
  • 273
    Object oriented
  • 221
    Dynamic typing
  • 77
    Great standard library
  • 60
    Very fast
  • 55
    Functional programming
  • 50
    Easy to learn
  • 46
    Scientific computing
  • 35
    Great documentation
  • 29
    Productivity
  • 28
    Matlab alternative
  • 28
    Easy to read
  • 24
    Simple is better than complex
  • 20
    It's the way I think
  • 19
    Imperative
  • 18
    Very programmer and non-programmer friendly
  • 18
    Free
  • 17
    Machine learning support
  • 17
    Powerfull language
  • 16
    Fast and simple
  • 14
    Scripting
  • 12
    Explicit is better than implicit
  • 11
    Ease of development
  • 10
    Clear and easy and powerfull
  • 9
    Unlimited power
  • 8
    Import antigravity
  • 8
    It's lean and fun to code
  • 7
    Print "life is short, use python"
  • 7
    Python has great libraries for data processing
  • 6
    High Documented language
  • 6
    I love snakes
  • 6
    Readability counts
  • 6
    Rapid Prototyping
  • 6
    Now is better than never
  • 6
    Although practicality beats purity
  • 6
    Flat is better than nested
  • 6
    Great for tooling
  • 6
    There should be one-- and preferably only one --obvious
  • 6
    Fast coding and good for competitions
  • 5
    Web scraping
  • 5
    Lists, tuples, dictionaries
  • 5
    Great for analytics
  • 4
    Beautiful is better than ugly
  • 4
    Easy to learn and use
  • 4
    Easy to setup and run smooth
  • 4
    Multiple Inheritence
  • 4
    CG industry needs
  • 4
    Socially engaged community
  • 4
    Complex is better than complicated
  • 4
    Plotting
  • 4
    Simple and easy to learn
  • 3
    List comprehensions
  • 3
    Powerful language for AI
  • 3
    Flexible and easy
  • 3
    It is Very easy , simple and will you be love programmi
  • 3
    Many types of collections
  • 3
    If the implementation is easy to explain, it may be a g
  • 3
    If the implementation is hard to explain, it's a bad id
  • 3
    Special cases aren't special enough to break the rules
  • 3
    Pip install everything
  • 3
    No cruft
  • 3
    Generators
  • 3
    Import this
  • 2
    Batteries included
  • 2
    Securit
  • 2
    Can understand easily who are new to programming
  • 2
    Should START with this but not STICK with This
  • 2
    A-to-Z
  • 2
    Because of Netflix
  • 2
    Only one way to do it
  • 2
    Better outcome
  • 2
    Good for hacking
  • 1
    Best friend for NLP
  • 1
    Sexy af
  • 1
    Procedural programming
  • 1
    Automation friendly
  • 1
    Slow
  • 0
    Keep it simple
  • 0
    Powerful
  • 0
    Ni
CONS OF PYTHON
  • 53
    Still divided between python 2 and python 3
  • 28
    Performance impact
  • 26
    Poor syntax for anonymous functions
  • 22
    GIL
  • 19
    Package management is a mess
  • 14
    Too imperative-oriented
  • 12
    Hard to understand
  • 12
    Dynamic typing
  • 12
    Very slow
  • 8
    Indentations matter a lot
  • 8
    Not everything is expression
  • 7
    Incredibly slow
  • 7
    Explicit self parameter in methods
  • 6
    Requires C functions for dynamic modules
  • 6
    Poor DSL capabilities
  • 6
    No anonymous functions
  • 5
    Fake object-oriented programming
  • 5
    Threading
  • 5
    The "lisp style" whitespaces
  • 5
    Official documentation is unclear.
  • 5
    Hard to obfuscate
  • 5
    Circular import
  • 4
    Lack of Syntax Sugar leads to "the pyramid of doom"
  • 4
    The benevolent-dictator-for-life quit
  • 4
    Not suitable for autocomplete
  • 2
    Meta classes
  • 1
    Training wheels (forced indentation)

related Python posts

Conor Myhrvold
Tech Brand Mgr, Office of CTO at Uber · | 44 upvotes · 12.7M views

How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:

https://eng.uber.com/distributed-tracing/

(GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

See more
Nick Parsons
Building cool things on the internet 🛠️ at Stream · | 35 upvotes · 4.3M views

Winds 2.0 is an open source Podcast/RSS reader developed by Stream with a core goal to enable a wide range of developers to contribute.

We chose JavaScript because nearly every developer knows or can, at the very least, read JavaScript. With ES6 and Node.js v10.x.x, it’s become a very capable language. Async/Await is powerful and easy to use (Async/Await vs Promises). Babel allows us to experiment with next-generation JavaScript (features that are not in the official JavaScript spec yet). Yarn allows us to consistently install packages quickly (and is filled with tons of new tricks)

We’re using JavaScript for everything – both front and backend. Most of our team is experienced with Go and Python, so Node was not an obvious choice for this app.

Sure... there will be haters who refuse to acknowledge that there is anything remotely positive about JavaScript (there are even rants on Hacker News about Node.js); however, without writing completely in JavaScript, we would not have seen the results we did.

#FrameworksFullStack #Languages

See more
Swift logo

Swift

20.3K
1.3K
An innovative new programming language for Cocoa and Cocoa Touch.
20.3K
1.3K
PROS OF SWIFT
  • 259
    Ios
  • 180
    Elegant
  • 126
    Not Objective-C
  • 107
    Backed by apple
  • 93
    Type inference
  • 61
    Generics
  • 54
    Playgrounds
  • 49
    Semicolon free
  • 38
    OSX
  • 36
    Tuples offer compound variables
  • 24
    Clean Syntax
  • 24
    Easy to learn
  • 22
    Open Source
  • 21
    Beautiful Code
  • 20
    Functional
  • 12
    Dynamic
  • 12
    Linux
  • 11
    Protocol-oriented programming
  • 10
    Promotes safe, readable code
  • 9
    No S-l-o-w JVM
  • 8
    Explicit optionals
  • 7
    Storyboard designer
  • 6
    Optionals
  • 6
    Type safety
  • 5
    Super addicting language, great people, open, elegant
  • 5
    Best UI concept
  • 4
    Its friendly
  • 4
    Highly Readable codes
  • 4
    Fail-safe
  • 4
    Powerful
  • 4
    Faster and looks better
  • 4
    Swift is faster than Objective-C
  • 4
    Feels like a better C++
  • 3
    Easy to learn and work
  • 3
    Much more fun
  • 3
    Protocol extensions
  • 3
    Native
  • 3
    Its fun and damn fast
  • 3
    Strong Type safety
  • 3
    Easy to Maintain
  • 2
    Protocol as type
  • 2
    All Cons C# and Java Swift Already has
  • 2
    Esay
  • 2
    MacOS
  • 2
    Type Safe
  • 2
    Protocol oriented programming
  • 1
    Can interface with C easily
  • 1
    Actually don't have to own a mac
  • 1
    Free from Memory Leak
  • 1
    Swift is easier to understand for non-iOS developers.
  • 1
    Numbers with underbar
  • 1
    Optional chain
  • 1
    Great for Multi-Threaded Programming
  • 1
    Runs Python 8 times faster
  • 1
    Objec
CONS OF SWIFT
  • 6
    Must own a mac
  • 2
    Memory leaks are not uncommon
  • 1
    Very irritatingly picky about things that’s
  • 1
    Complicated process for exporting modules
  • 1
    Its classes compile to roughly 300 lines of assembly
  • 1
    Is a lot more effort than lua to make simple functions
  • 0
    Overly complex options makes it easy to create bad code

related Swift posts

Shivam Bhargava
AVP - Business at VAYUZ Technologies Pvt. Ltd. · | 22 upvotes · 879.5K views

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
Conor Myhrvold
Tech Brand Mgr, Office of CTO at Uber · | 13 upvotes · 2.1M views

Excerpts from how we developed (and subsequently open sourced) Uber's cross-platform mobile architecture framework, RIBs , going from Objective-C to Swift in the process for iOS: https://github.com/uber/RIBs

Uber’s new application architecture (RIBs) extensively uses protocols to keep its various components decoupled and testable. We used this architecture for the first time in our new rider application and moved our primary language from Objective-C to Swift. Since Swift is a very static language, unit testing became problematic. Dynamic languages have good frameworks to build test mocks, stubs, or stand-ins by dynamically creating or modifying existing concrete classes.

Needless to say, we were not very excited about the additional complexity of manually writing and maintaining mock implementations for each of our thousands of protocols.

The information required to generate mock classes already exists in the Swift protocol. For Uber’s use case, we set out to create tooling that would let engineers automatically generate test mocks for any protocol they wanted by simply annotating them.

The iOS codebase for our rider application alone incorporates around 1,500 of these generated mocks. Without our code generation tool, all of these would have to be written and maintained by hand, which would have made testing much more time-intensive. Auto-generated mocks have contributed a lot to the unit test coverage that we have today.

We built these code generation tools ourselves for a number of reasons, including that there weren’t many open source tools available at the time we started our effort. Today, there are some great open source tools to generate resource accessors, like SwiftGen. And Sourcery can help you with generic code generation needs:

https://eng.uber.com/code-generation/ https://eng.uber.com/driver-app-ribs-architecture/

(GitHub : https://github.com/uber/RIBs )

See more