Need advice about which tool to choose?Ask the StackShare community!

Handlebars.js

7.8K
3.2K
+ 1
308
PHP

143.6K
80.6K
+ 1
4.6K
Add tool

Handlebars.js vs PHP: What are the differences?

Introduction

In this Markdown code, we will discuss the key differences between Handlebars.js and PHP. Handlebars.js is a popular templating engine for JavaScript, while PHP is a server-side scripting language commonly used for web development.

  1. Syntax: The syntax of Handlebars.js and PHP differs significantly. Handlebars.js uses a combination of HTML-like tags and double curly braces ({{ }}) to define variables, helpers, and conditional statements. On the other hand, PHP uses a mix of HTML and PHP tags (<?php ?>) to embed PHP code within an HTML document.

  2. Client vs. Server-side: Handlebars.js is a client-side templating engine, meaning it runs on the client's web browser after the HTML has been delivered by the server. In contrast, PHP is a server-side scripting language, which means it is executed on the server before the page is sent to the client's browser.

  3. Data Binding: Handlebars.js provides automatic data binding, allowing for dynamic updates to the UI based on changes in the data. PHP, being a server-side language, does not offer this feature natively and requires additional techniques like AJAX or page reloading to achieve similar functionality.

  4. Template Inheritance: Handlebars.js does not natively support template inheritance, requiring developers to implement their own techniques like partials and helpers to achieve reusable templates. PHP, on the other hand, supports template inheritance through features like include and require, allowing for modular and reusable code structures.

  5. Integration with Other Technologies: Handlebars.js is predominantly used with JavaScript frameworks like Ember.js and Backbone.js, integrating seamlessly with these frameworks to create dynamic web applications. PHP, being a server-side language, can be integrated with various web technologies, including databases, content management systems, and other scripting languages.

  6. Learning Curve: Handlebars.js has a relatively low learning curve compared to PHP, as it focuses solely on templating and does not require developers to learn an entire programming language. PHP, being a full-fledged programming language, has a steeper learning curve, requiring knowledge of syntax, control structures, and other programming concepts.

In summary, Handlebars.js and PHP differ in syntax, client vs. server-side execution, data binding capabilities, template inheritance support, integration with other technologies, and learning curve.

Advice on Handlebars.js and PHP
Needs advice
on
Node.jsNode.jsPHPPHP
and
PythonPython

Hi, I have a project on my mind, and I need some help. First of all, I know it is all about personal preference, but I am a beginner in the back-end part. So, I am trying to figure out which language is better, for example, for user authentication and interaction between the users. Also, I don't know which framework is better for this work. My first thought was to use PHP, but after some research on the internet, I'm leaning towards Laravel. I will be grateful if you have some advice for me.

#newbie

See more
Replies (7)
Ezra Fayet
Recommends
on
Node.jsNode.jsPHPPHP

First thoughts: * As a beginner you need to understand concepts first, all languages out there are great, each has it's own philosophy, each is better suited for a specific situation. Learn concepts first, do something, then you will understand the differences between them and why one should be chose over another for a task * As a project manager you want your project to come to an end. You will get lost in all the different solutions out there (and it's good), but don't get lost too far. Very often I see people getting lost in those debates and never achieving things, like someone writing a book that would still be choosing the font 6 months after (we've all done that it's ok, but we have to realise it)

Chances are your project can be equally good on any different stacks. I heard an interview of someone from Uber who said something like they started with python, went to node, went back to python and went to go, and with micro-services now they can have all of them all-together.

Last remark: from what I know Laravel is a framework for PHP, so it IS PHP. Just like Symphony for PHP, Express for Node.js, Koa for Node.js, Flask for Python ...

Now to answer your question :

  • PHP has a big community, it is great and easy to start with, and you will definitely will learn real object oriented structure
  • Node.js has a big community too, don't worry finding help will be as easy. It is less easy to start with but in my point of view it is a lot easier to keep on going with it on a long run. Why ? Because it's very easy to run a new project, and it executes javascript. How is it good ? Because chances are that your front will also be using javascript (React.js / View.js are crazy good). Thanks to that you will be able to master the language better because you will use it all day (and at first mastering one language is more valuable than barely knowing two) and you won't have to switch languages in your head when you code. And communication between front and back will be in json ... Which is crazy close to javascript.

Alexander is right, if you go with PHP take your time first to do things by yourself like building your own MVC, the benefit is huge and the risk is to never really be able to understand what's happening on a deeper level. (at some point you can switch to a framework though). He's also right on choosing a strongly typed language, problem is javascript is not. This is why, if you choose node, when you start being confident, add typesccript.

Hope it helps, good luck

See more
Octavian Irimia
Recommends
on
PHPPHP

Short answer, if it's a web project (and I guess it is) go with PHP and you can integrate NodeJs services later.

@adzaria (Ezra Fayet) gave a great answer and I'd like to emphasize the first part: As a beginner you need to understand concepts first. For me that means to understand the web, how servers and requests work, APIs and few others.

Now, I'd like to add few things so, this is the long answer:

Why PHP?

  • Everyone knows about the community - PHP is way older so you will find lots of resources and I am not only talking about learning - also lots of helpful tools and packages
  • PHP is great for OOP - not perfect, but with PHP7 got great - and if you are a beginner you want to know good OOP for your future. Let's say JavaScript's OOP is a bit strange; I will not get into details but, let's say "it's not by the book". You can still learn JavaScript for your front-end

Why not Python? Python got popular because of AI - don't use PHP for AI and don't use Python for web applications. I can elaborate a lot here but I guess you get the point.

Why not NodeJs?

  • NodeJs got popular because of sockets - and it works great, but as a service
  • Try to find a good and affordable hosting for NodeJs. How about for Python?
  • I would not ignore the security issues that it had and could appear. PHP is older and, therefore, wiser :)

Now, about a framework... is this a learning project or something that you need to do fast? My advice is to start a small project and not use any framework. However, you can use packages and inspire from a framework's architecture - Laravel is a good role model.

Why not start a big project? You will get distracted, get into details and product design stuff and get scared or border and abandon it. For your project you need an MVP - list of minimum required features that you put on paper - that you will complete. After that you can improve.

Good luck!

See more
somes kumar k
Member Technical Staff at Manage Engine, division of Zoho Corp · | 3 upvotes · 350.2K views
Recommends
on
Node.jsNode.js

you can choose Node.js Here are my points

Node.js is build over chrome’s v8 and its works on non blocking io. Node.js have huge community and great packages (npm) to help you out in most cases and makes development faster Node.js has been adopted by many multi dollar company Hope this helps😊

See more
Recommends
on
DjangoDjangoPythonPython

I have used Laravel, but with Django you can develop faster, as authentication and admin panel are configured out of the box. It users SQLite by default and you won't have to worry about the database in the begginning

See more
Tarun Batra
Senior Software Developer at Okta · | 2 upvotes · 338.6K views
Recommends
on
DjangoDjangoPythonPython

Python, PHP and Node.js all are capable of being used to create good complex software. There are many examples of similar applications built on all of them. If I have to pick one, I would say consider Python and Django. It is fairly easy to develop web applications on top of this stack. Scaling and maintaining the application should also not be a problem given a lot of resources are available online.

See more
Alexander Santos
Fullstack Developer at 3CON · | 2 upvotes · 345.9K views
Recommends
on
PHPPHP

The reason why i chose PHP is the amount of content you can find on the internet easily. As you quoted being a beginner, i think a more mature language would be better. And that's also another reason for following with PHP.

Python is simple and "mature", but it can be a bit hard to understand if you are a beginner. Python relies on heavy abstraction, and that's the reason behind it's simplicity. Python is an "easy to play, hard to master" language, i never recommend it to beginners. Also, one [maybe personal] reason why i don't like to use Python as back-end is: Python is very data-focused. So if your app has focus on business logic, Python wouldn't fit very well. And with that becomes an advantage, if your app has statistical focus, being data-focused or something like that, Python has huge advantage among all other languages due to many great tools the community has built.

About Node, it's like PHP, but less mature. It's as easy as PHP to find tools that can help you, for example, to abstract the database-connection's logic. But to find architectural-focused content, more advanced concepts, it's a lot harder. While that, Laravel's community, for example, has a lot of materials that involves those concepts.

Still, if you are really a beginner, i don't recommend using Laravel with PHP. Do things on plain PHP first, understand the reason behind using frameworks and Laravel's motivation.

Also, consider a strong-typed language first, those are considered more didatic, but less flexible.

See more
Recommends
on
Node.jsNode.jsPHPPHPPythonPython

You cannot choose between Python | PHP | NodeJS Since they are entirely for Different purpose.

In Bird view

Python - Large Scale Projects and if you want a job in big IT company.

Node.JS - Huge computing projects and if you want job in Silicon valley startup.

PHP - Cost Effective and If you want start a business in near future.

See more
Asad Gilani
Software Engineer at Lisec Automation · | 5 upvotes · 215.3K views
Needs advice
on
Handlebars.jsHandlebars.js
and
LiquidLiquid

@All: I am searching for the best template engine for .NET. I started looking into several template engines, including the Dotliquid, Handlebars.js, Scriban, and Razorlight. I found handlebar a bit difficult to use when using the loops and condition because you need to register for helper first. DotLiquid and Scriban were easy to use and in Razorlight I did not find the example for loops.

Can you please suggest which template engine is best suited for the use of conditional/list and looping and why? Or if anybody could provide me a resource or link where I can compare which is best?

Thanks In Advance

See more
Replies (1)
Josh Lind
Recommends
on
Handlebars.jsHandlebars.js

I like Handlebars, it's very mature... some would say-- outdated.

Handlebars loops are done via {{#each myList}}. Read the docs! https://handlebarsjs.com/guide

Remember, don't put logic in your templates! Keep this layer simple. Sorry to hear you have to use dotNet.

See more
Needs advice
on
JavaJavaPHPPHP
and
PythonPython

Hi everyone, I have just started to study web development, so I'm very new in this field. I would like to ask you which tools are most updated and good to use for getting a job in medium-big company. Front-end is basically not changing by time so much (as I understood by researching some info), so my question is about back-end tools. Which backend tools are most updated and requested by medium-big companies (I am searching for immediate job possibly)?

Thank you in advance Davit

See more
Replies (4)
Pierrick Martos
Engineering Manager at Akeneo · | 20 upvotes · 341.1K views
Recommends
on
PythonPython

Go with Python definetly. It's used everywhere by web developers for backend developments : API, website backend, workers... but also by data scientists (lot lot of resources, models and libraries in Python it's language #1). For the web parts, best web framework are in Python : https://stackshare.io/microframeworks (Flask #2 and Django #3). Java is good but trend is not great in terms of popularity amongs developers and tech leaders.

See more
Vijayakumar Rajagopal
Recommends
on
JavaJava

As per my experience java is most wanted for web development as of now. micro service is evolving . with frameworks like spring boot supports rapid development. Spring boot + Docker + kubernetes great combination.

See more
sharik zama
Software engineering Intern at EPAM Systems · | 5 upvotes · 340.3K views
Recommends
on
JavaScriptJavaScript

I would recommend learning HTML, CSS, and JavaScript (most important). JavaScript forms the backbone of web development. And, there are many popular and widely used frameworks like Angular and React that heavily rely on the knowledge of JavaScript. The number of job opportunities are much more when it comes to javascript.

See more
Chathuranga Bandara
Recommends
on
PythonPython

I would recommend Python as the programming language and as you are a new developer, Flask to start with. It gives you a solid understanding on the web patterns such as REST and will get you up and running in no time. However, I suggest you to read and study on front-end technologies like (React or Vue) and databases (SQL and NoSQL) and probably some NodeJS as well. First grasp the concepts (which Python is ideal for) then it does not really matter the language as such.

See more
Decisions about Handlebars.js and PHP
Kyle Harrison
Web Application Developer at Fortinet · | 17 upvotes · 364.6K views

Node continues to be dominant force in the world of web apps, with it's signature async first non-blocking IO, and frankly mind bending speeds. PHP and Python are formable tools, I chose Node for the simplicity of Express as a good and performant server side API gateway platform, that works well with Angular.

See more
Octavian Irimia

Both PHP and Python are free but when it comes to web development PHP wins for sure. There is no doubt that Python is a powerful language but it is not optimal for web. PHP has issues... of course; but so does any other language.

Another reason I chose PHP is for community - it has one of the most resourceful communities from the internet and for a good reason: it evolved with the language itself.

The fact that OOP evolved so much in PHP makes me keep it for good :)

See more
Roman Glushko
Machine Learning, Software Engineering and Life · | 3 upvotes · 359.1K views

I chose Golang as a language to write Tango because it's super easy to get started with. I also considered Rust, but learning curve of it is much higher than in Golang. I felt like I would need to spend an endless amount of time to even get the hello world app working in Rust. While easy to learn, Golang still shows good performance, multithreading out of the box and fun to implement.

I also could choose PHP and create a phar-based tool, but I was not sure that it would be a good choice as I want to scale to be able to process Gbs of access log data

See more
Mohamed Hassan
Software Engineer at YottaHQ Inc. · | 4 upvotes · 183.8K views

PHP is easy to learn and you can get up and running in no time, available on almost all hosting providers and you can find developers easily. It has some great frameworks for building your backend like Symfony and Laravel. However, it can be challenging when running an enterprise and needs some adjustments, very recommended for starting a new project or startup.

See more
Subhan Nooriansyah
Full Stack Mobile Developer at AISITS · | 1 upvote · 181.1K views

Websocket is trending this year, but there is another technology similar with Websocket (WS) is Server Sent Event (SSE). Those method have used similar Content-type, SSE is used to text/event-stream and WS is used to binary or text/octet-stream.

The different both of those method is sent. WS is an undirectional sending data both of client and server and SSE is whatever data on server will be push to client.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Handlebars.js
Pros of PHP
  • 106
    Simple
  • 76
    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
  • 952
    Large community
  • 818
    Open source
  • 766
    Easy deployment
  • 487
    Great frameworks
  • 387
    The best glue on the web
  • 235
    Continual improvements
  • 185
    Good old web
  • 145
    Web foundation
  • 135
    Community packages
  • 125
    Tool support
  • 35
    Used by wordpress
  • 34
    Excellent documentation
  • 29
    Used by Facebook
  • 23
    Because of Symfony
  • 21
    Dynamic Language
  • 17
    Cheap hosting
  • 16
    Easy to learn
  • 14
    Awesome Language and easy to implement
  • 14
    Fast development
  • 14
    Very powerful web language
  • 13
    Composer
  • 13
    Because of Laravel
  • 12
    Flexibility, syntax, extensibility
  • 9
    Easiest deployment
  • 8
    Readable Code
  • 8
    Fast
  • 7
    Fastestest Time to Version 1.0 Deployments
  • 7
    Worst popularity quality ratio
  • 7
    Short development lead times
  • 7
    Most of the web uses it
  • 6
    Faster then ever
  • 5
    Open source and large community
  • 5
    Simple, flexible yet Scalable
  • 4
    I have no choice :(
  • 4
    Has the best ecommerce(Magento,Prestashop,Opencart,etc)
  • 4
    Is like one zip of air
  • 4
    Open source and great framework
  • 4
    Large community, easy setup, easy deployment, framework
  • 4
    Great developer experience
  • 4
    Easy to use and learn
  • 4
    Cheap to own
  • 4
    Easy to learn, a big community, lot of frameworks
  • 2
    Walk away
  • 2
    Used by STOMT
  • 2
    Hard not to use
  • 2
    Fault tolerance
  • 2
    Great flexibility. From fast prototyping to large apps
  • 2
    Interpreted at the run time
  • 2
    FFI
  • 2
    Safe the planet
  • 1
    It can get you a lamborghini
  • 1
    Secure
  • 1
    Simplesaml
  • 1
    Bando
  • 0
    Secure

Sign up to add or upvote prosMake informed product decisions

Cons of Handlebars.js
Cons of PHP
    Be the first to leave a con
    • 22
      So easy to learn, good practices are hard to find
    • 16
      Inconsistent API
    • 8
      Fragmented community
    • 6
      Not secure
    • 3
      No routing system
    • 3
      Hard to debug
    • 2
      Old

    Sign up to add or upvote consMake informed product decisions

    - No public GitHub repository available -

    What is 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.

    What is PHP?

    Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Handlebars.js?
    What companies use PHP?
    Manage your open source components, licenses, and vulnerabilities
    Learn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Handlebars.js?
    What tools integrate with PHP?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    Blog Posts

    Oct 3 2019 at 7:13PM

    Ably Realtime

    JavaScriptPythonNode.js+8
    5
    3859
    What are some alternatives to Handlebars.js and PHP?
    AngularJS
    AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTML’s syntax to express your application’s components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding.
    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.
    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.
    Underscore
    A JavaScript library that provides a whole mess of useful functional programming helpers without extending any built-in objects.
    doT.js
    It is a fastest and concise javascript template engine for Node.js and browsers. It was created in search of the fastest and concise JavaScript templating function with emphasis on performance under V8 and Node.js. It shows great performance for both Node.js and browsers.
    See all alternatives