Alternatives to EJS logo

Alternatives to EJS

Handlebars.js, React, Pug, JSX, and Mustache are the most popular alternatives and competitors to EJS.
146
286
+ 1
12

What is EJS and what are its top alternatives?

It is a simple templating language that lets you generate HTML markup with plain JavaScript. No religiousness about how to organize things. No reinvention of iteration and control-flow. It's just plain JavaScript.
EJS is a tool in the Templating Languages & Extensions category of a tech stack.
EJS is an open source tool with 6.5K GitHub stars and 714 GitHub forks. Here’s a link to EJS's open source repository on GitHub

Top Alternatives to EJS

  • Handlebars.js
    Handlebars.js

    Handlebars.js is an extension to the Mustache templating language created by Chris Wanstrath. Handlebars.js and Mustache are both logicless templating languages that keep the view and the code separated like we all know they should be. ...

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

  • Pug
    Pug

    This project was formerly known as "Jade." Pug is a high performance template engine heavily influenced by Haml and implemented with JavaScript for Node.js and browsers. ...

  • JSX
    JSX

    It is designed to run on modern web browsers. It performs optimization while compiling the source code to JavaScript. The generated code runs faster than an equivalent code written directly in JavaScript. ...

  • Mustache
    Mustache

    Mustache is a logic-less template syntax. It can be used for HTML, config files, source code - anything. It works by expanding tags in a template using values provided in a hash or object. We call it "logic-less" because there are no if statements, else clauses, or for loops. Instead there are only tags. Some tags are replaced with a value, some nothing, and others a series of values. ...

  • TypeScript
    TypeScript

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

  • Smarty
    Smarty

    Facilitating the separation of presentation (HTML/CSS) from application logic. This implies that PHP code is application logic, and is separated from the presentation ...

  • Jinja
    Jinja

    It is a full featured template engine for Python. It has full unicode support, an optional integrated sandboxed execution environment, widely used and BSD licensed. ...

EJS alternatives & related posts

Handlebars.js logo

Handlebars.js

6.6K
2.9K
309
Minimal Templating on Steroids
6.6K
2.9K
+ 1
309
PROS OF HANDLEBARS.JS
  • 106
    Simple
  • 77
    Great templating language
  • 50
    Open source
  • 36
    Logicless
  • 20
    Integrates well into any codebase
  • 10
    Easy to create helper methods for complex scenarios
  • 7
    Created by Yehuda Katz
  • 2
    Easy For Fornt End Developers,learn backend
  • 1
    Awesome
CONS OF HANDLEBARS.JS
    Be the first to leave a con

    related Handlebars.js posts

    React logo

    React

    134.9K
    110.9K
    3.9K
    A JavaScript library for building user interfaces
    134.9K
    110.9K
    + 1
    3.9K
    PROS OF REACT
    • 781
      Components
    • 661
      Virtual dom
    • 570
      Performance
    • 495
      Simplicity
    • 440
      Composable
    • 178
      Data flow
    • 163
      Declarative
    • 125
      Isn't an mvc framework
    • 115
      Reactive updates
    • 113
      Explicit app state
    • 41
      JSX
    • 26
      Learn once, write everywhere
    • 20
      Uni-directional data flow
    • 19
      Easy to Use
    • 15
      Works great with Flux Architecture
    • 11
      Great perfomance
    • 9
      Built by Facebook
    • 8
      Javascript
    • 6
      TypeScript support
    • 6
      Speed
    • 5
      Scalable
    • 5
      Awesome
    • 5
      Hooks
    • 5
      Easy to start
    • 5
      Feels like the 90s
    • 4
      Server Side Rendering
    • 4
      Functional
    • 4
      Server side views
    • 4
      Fancy third party tools
    • 4
      Cross-platform
    • 4
      Scales super well
    • 4
      Excellent Documentation
    • 4
      Props
    • 3
      Has functional components
    • 3
      Simple
    • 3
      Closer to standard JavaScript and HTML than others
    • 3
      Super easy
    • 3
      Allows creating single page applications
    • 3
      Rich ecosystem
    • 3
      Great migration pathway for older systems
    • 3
      SSR
    • 3
      Fast evolving
    • 3
      Simple, easy to reason about and makes you productive
    • 3
      Just the View of MVC
    • 3
      Beautiful and Neat Component Management
    • 3
      Sdfsdfsdf
    • 3
      Very gentle learning curve
    • 3
      Start simple
    • 3
      Has arrow functions
    • 3
      Strong Community
    • 2
      Fragments
    • 2
      Every decision architecture wise makes sense
    • 2
      Split your UI into components with one true state
    • 2
      Sharable
    • 2
      Easy as Lego
    • 2
      Permissively-licensed
    • 1
      Image upload
    • 1
      Recharts
    CONS OF REACT
    • 36
      Requires discipline to keep architecture organized
    • 24
      No predefined way to structure your app
    • 23
      Need to be familiar with lots of third party packages
    • 9
      JSX
    • 7
      Not enterprise friendly
    • 5
      One-way binding only
    • 2
      State consistency with backend neglected
    • 2
      Bad Documentation
    • 1
      Paradigms change too fast

    related React posts

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

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

    See more
    Adebayo Akinlaja
    Engineering Manager at Andela · | 28 upvotes · 1.3M views

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

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

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

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

    See more
    Pug logo

    Pug

    1.1K
    1.1K
    444
    Robust, elegant, feature rich template engine for nodejs
    1.1K
    1.1K
    + 1
    444
    PROS OF PUG
    • 134
      Elegant html
    • 89
      Great with nodejs
    • 57
      Very short syntax
    • 56
      Open source
    • 53
      Structured with indentation
    • 23
      Free
    • 5
      Gulp
    • 5
      It's not HAML
    • 4
      Really similar to Slim (from Ruby fame)
    • 4
      Difficult For Front End Developers,learn backend
    • 4
      Easy setup
    • 4
      Readable code
    • 4
      Clean syntax
    • 2
      Disdain for angled brackets
    CONS OF PUG
      Be the first to leave a con

      related Pug posts

      JSX logo

      JSX

      82
      80
      0
      A statically-typed, object-oriented programming language
      82
      80
      + 1
      0
      PROS OF JSX
        Be the first to leave a pro
        CONS OF JSX
          Be the first to leave a con

          related JSX posts

          Mustache logo

          Mustache

          1.6K
          388
          50
          Logic-less templates
          1.6K
          388
          + 1
          50
          PROS OF MUSTACHE
          • 29
            Dead simple templating
          • 12
            Open source
          • 8
            Small
          • 1
            Support in lots of languages
          CONS OF MUSTACHE
            Be the first to leave a con

            related Mustache posts

            TypeScript logo

            TypeScript

            68K
            52.8K
            466
            A superset of JavaScript that compiles to clean JavaScript output
            68K
            52.8K
            + 1
            466
            PROS OF TYPESCRIPT
            • 164
              More intuitive and type safe javascript
            • 97
              Type safe
            • 73
              JavaScript superset
            • 47
              The best AltJS ever
            • 27
              Best AltJS for BackEnd
            • 14
              Powerful type system, including generics & JS features
            • 10
              Nice and seamless hybrid of static and dynamic typing
            • 9
              Compile time errors
            • 9
              Aligned with ES development for compatibility
            • 6
              Angular
            • 6
              Structural, rather than nominal, subtyping
            • 3
              Starts and ends with JavaScript
            • 1
              Garbage collection
            CONS OF TYPESCRIPT
            • 4
              Code may look heavy and confusing
            • 3
              Hype

            related TypeScript posts

            Yshay Yaacobi

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

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

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

            See more
            Adebayo Akinlaja
            Engineering Manager at Andela · | 28 upvotes · 1.3M views

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

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

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

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

            See more
            Smarty logo

            Smarty

            1.1K
            60
            0
            Template engine for PHP
            1.1K
            60
            + 1
            0
            PROS OF SMARTY
              Be the first to leave a pro
              CONS OF SMARTY
                Be the first to leave a con

                related Smarty posts

                Jinja logo

                Jinja

                602
                247
                7
                Full featured template engine for Python
                602
                247
                + 1
                7
                PROS OF JINJA
                • 7
                  It is simple to use
                CONS OF JINJA
                  Be the first to leave a con

                  related Jinja posts

                  I have learned both Python and JavaScript. I also tried my hand at Django. But i found it difficult to work with Django, on frontend its Jinja format is very confusing and limited. I have not tried Node.js yet and unsure which tool to go ahead with. I want an internship as soon as possible so please answer keeping that in mind.

                  See more