Alternatives to EJS logo

Alternatives to EJS

Handlebars.js, React, Pug, JSX, and Mustache are the most popular alternatives and competitors to EJS.
161
326
+ 1
15

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 7K GitHub stars and 769 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

7.1K
3.2K
309
Minimal Templating on Steroids
7.1K
3.2K
+ 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

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

    related React posts

    Vaibhav Taunk
    Team Lead at Technovert · | 31 upvotes · 2.3M 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 · | 30 upvotes · 1.6M 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.2K
    450
    Robust, elegant, feature rich template engine for nodejs
    1.1K
    1.2K
    + 1
    450
    PROS OF PUG
    • 136
      Elegant html
    • 89
      Great with nodejs
    • 58
      Very short syntax
    • 57
      Open source
    • 53
      Structured with indentation
    • 23
      Free
    • 5
      It's not HAML
    • 5
      Really similar to Slim (from Ruby fame)
    • 5
      Gulp
    • 4
      Clean syntax
    • 4
      Readable code
    • 4
      Easy setup
    • 4
      Difficult For Front End Developers,learn backend
    • 3
      Disdain for angled brackets
    CONS OF PUG
      Be the first to leave a con

      related Pug posts

      JSX logo

      JSX

      90
      92
      2
      A statically-typed, object-oriented programming language
      90
      92
      + 1
      2
      PROS OF JSX
      • 1
        Can be used with React
      • 1
        Supports React
      CONS OF JSX
      • 1
        JSX is a con of React

      related JSX posts

      Mustache logo

      Mustache

      1.7K
      406
      50
      Logic-less templates
      1.7K
      406
      + 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

        79.4K
        61.2K
        490
        A superset of JavaScript that compiles to clean JavaScript output
        79.4K
        61.2K
        + 1
        490
        PROS OF TYPESCRIPT
        • 170
          More intuitive and type safe javascript
        • 103
          Type safe
        • 78
          JavaScript superset
        • 47
          The best AltJS ever
        • 27
          Best AltJS for BackEnd
        • 15
          Powerful type system, including generics & JS features
        • 11
          Nice and seamless hybrid of static and dynamic typing
        • 10
          Aligned with ES development for compatibility
        • 10
          Compile time errors
        • 7
          Angular
        • 7
          Structural, rather than nominal, subtyping
        • 4
          Starts and ends with JavaScript
        • 1
          Garbage collection
        CONS OF TYPESCRIPT
        • 5
          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 · | 30 upvotes · 1.6M 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.6K
        64
        0
        Template engine for PHP
        1.6K
        64
        + 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

            836
            268
            7
            Full featured template engine for Python
            836
            268
            + 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