Handlebards.js vs Marko.js: Link to Marko.js library
I have to develop a portfolio
site for a friend. The majority of the site will be static
with things like information about the person, skills, projects etc. The usual stuff.
The only part which would need some backend implementation would be the contact form and that also, I may or may not integrate with MailChimp.
Now, since most of it is static, I want to go a minimalist HTML approach instead of the traditional HTML, CSS approach.
Also, since, it is a portfolio site, it will have a considerable amount of canvas animations
too. Just to make it look interactive. So, performance and load time is a big concern.
Handlebars are very old, whereas Marko.js is fairly new and also supported by eBay which looks a good thing.
I havnt used Marko. Looked it up for 30mins. Looks like Marko is more javascript heavy. Would be good for you, since you want to do minimalist html. Pick Marko if you want minimalist html.
HOWEVER
Marko npm download as of now is 0.014 million weekly. Handlebars download 8.6 million weekly. If you find problems, your support will be weak. Even the stack overflow for Marko is tiny.
Old does not mean bad. New does not mean good. Beware of that fact.
Ask yourself what you want out of this project. Is it to learn a new technology (Marko?). If yes, go for it. Is it to get the project done as fast as possible? (if yes, go with handlebars). The learning curve for marko will be higher than handlebars.
Marko to me, looks good for HUGE sites with lots of data, and if you're javascript pro and not good at html/css. Sending the data to browser in chunks is the biggest benefit. For a portfolio site, it's like flying a plane to your neighbour's house instead of just walking there. You will walk there faster, than flying there.
Using handlebars you'll use the basic html/css which is required in all things. You can transplant this knowledge if you ever use other technology.
This is just my opinion: IF you want to finish the project, use Handlebars. If you want to learn a new technology, use Marko. If you not interested in learning a new technology, just use the tools that's most widely available, that will do the job => Handlebars. I've made many mistakes in the past thinking far too into the future, wasting time upgrading and learning new technology in case my system gets massive. Total waste of time. Get it working and move to the next project.
Good luck to you.