What is Node.js and what are its top alternatives?
Top Alternatives to Node.js
- AngularJS
AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTML’s syntax to express your application’s components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding. ...
- PHP
Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world. ...
- 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. ...
- 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. ...
- React
Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project. ...
- Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. ...
- ASP.NET
.NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications. ...
- 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! ...
Node.js alternatives & related posts
- Quick to develop889
- Great mvc589
- Powerful573
- Restful520
- Backed by google505
- Two-way data binding349
- Javascript343
- Open source329
- Dependency injection307
- Readable197
- Fast75
- Directives65
- Great community63
- Free57
- Extend html vocabulary38
- Components29
- Easy to test26
- Easy to learn25
- Easy to templates24
- Great documentation23
- Easy to start21
- Awesome19
- Light weight18
- Angular 2.015
- Efficient14
- Javascript mvw framework14
- Great extensions14
- Easy to prototype with11
- High performance9
- Coffeescript9
- Mvc8
- Two-way binding8
- Lots of community modules8
- Easy to e2e7
- Clean and keeps code readable7
- One of the best frameworks6
- Easy for small applications6
- Fast development5
- Works great with jquery5
- The two-way Data Binding is awesome4
- I do not touch DOM4
- Typescript3
- Community3
- Hierarchical Data Structure3
- Be a developer, not a plumber.3
- Declarative programming3
- Dart3
- Very very useful and fast framework for development2
- Common Place2
- Great2
- Amazing community support2
- Readable code2
- Programming fun again2
- The powerful of binding, routing and controlling routes2
- Scopes2
- Consistency with backend architecture if using Nest2
- Fkin awesome2
- Opinionated in the right areas2
- Supports api , easy development2
- Linear learning curve2
- Fk react, all my homies hate react1
- Complex11
- Dependency injection3
- Event Listener Overload2
- Learning Curve2
- Hard to learn1
related AngularJS posts
Our whole Node.js backend stack consists of the following tools:
- Lerna as a tool for multi package and multi repository management
- npm as package manager
- NestJS as Node.js framework
- TypeScript as programming language
- ExpressJS as web server
- Swagger UI for visualizing and interacting with the API’s resources
- Postman as a tool for API development
- TypeORM as object relational mapping layer
- JSON Web Token for access token management
The main reason we have chosen Node.js over PHP is related to the following artifacts:
- Made for the web and widely in use: Node.js is a software platform for developing server-side network services. Well-known projects that rely on Node.js include the blogging software Ghost, the project management tool Trello and the operating system WebOS. Node.js requires the JavaScript runtime environment V8, which was specially developed by Google for the popular Chrome browser. This guarantees a very resource-saving architecture, which qualifies Node.js especially for the operation of a web server. Ryan Dahl, the developer of Node.js, released the first stable version on May 27, 2009. He developed Node.js out of dissatisfaction with the possibilities that JavaScript offered at the time. The basic functionality of Node.js has been mapped with JavaScript since the first version, which can be expanded with a large number of different modules. The current package managers (npm or Yarn) for Node.js know more than 1,000,000 of these modules.
- Fast server-side solutions: Node.js adopts the JavaScript "event-loop" to create non-blocking I/O applications that conveniently serve simultaneous events. With the standard available asynchronous processing within JavaScript/TypeScript, highly scalable, server-side solutions can be realized. The efficient use of the CPU and the RAM is maximized and more simultaneous requests can be processed than with conventional multi-thread servers.
- A language along the entire stack: Widely used frameworks such as React or AngularJS or Vue.js, which we prefer, are written in JavaScript/TypeScript. If Node.js is now used on the server side, you can use all the advantages of a uniform script language throughout the entire application development. The same language in the back- and frontend simplifies the maintenance of the application and also the coordination within the development team.
- Flexibility: Node.js sets very few strict dependencies, rules and guidelines and thus grants a high degree of flexibility in application development. There are no strict conventions so that the appropriate architecture, design structures, modules and features can be freely selected for the development.





Our whole Vue.js frontend stack (incl. SSR) consists of the following tools:
- Nuxt.js consisting of Vue CLI, Vue Router, vuex, Webpack and Sass (Bundler for HTML5, CSS 3), Babel (Transpiler for JavaScript),
- Vue Styleguidist as our style guide and pool of developed Vue.js components
- Vuetify as Material Component Framework (for fast app development)
- TypeScript as programming language
- Apollo / GraphQL (incl. GraphiQL) for data access layer (https://apollo.vuejs.org/)
- ESLint, TSLint and Prettier for coding style and code analyzes
- Jest as testing framework
- Google Fonts and Font Awesome for typography and icon toolkit
- NativeScript-Vue for mobile development
The main reason we have chosen Vue.js over React and AngularJS is related to the following artifacts:
- Empowered HTML. Vue.js has many similar approaches with Angular. This helps to optimize HTML blocks handling with the use of different components.
- Detailed documentation. Vue.js has very good documentation which can fasten learning curve for developers.
- Adaptability. It provides a rapid switching period from other frameworks. It has similarities with Angular and React in terms of design and architecture.
- Awesome integration. Vue.js can be used for both building single-page applications and more difficult web interfaces of apps. Smaller interactive parts can be easily integrated into the existing infrastructure with no negative effect on the entire system.
- Large scaling. Vue.js can help to develop pretty large reusable templates.
- Tiny size. Vue.js weights around 20KB keeping its speed and flexibility. It allows reaching much better performance in comparison to other frameworks.
PHP
- Large community951
- Open source817
- Easy deployment765
- Great frameworks487
- The best glue on the web386
- Continual improvements235
- Good old web184
- Web foundation145
- Community packages135
- Tool support125
- Used by wordpress35
- Excellent documentation34
- Used by Facebook28
- Because of Symfony23
- Dynamic Language21
- Easy to learn16
- Cheap hosting16
- Awesome Language and easy to implement14
- Fast development14
- Very powerful web language14
- Composer13
- Because of Laravel12
- Flexibility, syntax, extensibility11
- Easiest deployment8
- Fastestest Time to Version 1.0 Deployments7
- Worst popularity quality ratio7
- Fast7
- Short development lead times7
- Readable Code7
- Faster then ever6
- Most of the web uses it6
- Simple, flexible yet Scalable5
- Open source and large community5
- Cheap to own4
- Easy to learn, a big community, lot of frameworks4
- Is like one zip of air4
- Large community, easy setup, easy deployment, framework4
- Has the best ecommerce(Magento,Prestashop,Opencart,etc)4
- Easy to use and learn4
- I have no choice :(4
- Open source and great framework4
- Great developer experience3
- Fault tolerance2
- Great flexibility. From fast prototyping to large apps2
- Interpreted at the run time2
- FFI2
- Safe the planet2
- Hard not to use2
- Used by STOMT2
- Walk away2
- Secure1
- Simplesaml1
- Bando1
- Secure0
- So easy to learn, good practices are hard to find21
- Inconsistent API16
- Fragmented community8
- Not secure6
- No routing system3
- Old2
- Hard to debug2
related PHP posts
When I joined NYT there was already broad dissatisfaction with the LAMP (Linux Apache HTTP Server MySQL PHP) Stack and the front end framework, in particular. So, I wasn't passing judgment on it. I mean, LAMP's fine, you can do good work in LAMP. It's a little dated at this point, but it's not ... I didn't want to rip it out for its own sake, but everyone else was like, "We don't like this, it's really inflexible." And I remember from being outside the company when that was called MIT FIVE when it had launched. And been observing it from the outside, and I was like, you guys took so long to do that and you did it so carefully, and yet you're not happy with your decisions. Why is that? That was more the impetus. If we're going to do this again, how are we going to do it in a way that we're gonna get a better result?
So we're moving quickly away from LAMP, I would say. So, right now, the new front end is React based and using Apollo. And we've been in a long, protracted, gradual rollout of the core experiences.
React is now talking to GraphQL as a primary API. There's a Node.js back end, to the front end, which is mainly for server-side rendering, as well.
Behind there, the main repository for the GraphQL server is a big table repository, that we call Bodega because it's a convenience store. And that reads off of a Kafka pipeline.
Our whole Node.js backend stack consists of the following tools:
- Lerna as a tool for multi package and multi repository management
- npm as package manager
- NestJS as Node.js framework
- TypeScript as programming language
- ExpressJS as web server
- Swagger UI for visualizing and interacting with the API’s resources
- Postman as a tool for API development
- TypeORM as object relational mapping layer
- JSON Web Token for access token management
The main reason we have chosen Node.js over PHP is related to the following artifacts:
- Made for the web and widely in use: Node.js is a software platform for developing server-side network services. Well-known projects that rely on Node.js include the blogging software Ghost, the project management tool Trello and the operating system WebOS. Node.js requires the JavaScript runtime environment V8, which was specially developed by Google for the popular Chrome browser. This guarantees a very resource-saving architecture, which qualifies Node.js especially for the operation of a web server. Ryan Dahl, the developer of Node.js, released the first stable version on May 27, 2009. He developed Node.js out of dissatisfaction with the possibilities that JavaScript offered at the time. The basic functionality of Node.js has been mapped with JavaScript since the first version, which can be expanded with a large number of different modules. The current package managers (npm or Yarn) for Node.js know more than 1,000,000 of these modules.
- Fast server-side solutions: Node.js adopts the JavaScript "event-loop" to create non-blocking I/O applications that conveniently serve simultaneous events. With the standard available asynchronous processing within JavaScript/TypeScript, highly scalable, server-side solutions can be realized. The efficient use of the CPU and the RAM is maximized and more simultaneous requests can be processed than with conventional multi-thread servers.
- A language along the entire stack: Widely used frameworks such as React or AngularJS or Vue.js, which we prefer, are written in JavaScript/TypeScript. If Node.js is now used on the server side, you can use all the advantages of a uniform script language throughout the entire application development. The same language in the back- and frontend simplifies the maintenance of the application and also the coordination within the development team.
- Flexibility: Node.js sets very few strict dependencies, rules and guidelines and thus grants a high degree of flexibility in application development. There are no strict conventions so that the appropriate architecture, design structures, modules and features can be freely selected for the development.
Python
- Great libraries1.2K
- Readable code956
- Beautiful code840
- Rapid development783
- Large community687
- Open source431
- Elegant389
- Great community280
- Object oriented272
- Dynamic typing216
- Great standard library77
- Very fast58
- Functional programming53
- Easy to learn46
- Scientific computing45
- Great documentation35
- Matlab alternative28
- Productivity27
- Easy to read27
- Simple is better than complex23
- It's the way I think20
- Imperative19
- Free18
- Very programmer and non-programmer friendly17
- Powerfull language16
- Machine learning support16
- Fast and simple15
- Scripting14
- Explicit is better than implicit12
- Ease of development10
- Unlimited power9
- Clear and easy and powerfull9
- Import antigravity8
- Print "life is short, use python"7
- It's lean and fun to code7
- Now is better than never6
- Fast coding and good for competitions6
- There should be one-- and preferably only one --obvious6
- High Documented language6
- I love snakes6
- Although practicality beats purity6
- Python has great libraries for data processing6
- Flat is better than nested6
- Great for tooling6
- Rapid Prototyping5
- Readability counts5
- Lists, tuples, dictionaries4
- Web scraping4
- CG industry needs4
- Great for analytics4
- Socially engaged community4
- Complex is better than complicated4
- Multiple Inheritence4
- Beautiful is better than ugly4
- Plotting4
- Simple and easy to learn3
- Import this3
- Many types of collections3
- If the implementation is easy to explain, it may be a g3
- Easy to setup and run smooth3
- Special cases aren't special enough to break the rules3
- Pip install everything3
- List comprehensions3
- No cruft3
- Easy to learn and use3
- Generators3
- If the implementation is hard to explain, it's a bad id3
- Should START with this but not STICK with This2
- A-to-Z2
- Because of Netflix2
- Only one way to do it2
- Better outcome2
- Good for hacking2
- Flexible and easy2
- It is Very easy , simple and will you be love programmi2
- Batteries included2
- Can understand easily who are new to programming2
- Powerful language for AI2
- Securit1
- Powerful0
- Still divided between python 2 and python 352
- Performance impact28
- Poor syntax for anonymous functions26
- GIL22
- Package management is a mess19
- Too imperative-oriented14
- Hard to understand12
- Dynamic typing12
- Very slow12
- Not everything is expression8
- Incredibly slow7
- Explicit self parameter in methods7
- Indentations matter a lot7
- Requires C functions for dynamic modules6
- No anonymous functions6
- Poor DSL capabilities6
- Fake object-oriented programming5
- Threading5
- The "lisp style" whitespaces5
- Official documentation is unclear.5
- Hard to obfuscate5
- Lack of Syntax Sugar leads to "the pyramid of doom"4
- Circular import4
- The benevolent-dictator-for-life quit4
- Not suitable for autocomplete4
- Meta classes2
- Training wheels (forced indentation)1
related Python posts
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
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
JavaScript
- Can be used on frontend/backend1.7K
- It's everywhere1.5K
- Lots of great frameworks1.2K
- Fast896
- Light weight745
- Flexible425
- You can't get a device today that doesn't run js392
- Non-blocking i/o286
- Ubiquitousness236
- Expressive191
- Extended functionality to web pages55
- Relatively easy language49
- Executed on the client side46
- Relatively fast to the end user30
- Pure Javascript25
- Functional programming21
- Async15
- Full-stack13
- Its everywhere12
- Setup is easy12
- Because I love functions11
- JavaScript is the New PHP11
- Like it or not, JS is part of the web standard10
- Easy9
- Future Language of The Web9
- Can be used in backend, frontend and DB9
- Expansive community9
- Can be used both as frontend and backend as well8
- No need to use PHP8
- For the good parts8
- Most Popular Language in the World8
- Everyone use it8
- Easy to hire developers8
- Agile, packages simple to use7
- Love-hate relationship7
- Powerful7
- Photoshop has 3 JS runtimes built in7
- Evolution of C7
- Popularized Class-Less Architecture & Lambdas7
- Supports lambdas and closures7
- It let's me use Babel & Typescript6
- 1.6K Can be used on frontend/backend6
- It's fun6
- Nice6
- Hard not to use6
- Client side JS uses the visitors CPU to save Server Res6
- Versitile6
- Easy to make something6
- Its fun and fast6
- Can be used on frontend/backend/Mobile/create PRO Ui6
- What to add5
- Clojurescript5
- Promise relationship5
- Stockholm Syndrome5
- Function expressions are useful for callbacks5
- Scope manipulation5
- Everywhere5
- Client processing5
- Only Programming language on browser4
- Because it is so simple and lightweight4
- Subskill #41
- Easy to understand1
- Not the best1
- Hard to learn1
- Easy to learn1
- Test1
- Test21
- Hard 彤0
- A constant moving target, too much churn22
- Horribly inconsistent20
- Javascript is the New PHP15
- No ability to monitor memory utilitization9
- Shows Zero output in case of ANY error8
- Thinks strange results are better than errors7
- Can be ugly6
- No GitHub3
- Slow2
related JavaScript posts
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.
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
- Components819
- Virtual dom668
- Performance576
- Simplicity503
- Composable442
- Data flow185
- Declarative166
- Isn't an mvc framework127
- Reactive updates118
- Explicit app state114
- JSX48
- Learn once, write everywhere27
- Easy to Use22
- Uni-directional data flow21
- Works great with Flux Architecture17
- Great perfomance11
- Javascript10
- Built by Facebook9
- TypeScript support7
- Speed6
- Feels like the 90s5
- Excellent Documentation5
- Props5
- Functional5
- Easy as Lego5
- Closer to standard JavaScript and HTML than others5
- Cross-platform5
- Server Side Rendering5
- Easy to start5
- Hooks5
- Awesome5
- Scalable5
- Strong Community4
- Server side views4
- Fancy third party tools4
- Super easy4
- Scales super well4
- Allows creating single page applications4
- Sdfsdfsdf4
- Start simple4
- Beautiful and Neat Component Management3
- Just the View of MVC3
- Simple, easy to reason about and makes you productive3
- Fast evolving3
- SSR3
- Great migration pathway for older systems3
- Rich ecosystem3
- Simple3
- Has functional components3
- Has arrow functions3
- Every decision architecture wise makes sense3
- Very gentle learning curve3
- Image upload2
- Permissively-licensed2
- Fragments2
- Sharable2
- Split your UI into components with one true state2
- HTML-like2
- Recharts2
- React hooks1
- Requires discipline to keep architecture organized40
- No predefined way to structure your app29
- Need to be familiar with lots of third party packages28
- JSX13
- Not enterprise friendly10
- One-way binding only6
- State consistency with backend neglected3
- Bad Documentation3
- Error boundary is needed2
- Paradigms change too fast2
related React posts
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.
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.
- Rapid development665
- Open source484
- Great community419
- Easy to learn376
- Mvc274
- Beautiful code228
- Elegant220
- Free204
- Great packages200
- Great libraries189
- Restful76
- Comes with auth and crud admin panel76
- Powerful75
- Great documentation71
- Great for web68
- Python55
- Great orm41
- Great for api39
- All included31
- Fast26
- Web Apps24
- Easy setup22
- Clean22
- Used by top startups20
- Sexy19
- ORM17
- Convention over configuration14
- The Django community13
- Allows for very rapid development with great libraries13
- King of backend world10
- Great MVC and templating engine10
- Full stack9
- Its elegant and practical7
- Batteries included7
- Fast prototyping6
- Have not found anything that it can't do6
- Mvt6
- Very quick to get something up and running6
- Cross-Platform6
- Zero code burden to change databases5
- Python community5
- Easy to develop end to end AI Models5
- Easy Structure , useful inbuilt library5
- Map4
- Easy to use4
- Easy4
- Easy to change database manager4
- Great peformance4
- Many libraries4
- Modular4
- Just the right level of abstraction3
- Full-Text Search3
- Scaffold3
- Scalable1
- Node js1
- Fastapi0
- Rails0
- Underpowered templating26
- Autoreload restarts whole server22
- Underpowered ORM22
- URL dispatcher ignores HTTP method15
- Internal subcomponents coupling10
- Not nodejs8
- Configuration hell8
- Admin7
- Not as clean and nice documentation like Laravel5
- Python3
- Not typed3
- Bloated admin panel included3
- Overwhelming folder structure2
- InEffective Multithreading2
- Not type safe1
related Django posts
Simple controls over complex technologies, as we put it, wouldn't be possible without neat UIs for our user areas including start page, dashboard, settings, and docs.
Initially, there was Django. Back in 2011, considering our Python-centric approach, that was the best choice. Later, we realized we needed to iterate on our website more quickly. And this led us to detaching Django from our front end. That was when we decided to build an SPA.
For building user interfaces, we're currently using React as it provided the fastest rendering back when we were building our toolkit. It’s worth mentioning Uploadcare is not a front-end-focused SPA: we aren’t running at high levels of complexity. If it were, we’d go with Ember.js.
However, there's a chance we will shift to the faster Preact, with its motto of using as little code as possible, and because it makes more use of browser APIs. One of our future tasks for our front end is to configure our Webpack bundler to split up the code for different site sections. For styles, we use PostCSS along with its plugins such as cssnano which minifies all the code.
All that allows us to provide a great user experience and quickly implement changes where they are needed with as little code as possible.
Hey, so I developed a basic application with Python. But to use it, you need a python interpreter. I want to add a GUI to make it more appealing. What should I choose to develop a GUI? I have very basic skills in front end development (CSS, JavaScript). I am fluent in python. I'm looking for a tool that is easy to use and doesn't require too much code knowledge. I have recently tried out Flask, but it is kinda complicated. Should I stick with it, move to Django, or is there another nice framework to use?
ASP.NET
- Great mvc20
- Easy to learn12
- C#5
- C#1
- Entity framework is very slow1
- Not highly flexible for advance Developers1
related ASP.NET posts
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...
I am looking for a new framework to learn and achieve more efficient development. I come mainly from Laravel, which greatly simplifies development, but is somewhat slow for the volumes of data that I usually handle (although very stable) and it falls far behind in terms of simultaneous connections.
I'm looking for something that responds well to high concurrency, adapts well to server resources (cores) without the need to be concerned about consciously multi-threading or similar things, has a good ORM and friendly integration with PostgreSQL, request validation, And of course, it is scalable.
The main use would be for API development and behind the scenes processing of large volumes of data (50M on average, although this goes hand in hand with the database and server capacity)..
The last framework I would include but couldn't is ASP.NET MVC.
Java
- Great libraries596
- Widely used444
- Excellent tooling399
- Huge amount of documentation available393
- Large pool of developers available333
- Open source206
- Excellent performance201
- Great development156
- Used for android149
- Vast array of 3rd party libraries149
- Compiled Language60
- Used for Web51
- Managed memory46
- High Performance45
- Native threads44
- Statically typed43
- Easy to read35
- Great Community33
- Reliable platform29
- Sturdy garbage collection24
- JVM compatibility24
- Cross Platform Enterprise Integration22
- Good amount of APIs20
- Universal platform20
- Great Support18
- Great ecosystem14
- Backward compatible11
- Lots of boilerplate11
- Everywhere10
- Excellent SDK - JDK9
- Cross-platform7
- It's Java7
- Static typing7
- Mature language thus stable systems6
- Better than Ruby6
- Long term language6
- Portability6
- Used for Android development5
- Vast Collections Library5
- Clojure5
- Old tech4
- Most developers favorite4
- Stable platform, which many new languages depend on3
- Javadoc3
- Testable3
- Great Structure3
- Best martial for design3
- History3
- Type Safe2
- Faster than python2
- Job0
- Verbosity33
- NullpointerException27
- Nightmare to Write17
- Overcomplexity is praised in community culture16
- Boiler plate code12
- Classpath hell prior to Java 98
- No REPL6
- No property4
- Code are too long3
- Non-intuitive generic implementation2
- There is not optional parameter2
- Floating-point errors2
- Java's too statically, stronglly, and strictly typed1
- Returning Wildcard Types1
- Terrbible compared to Python/Batch Perormence1
related Java posts
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
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.