Alternatives to Pug logo

Alternatives to Pug

EJS, Handlebars.js, React, TypeScript, and Mustache are the most popular alternatives and competitors to Pug.
1K
862
+ 1
404

What is Pug and what are its top alternatives?

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.
Pug is a tool in the Templating Languages & Extensions category of a tech stack.
Pug is an open source tool with 19.6K GitHub stars and 1.9K GitHub forks. Here’s a link to Pug's open source repository on GitHub

Top Alternatives to Pug

Pug alternatives & related posts

EJS logo

EJS

78
113
3
An Embedded JavaScript templating Language
78
113
+ 1
3

related EJS posts

Handlebars.js logo

Handlebars.js

5.1K
1.6K
301
Minimal Templating on Steroids
5.1K
1.6K
+ 1
301

related Handlebars.js posts

related React posts

Vaibhav Taunk
Team Lead at Technovert · | 31 upvotes · 1.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
Johnny Bell
Software Engineer at Weedmaps · | 26 upvotes · 150.6K views
Shared insights
on
Vue.js
React

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.

See more

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
Jonathan Pugh
Software Engineer / Project Manager / Technical Architect · | 25 upvotes · 1.2M views

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
Mustache logo

Mustache

1.4K
276
50
Logic-less templates
1.4K
276
+ 1
50
CONS OF MUSTACHE
    No cons available

    related Mustache posts

    Hogan.js logo

    Hogan.js

    300
    36
    3
    A compiler for the Mustache templating language
    300
    36
    + 1
    3
    PROS OF HOGAN.JS
    CONS OF HOGAN.JS
      No cons available

      related Hogan.js posts

      Smarty logo

      Smarty

      250
      36
      0
      Template engine for PHP
      250
      36
      + 1
      0
      PROS OF SMARTY
        No pros available
        CONS OF SMARTY
          No cons available

          related Smarty posts

          Jinja logo

          Jinja

          181
          159
          6
          Full featured template engine for Python
          181
          159
          + 1
          6
          PROS OF JINJA
          CONS OF JINJA
            No cons available

            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
            Seungkwon Park
            Shared insights
            on
            Jinja

            django와 flask에서 html을 다룰때 jinja를 통해 다룹니다. 이것으로 템플릿을 나누어 header, footer를 별도로 관리하며 | 를 사용해 함수를 만들어 데이터를 수정하기도 합니다.

            특히 summernote를 이용과 해쉬태그 만들기를 하면서 jinja에 대한 이해가 높아졌습니다. Jinja2

            See more