Alternatives to CanJS logo

Alternatives to CanJS

AngularJS, DoneJS, React, Vue.js, and Backbone.js are the most popular alternatives and competitors to CanJS.
5
4
+ 1
0

What is CanJS and what are its top alternatives?

CanJS is an evolving and improving set of client-side JavaScript architectural libraries that balances innovation and stability. It targets experienced developers building complex applications with long futures ahead of them.
CanJS is a tool in the Javascript MVC Frameworks category of a tech stack.
CanJS is an open source tool with 1.8K GitHub stars and 412 GitHub forks. Here’s a link to CanJS's open source repository on GitHub

CanJS alternatives & related posts

AngularJS logo

AngularJS

18.8K
11.4K
5.2K
18.8K
11.4K
+ 1
5.2K
Superheroic JavaScript MVW Framework
AngularJS logo
AngularJS
VS
CanJS logo
CanJS

related AngularJS posts

Jake Stein
Jake Stein
CEO at Stitch · | 15 upvotes · 59.8K views
atStitchStitch
ES6
ES6
JavaScript
JavaScript
CoffeeScript
CoffeeScript
React
React
AngularJS
AngularJS

Stitch’s frontend is used to configure data sources and destinations and monitor the status of each. Although we have been using AngularJS since its early days, we recently introduced React components into our front end, which many of our developers find easier to work with. We started using CoffeeScript when it was one of the few options for a more expressive alternative to vanilla JavaScript, but today we opt to instead write new code in ES6, which we feel is a more mature alternative.

See more
Arik Fraimovich
Arik Fraimovich
Vue.js
Vue.js
React
React
Angular 2
Angular 2
AngularJS
AngularJS

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:

  1. Many in our community are already using React internally and will be able to contribute.
  2. 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.

See more
DoneJS logo

DoneJS

1
1
0
1
1
+ 1
0
An open source JavaScript framework for building real-time applications
    Be the first to leave a pro
    DoneJS logo
    DoneJS
    VS
    CanJS logo
    CanJS
    React logo

    React

    27.2K
    19.1K
    3.4K
    27.2K
    19.1K
    + 1
    3.4K
    A JavaScript library for building user interfaces
    React logo
    React
    VS
    CanJS logo
    CanJS

    related React posts

    Dmitry Mukhin
    Dmitry Mukhin
    at Uploadcare · | 22 upvotes · 155.8K views
    atUploadcareUploadcare
    PostCSS
    PostCSS
    Preact
    Preact
    Ember.js
    Ember.js
    React
    React
    Python
    Python
    Django
    Django

    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.

    See more
    Kir Shatrov
    Kir Shatrov
    Production Engineer at Shopify · | 18 upvotes · 125.1K views
    atShopifyShopify
    Prototype
    Prototype
    TypeScript
    TypeScript
    React
    React
    JavaScript
    JavaScript
    jQuery
    jQuery
    #Languages
    #FrameworksFullStack

    The client-side stack of Shopify Admin has been a long journey. It started with HTML templates, jQuery and Prototype. We moved to Batman.js, our in-house Single-Page-Application framework (SPA), in 2013. Then, we re-evaluated our approach and moved back to statically rendered HTML and vanilla JavaScript. As the front-end ecosystem matured, we felt that it was time to rethink our approach again. Last year, we started working on moving Shopify Admin to React and TypeScript.

    Many things have changed since the days of jQuery and Batman. JavaScript execution is much faster. We can easily render our apps on the server to do less work on the client, and the resources and tooling for developers are substantially better with React than we ever had with Batman.

    #FrameworksFullStack #Languages

    See more

    related Vue.js posts

    Jeyabalaji Subramanian
    Jeyabalaji Subramanian
    CTO at FundsCorner · | 21 upvotes · 69.2K views
    atFundsCornerFundsCorner
    Amazon Cognito
    Amazon Cognito
    Vuetify
    Vuetify
    Vue.js
    Vue.js
    HTML5
    HTML5
    JavaScript
    JavaScript

    At FundsCorner, when we set out to pick up the front-end tech stack (around Dec 2017), we drove our decision based on the following considerations:

    (1) We were clear that we will NOT have a hybrid app. We will start with Responsive Web & once there is traction, we will rollout our Android App. However, we wanted to ensure that the users have a consistent experience on both the Web & the App. So, the front-end framework must also have a material design component library which we can choose from.

    (2) Before joining FundsCorner as a CTO, I had already worked with Angular. I enjoyed working with Angular, but I felt that I must choose something that will provide us with the fastest time from Concept to Reality.

    (3) I am strong proponent of segregating HTML & JavaScript. I.e. I was not for writing or generating HTML through JavaScript. Because, this will mean that the Front-end developers I have to hire will always be very strong on JavaScript alongside HTML5 & CSS. I was looking for a Framework that was on JavaScript but not HEAVY on JavaScript.

    (3) The first iteration of the web app was to be done by myself. But I was clear that when someone takes up the mantle, they will be able to come up the curve fast.

    In the end, Vue.js and Vuetify satisfied all the above criteria with aplomb! When I did our first POC on Vue.js I could not believe that front-end development could be this fast. The documentation was par excellence and all the required essentials that come along with the Framework (viz. Routing, Store, Validations) etc. were available from the same community! It was also a breeze to integrate with other JavaScript libraries (such as Amazon Cognito).

    By picking Vuetify, we were able to provide a consistent UI experience between our Web App and Native App, besides making the UI development ultra blazing fast!

    In the end, we were able to rollout our Web App in record 6 weeks (that included the end to end Loan Origination flow, Loans management system & Customer engagement module). www.jeyabalaji.com

    See more
    nothingismagick
    nothingismagick
    GitHub
    GitHub
    Zeit Now
    Zeit Now
    SendinBlue
    SendinBlue
    Vue.js
    Vue.js
    Node.js
    Node.js
    FeathersJS
    FeathersJS
    Quasar Framework
    Quasar Framework

    Quasar Framework FeathersJS Node.js Vue.js SendinBlue Zeit Now GitHub

    It was almost too easy to build a complete Feathers Rest API combined with Quasar SSR and reactive form that we are serving through an i-frame within our main site for serving our newsletter signup and opt-in page. Total time: 15 hrs. Check it out:

    https://quasar.dev/newsletter

    See more
    Backbone.js logo

    Backbone.js

    4.6K
    1.2K
    674
    4.6K
    1.2K
    + 1
    674
    Give your JS App some Backbone with Models, Views, Collections, and Events
    Backbone.js logo
    Backbone.js
    VS
    CanJS logo
    CanJS

    related Backbone.js posts

    Dan Robinson
    Dan Robinson
    at Heap, Inc. · | 18 upvotes · 98.3K views
    atHeapHeap
    MobX
    MobX
    React
    React
    TypeScript
    TypeScript
    Marionette
    Marionette
    Backbone.js
    Backbone.js
    jQuery
    jQuery
    #TemplatingLanguagesExtensions
    #JavascriptMvcFrameworks
    #Libraries
    #JavascriptUiLibraries

    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.

    #JavascriptUiLibraries #Libraries #JavascriptMvcFrameworks #TemplatingLanguagesExtensions

    See more
    Marcos Iglesias
    Marcos Iglesias
    Sr. Software Engineer at Eventbrite · | 13 upvotes · 38.1K views
    atEventbrite-0Eventbrite-0
    React
    React
    Redux
    Redux
    Flux
    Flux
    Marionette
    Marionette
    Backbone.js
    Backbone.js

    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.

    See more

    related Angular 2 posts

    Arik Fraimovich
    Arik Fraimovich
    Vue.js
    Vue.js
    React
    React
    Angular 2
    Angular 2
    AngularJS
    AngularJS

    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:

    1. Many in our community are already using React internally and will be able to contribute.
    2. 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.

    See more
    ASP.NET
    ASP.NET
    Puppeteer
    Puppeteer
    vuex
    vuex
    ExpressJS
    ExpressJS
    React
    React
    Angular 2
    Angular 2
    Vue.js
    Vue.js
    Netlify
    Netlify
    Heroku
    Heroku
    #Seo
    #Heroku

    I found Heroku to be a great option to get ExpressJS up and running with very little hustle. The free tier is great, but I'd recommend to set up a cronjob to visit your site every few minutes so that the server stays awake. Netlify was the option to host the front-end because doing the server side rendering on #Heroku would have taken a little more time than I'd like to. For the moment pre-rendering the app with prerender-spa-plugin is enough to help with #seo. Puppeteer was my choice over other options because it made it easier to scrape websites made on ASP.NET which is what I needed in this case. And Vue.js is my top choice at the moment because it's really beginner friendly and it has a lot of the features I like about Angular 2 and React. vuex is a must in most of the app I build.

    See more

    related Aurelia posts

    Adam Rabinovitch
    Adam Rabinovitch
    Global Technical Recruiting Lead & Engineering Evangelist at Beamery · | 3 upvotes · 20.4K views
    atBeameryBeamery
    Polymer
    Polymer
    Aurelia
    Aurelia
    Vue.js
    Vue.js
    Angular 2
    Angular 2
    React
    React
    AngularJS
    AngularJS
    #Hiring

    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.

    See more
    KnockoutJS logo

    KnockoutJS

    138
    103
    0
    138
    103
    + 1
    0
    Knockout makes it easier to create rich, responsive UIs with JavaScript
      Be the first to leave a pro
      KnockoutJS logo
      KnockoutJS
      VS
      CanJS logo
      CanJS
      Marionette logo

      Marionette

      135
      91
      79
      135
      91
      + 1
      79
      Backbone application code with robust views and architecture solutions
      Marionette logo
      Marionette
      VS
      CanJS logo
      CanJS

      related Marionette posts

      Dan Robinson
      Dan Robinson
      at Heap, Inc. · | 18 upvotes · 98.3K views
      atHeapHeap
      MobX
      MobX
      React
      React
      TypeScript
      TypeScript
      Marionette
      Marionette
      Backbone.js
      Backbone.js
      jQuery
      jQuery
      #TemplatingLanguagesExtensions
      #JavascriptMvcFrameworks
      #Libraries
      #JavascriptUiLibraries

      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.

      #JavascriptUiLibraries #Libraries #JavascriptMvcFrameworks #TemplatingLanguagesExtensions

      See more
      Marcos Iglesias
      Marcos Iglesias
      Sr. Software Engineer at Eventbrite · | 13 upvotes · 38.1K views
      atEventbrite-0Eventbrite-0
      React
      React
      Redux
      Redux
      Flux
      Flux
      Marionette
      Marionette
      Backbone.js
      Backbone.js

      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.

      See more
      Mithril logo

      Mithril

      53
      44
      80
      53
      44
      + 1
      80
      Client-side MVC framework - a tool to organize code in a way that is easy to think about...
      Mithril logo
      Mithril
      VS
      CanJS logo
      CanJS
      JSF logo

      JSF

      39
      16
      0
      39
      16
      + 1
      0
      It is used for building component-based web interfaces
        Be the first to leave a pro
        JSF logo
        JSF
        VS
        CanJS logo
        CanJS
        GWT logo

        GWT

        17
        10
        0
        17
        10
        + 1
        0
        An open-source set of tools to create and maintain complex JavaScript front-end applications
          Be the first to leave a pro
          GWT logo
          GWT
          VS
          CanJS logo
          CanJS
          Ampersand.js logo

          Ampersand.js

          15
          19
          31
          15
          19
          + 1
          31
          A highly modular, loosely coupled, non-frameworky framework for building advanced JavaScript apps
          Ampersand.js logo
          Ampersand.js
          VS
          CanJS logo
          CanJS
          Chaplin logo

          Chaplin

          5
          4
          5
          5
          4
          + 1
          5
          HTML5 application architecture using Backbone.js
          Chaplin logo
          Chaplin
          VS
          CanJS logo
          CanJS
          Espresso.js logo

          Espresso.js

          4
          4
          0
          4
          4
          + 1
          0
          React Meets Backbone for a Minimal MVC
            Be the first to leave a pro
            Espresso.js logo
            Espresso.js
            VS
            CanJS logo
            CanJS
            Breeze.js logo

            Breeze.js

            3
            4
            0
            3
            4
            + 1
            0
            Rich Data Management for the JavaScript Client
              Be the first to leave a pro
              Breeze.js logo
              Breeze.js
              VS
              CanJS logo
              CanJS