Alternatives to JSF logo

Alternatives to JSF

AngularJS, Spring MVC, Spring, Vaadin, and HTML5 are the most popular alternatives and competitors to JSF.
39
16
+ 1
0

What is JSF and what are its top alternatives?

It is used for building component-based user interfaces for web applications and was formalized as a standard through the Java Community
JSF is a tool in the Java Tools category of a tech stack.

JSF alternatives & related posts

AngularJS logo

AngularJS

18.8K
11.3K
5.2K
18.8K
11.3K
+ 1
5.2K
Superheroic JavaScript MVW Framework
AngularJS logo
AngularJS
VS
JSF logo
JSF

related AngularJS posts

Jake Stein
Jake Stein
CEO at Stitch · | 15 upvotes · 59.1K 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
Spring MVC logo

Spring MVC

121
86
0
121
86
+ 1
0
A Java framework which is used to build web applications
    Be the first to leave a pro
    Spring MVC logo
    Spring MVC
    VS
    JSF logo
    JSF

    related Spring MVC posts

    NIDHISH PUTHIYADATH
    NIDHISH PUTHIYADATH
    Lead Software Engineer at EDIFECS · | 1 upvotes · 14.5K views
    Spring MVC
    Spring MVC
    Hibernate
    Hibernate
    Microsoft SQL Server
    Microsoft SQL Server
    RxJS
    RxJS
    Spring Boot
    Spring Boot
    TypeScript
    TypeScript
    Node.js
    Node.js
    Angular 2
    Angular 2
    Material Design for Angular
    Material Design for Angular

    Material Design for Angular Angular 2 Node.js TypeScript Spring-Boot RxJS Microsoft SQL Server Hibernate Spring MVC

    We built our customer facing portal application using Angular frontend backed by Spring boot.

    See more
    Spring logo

    Spring

    1.9K
    1.5K
    938
    1.9K
    1.5K
    + 1
    938
    Provides a comprehensive programming and configuration model for modern Java-based enterprise applications
    Spring logo
    Spring
    VS
    JSF logo
    JSF

    related Spring posts

    Slack
    Slack
    IntelliJ IDEA
    IntelliJ IDEA
    Java
    Java
    Spring Boot
    Spring Boot
    Spring
    Spring

    Spring Spring-Boot Java IntelliJ IDEA Slack

    See more
    Vaadin logo

    Vaadin

    24
    16
    0
    24
    16
    + 1
    0
    Components and tools for building web apps in Java
      Be the first to leave a pro
      Vaadin logo
      Vaadin
      VS
      JSF logo
      JSF
      HTML5 logo

      HTML5

      25K
      19.1K
      2.2K
      25K
      19.1K
      + 1
      2.2K
      5th major revision of the core language of the World Wide Web
      HTML5 logo
      HTML5
      VS
      JSF logo
      JSF

      related HTML5 posts

      Jeyabalaji Subramanian
      Jeyabalaji Subramanian
      CTO at FundsCorner · | 21 upvotes · 68.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
      Jonathan Pugh
      Jonathan Pugh
      Software Engineer / Project Manager / Technical Architect · | 17 upvotes · 121.8K views
      Pouchdb
      Pouchdb
      CouchDB
      CouchDB
      Font Awesome
      Font Awesome
      CSS 3
      CSS 3
      Apache Cordova
      Apache Cordova
      PhoneGap
      PhoneGap
      HTML5
      HTML5
      Ruby
      Ruby
      Babel
      Babel
      Webpack
      Webpack
      Visual Studio Code
      Visual Studio Code
      Figma
      Figma
      TypeScript
      TypeScript
      JavaScript
      JavaScript
      Framework7
      Framework7
      #Css
      #CSS3
      #SCSS
      #Sass
      #Less
      #Electron
      #HandleBars
      #Template7
      #Sketch
      #GraphQL
      #HTML5
      #GraphCool

      I needed to choose a full stack of tools for cross platform mobile application design & development. After much research and trying different tools, these are what I came up with that work for me today:

      For the client coding I chose Framework7 because of its performance, easy learning curve, and very well designed, beautiful UI widgets. I think it's perfect for solo development or small teams. I didn't like React Native. It felt heavy to me and rigid. Framework7 allows the use of #CSS3, which I think is the best technology to come out of the #WWW movement. No other tech has been able to allow designers and developers to develop such flexible, high performance, customisable user interface elements that are highly responsive and hardware accelerated before. Now #CSS3 includes variables and flexboxes it is truly a powerful language and there is no longer a need for preprocessors such as #SCSS / #Sass / #less. React Native contains a very limited interpretation of #CSS3 which I found very frustrating after using #CSS3 for some years already and knowing its powerful features. The other very nice feature of Framework7 is that you can even build for the browser if you want your app to be available for desktop web browsers. The latest release also includes the ability to build for #Electron so you can have MacOS, Windows and Linux desktop apps. This is not possible with React Native yet.

      Framework7 runs on top of Apache Cordova. Cordova and webviews have been slated as being slow in the past. Having a game developer background I found the tweeks to make it run as smooth as silk. One of those tweeks is to use WKWebView. Another important one was using srcset on images.

      I use #Template7 for the for the templating system which is a no-nonsense mobile-centric #HandleBars style extensible templating system. It's easy to write custom helpers for, is fast and has a small footprint. I'm not forced into a new paradigm or learning some new syntax. It operates with standard JavaScript, HTML5 and CSS 3. It's written by the developer of Framework7 and so dovetails with it as expected.

      I configured TypeScript to work with the latest version of Framework7. I consider TypeScript to be one of the best creations to come out of Microsoft in some time. They must have an amazing team working on it. It's very powerful and flexible. It helps you catch a lot of bugs and also provides code completion in supporting IDEs. So for my IDE I use Visual Studio Code which is a blazingly fast and silky smooth editor that integrates seamlessly with TypeScript for the ultimate type checking setup (both products are produced by Microsoft).

      I use Webpack and Babel to compile the JavaScript. TypeScript can compile to JavaScript directly but Babel offers a few more options and polyfills so you can use the latest (and even prerelease) JavaScript features today and compile to be backwards compatible with virtually any browser. My favorite recent addition is "optional chaining" which greatly simplifies and increases readability of a number of sections of my code dealing with getting and setting data in nested objects.

      I use some Ruby scripts to process images with ImageMagick and pngquant to optimise for size and even auto insert responsive image code into the HTML5. Ruby is the ultimate cross platform scripting language. Even as your scripts become large, Ruby allows you to refactor your code easily and make it Object Oriented if necessary. I find it the quickest and easiest way to maintain certain aspects of my build process.

      For the user interface design and prototyping I use Figma. Figma has an almost identical user interface to #Sketch but has the added advantage of being cross platform (MacOS and Windows). Its real-time collaboration features are outstanding and I use them a often as I work mostly on remote projects. Clients can collaborate in real-time and see changes I make as I make them. The clickable prototyping features in Figma are also very well designed and mean I can send clickable prototypes to clients to try user interface updates as they are made and get immediate feedback. I'm currently also evaluating the latest version of #AdobeXD as an alternative to Figma as it has the very cool auto-animate feature. It doesn't have real-time collaboration yet, but I heard it is proposed for 2019.

      For the UI icons I use Font Awesome Pro. They have the largest selection and best looking icons you can find on the internet with several variations in styles so you can find most of the icons you want for standard projects.

      For the backend I was using the #GraphCool Framework. As I later found out, #GraphQL still has some way to go in order to provide the full power of a mature graph query language so later in my project I ripped out #GraphCool and replaced it with CouchDB and Pouchdb. Primarily so I could provide good offline app support. CouchDB with Pouchdb is very flexible and efficient combination and overcomes some of the restrictions I found in #GraphQL and hence #GraphCool also. The most impressive and important feature of CouchDB is its replication. You can configure it in various ways for backups, fault tolerance, caching or conditional merging of databases. CouchDB and Pouchdb even supports storing, retrieving and serving binary or image data or other mime types. This removes a level of complexity usually present in database implementations where binary or image data is usually referenced through an #HTML5 link. With CouchDB and Pouchdb apps can operate offline and sync later, very efficiently, when the network connection is good.

      I use PhoneGap when testing the app. It auto-reloads your app when its code is changed and you can also install it on Android phones to preview your app instantly. iOS is a bit more tricky cause of Apple's policies so it's not available on the App Store, but you can build it and install it yourself to your device.

      So that's my latest mobile stack. What tools do you use? Have you tried these ones?

      See more
      JavaFX logo

      JavaFX

      48
      40
      0
      48
      40
      + 1
      0
      A Java library for building Rich Internet Applications
        Be the first to leave a pro
        JavaFX logo
        JavaFX
        VS
        JSF logo
        JSF

        related Vue.js posts

        Jeyabalaji Subramanian
        Jeyabalaji Subramanian
        CTO at FundsCorner · | 21 upvotes · 68.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
        JSF logo
        JSF

        related Backbone.js posts

        Dan Robinson
        Dan Robinson
        at Heap, Inc. · | 18 upvotes · 97.7K 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 · 37.7K 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 · 19.9K 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
          JSF logo
          JSF
          Marionette logo

          Marionette

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

          related Marionette posts

          Dan Robinson
          Dan Robinson
          at Heap, Inc. · | 18 upvotes · 97.7K 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 · 37.7K 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
          guava logo

          guava

          111
          89
          3
          111
          89
          + 1
          3
          Google Core Libraries for Java 6+
          guava logo
          guava
          VS
          JSF logo
          JSF
          RxJava logo

          RxJava

          107
          33
          0
          107
          33
          + 1
          0
          Reactive Extensions for the JVM
            Be the first to leave a pro
            RxJava logo
            RxJava
            VS
            JSF logo
            JSF
            Java 8 logo

            Java 8

            88
            56
            0
            88
            56
            + 1
            0
            A development environment for building applications
              Be the first to leave a pro
              Java 8 logo
              Java 8
              VS
              JSF logo
              JSF
              Mithril logo

              Mithril

              51
              43
              80
              51
              43
              + 1
              80
              Client-side MVC framework - a tool to organize code in a way that is easy to think about...
              Mithril logo
              Mithril
              VS
              JSF logo
              JSF
              Apache FreeMarker logo

              Apache FreeMarker

              44
              4
              0
              44
              4
              + 1
              0
              A free Java-based template engine
                Be the first to leave a pro
                Apache FreeMarker logo
                Apache FreeMarker
                VS
                JSF logo
                JSF

                related Apache FreeMarker posts

                Guillermo Zacur
                Guillermo Zacur
                at Sodep · | 1 upvotes · 740 views
                atSodepSodep
                Apache FreeMarker
                Apache FreeMarker

                Template Engine: Java library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data Freemarker

                See more
                Thymeleaf logo

                Thymeleaf

                41
                21
                0
                41
                21
                + 1
                0
                A template engine for Java
                  Be the first to leave a pro
                  Thymeleaf logo
                  Thymeleaf
                  VS
                  JSF logo
                  JSF
                  Lombok logo

                  Lombok

                  35
                  10
                  0
                  35
                  10
                  + 1
                  0
                  Get rid of boilerplate code, Spice up your java
                    Be the first to leave a pro
                    Lombok logo
                    Lombok
                    VS
                    JSF logo
                    JSF