What is Backbone.js and what are its top alternatives?
Top Alternatives to Backbone.js
It is a library for building interactive web interfaces. It provides data-reactive components with a simple and flexible API. ...
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. ...
It is a TypeScript-based open-source web application framework. It is a development platform for building mobile and desktop web applications. ...
It is used for building component-based user interfaces for web applications and was formalized as a standard through the Java Community ...
Backbone.js alternatives & related posts
- Simple and easy to start with276
- Good documentation217
- Simple the best123
- Simplified AngularJS95
- Intuitive APIs69
- Changed my front end coding life45
- Configuration is smooth40
- Easy to learn28
- So much fun to use25
- Virtual dom17
- Faster than bulldogs on hot tarmac13
- It's magic9
- Best of Both Worlds8
- Without misleading licenses7
- Application structure7
- Elegant design7
- Intuitive and easy to use6
- Light Weight5
- Easy to integrate to HTML by inline-templates4
- Good command line interface4
- Small learning curve3
- Like Angular only quicker to get started with3
- Customer Render ending eg to HTML3
- One-way data flow2
- Single file components2
- Lots of documentation2
- Component based2
- Bridge from Web Development to JS Development2
- Concise error messages2
- Logicless templates2
- Supports several template languages2
- High performance2
- Less Common Place6
- YXMLvsHTML Markup3
- Don't support fragments1
- Only support programatically multiple root nodes1
related Vue.js posts
I've used both Vue.js and React and I would stick with React. I know that Vue.js seems easier to write and its much faster to pick up however as you mentioned above React has way more ready made components you can just plugin, and the community for React is very big.
It might be a bit more of a steep learning curve for your friend to learn React over Vue.js but I think in the long run its the better option.
I find using Vue.js to be easier (more concise / less boilerplate) and more intuitive than writing React. However, there are a lot more readily available React components that I can just plug into my projects. I'm debating whether to use Vue.js or React for an upcoming project that I'm going to use to help teach a friend how to build an interactive frontend. Which would you recommend I use?
- Virtual dom652
- Data flow175
- Isn't an mvc framework124
- Reactive updates113
- Explicit app state111
- Learn once, write everywhere23
- Uni-directional data flow19
- Easy to Use16
- Works great with Flux Architecture14
- Great perfomance10
- Built by Facebook8
- TypeScript support5
- Feels like the 90s4
- Easy to start4
- Fancy third party tools3
- Server side views3
- Rich ecosystem2
- Very gentle learning curve2
- Has functional components2
- Super easy2
- Has arrow functions2
- Strong Community2
- Great migration pathway for older systems2
- Fast evolving2
- Simple, easy to reason about and makes you productive2
- Excellent Documentation2
- Scales super well2
- Just the View of MVC2
- Server Side Rendering2
- Start simple1
- Every decision architecture wise makes sense1
- Beautiful and Neat Component Management1
- Allows creating single page applications1
- Split your UI into components with one true state1
- Requires discipline to keep architecture organized35
- No predefined way to structure your app23
- Need to be familiar with lots of third party packages21
- Not enterprise friendly7
- One-way binding only4
- State consistency with backend neglected2
- Bad Documentation2
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.
- Quick to develop887
- Great mvc587
- Backed by google503
- Two-way data binding348
- Open source328
- Dependency injection305
- Great community63
- Extend html vocabulary38
- Easy to test26
- Easy to learn24
- Great documentation23
- Easy to templates23
- Easy to start21
- Light weight17
- Angular 2.014
- Great extensions13
- Easy to prototype with10
- High performance8
- Lots of community modules7
- Two-way binding7
- Clean and keeps code readable6
- Easy to e2e6
- One of the best frameworks5
- Easy for small applications5
- Works great with jquery4
- Fast development4
- Be a developer, not a plumber.2
- Hierarchical Data Structure2
- I do not touch DOM2
- The two-way Data Binding is awesome2
- Declarative programming2
- Programming fun again1
- The powerful of binding, routing and controlling routes1
- Fkin awesome1
- Opinionated in the right areas1
- Supports api , easy development1
- Common Place1
- Very very useful and fast framework for development1
- Amazing community support1
- Readable code1
- Linear learning curve1
- Httpș//Acoperișul 07576043350
- Bot Ionescu0
- Angular js0
- Oautho loc0
- Acoperișul 07576043350
- Dependency injection3
- Learning Curve2
- Event Listener Overload2
- 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:
- 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:
- 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.
- It's a powerful framework96
- Straight-forward architecture48
- Great UI and Business Logic separation40
- Powerful, maintainable, fast38
- Amazing CLI36
- Great mvc30
- Powerfull Dependency Injection23
- Easy to build18
- Opinionated, batteries-included approach13
- All in one Framework11
- Solid Standard Setup.7
- Only for single page applications3
- Ng upgrade1
- Large overhead in file size and initialization time9
- Ugly code2
- CLI not open to other test and linting tools2
related Angular 2 posts
When Redash was created 5 years ago we chose AngularJS as our frontend framework, but as AngularJS was replaced by Angular 2 we had to make a new choice. We decided that we won't migrate to Angular, but to either React or Vue.js. Eventually we decided to migrate to React for the following reasons:
- Many in our community are already using React internally and will be able to contribute.
- Using react2angular we can do the migration gradually over time instead of having to invest in a big rewrite while halting feature development.
So far the gradual strategy pays off and in the last 3 major releases we already shipped React code in the Angular.js application.
From my experience of the early startup world, a majority of companies these days use Node.js. Python and Go are the next biggest languages, but significantly smaller than Node.
However, if you're having trouble with the front end aspect of Django, using Node probably won't make that easier for you. You'll have a lot more options between front end frameworks (React, Vue.js, Angular 2) , but they'll definitely take more time to learn than Django's templating system.
Think about whether you want to focus on front end or back end for now, and make a decision from there.
- Quick to develop96
- Great community82
- Great mvc81
- Great router72
- Values conventions, there is one-true way to organize51
- Open source49
- Mvc framework34
- Yehuda katz11
- Tom dale10
- Great logo10
- Glimmer: react-like rendering engine5
- manages large data sets on the front end easily5
- Convention over Configuration5
- It's NOT Google or Facebook5
- It rocks4
- IE8 support3
- Good docs3
- Fastest spinning circles3
- Easy and Quick to develop2
- Documentation is finally active and updated2
- Great for big apps/many devs because its organized1
- Growing community1
- For building ambitious Web apps1
- Dependency Injection1
- Business wins1
- Very little flexibility2
- Too much convention, too little configuration2
- Hard to integrate with Non Ruby apps1
- Hard to use if your API isn't RESTful1
related Ember.js 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.
Choosing a framework be it angular, react, ember or vue is personal preference. I would say start with each and build something that utilise state management (todo list perhaps?) and see which style you are comfortable with.
If you wants to get employed, React is a wiser choice. It also helps you build native mobile apps with react-native . If you are building enterprise app with alot of client-side data, nothing beats Ember.js ember-data.
If you are like me who is prototyping light-weight startup and would like to move fast and missing your first front-end learning (angular 1), go with Vue.js . NativeScript-Vue is the binding to build mobile native apps with it.
- Simple with conventions47
- Modern architecture42
- Integrates well with other components28
- Easy to use27
- Dependency Injection25
- Great router20
- Adaptive Data Binding16
- Typescript, ES2015, ES201613
- IoC, Modularity, Simplicity, Full Stack11
- Good binding system9
- Based on ES79
- Convention based6
- Quick to develop5
- Solid Documentation4
- Evolving standards compliance4
- Smooth learning curve4
- Outstanding Support (paid)4
- Reactive binding system1
related Aurelia posts
At Beamery we had a large, AngularJS app, built over several years. Our clients were happy, but we were not. We had several problems: Building new features was slow. AngularJS doesn’t scale nicely. Features clash with each other. Isolation doesn’t come as standard, you have to work hard to keep features separate. It takes time to get it right. #Hiring was hard, for all the reasons listed above. The app was slower than it needed to be because AngularJS was never built for speed. We wanted to render half a million contacts, and Angular was fighting us all the way.
As time went by it become harder to find developers who would willingly choose AngularJS over React Angular 2 , Vue.js , Aurelia or Polymer .
So we faced a choice. We could throw it all away and start again, we could upgrade to Angular 5, or the awesome option - we could use micro frontends. We chose the awesome option.
- MVC compliant20
- Uses Backbone20
- Views management13
- View management9
- Memory management6
- MVC Beginner-Friendly4
- Collections useful tools1
related Marionette posts
The front end for Heap begun to grow unwieldy. The original jQuery pieces became difficult to maintain and scale, and a decision was made to introduce Backbone.js, Marionette, and TypeScript. Ultimately this ended up being a “detour” in the search for a scalable and maintainable front-end solution. The system did allow for developers to reuse components efficiently, but adding features was a difficult process, and it eventually became a bottleneck in advancing the product.
Today, the Heap product consists primarily of a customer-facing dashboard powered by React, MobX, and TypeScript on the front end. We wrote our migration to React and MobX in detail last year here.
We are in the middle of a change of the stack on the front end. So we used Backbone.js with Marionette. Then we also created our own implementation of a Flux kind of flow. We call it eb-flux. We have worked with Marionette for a long time. Then at some point we start evolving and end up having a kind of Redux.js-style architecture, but with Marionette.
But then maybe one and a half years ago, we started moving into React and that's why we created the Eventbrite design system. It's a really nice project that probably could be open sourced. It's a library of components for our React components.
With the help of that library, we are building our new stack with React and sometimes Redux when it's necessary.
- Rich and comprehensive Request Life-cycle2
- Very Mature UI framework1
- Server Side component1
related JSF posts
I need to modernize a Java web application that runs on JSF. I am used to building websites, so Bootstrap kinda feels like "home." But when it comes to applications, I feel Bootstrap is not the right way to go. Can someone explain to me what PrimeFaces is capable of in comparison with BS?