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

HAML

530
332
+ 1
267
HTML5

148.6K
126.8K
+ 1
2.2K
Add tool

HAML vs HTML5: What are the differences?

Introduction

HAML and HTML5 are both markup languages commonly used in web development. While HAML is a more concise and streamlined language, HTML5 is a widely adopted standard for structuring web content. There are several key differences between the two that make them unique and suitable for different purposes.

  1. Syntax: HAML uses indentation to represent nested elements, eliminating the need for closing tags. On the other hand, HTML5 relies on opening and closing tags to define the structure of the document. This makes the syntax of HAML more compact and easier to read.

  2. Conciseness: HAML offers a more concise syntax compared to HTML5. With HAML, developers can write less code to achieve the same result as HTML5. This can improve development speed and reduces the chances of human error.

  3. Whitespace Sensitivity: HAML is whitespace sensitive, meaning that indentation plays a significant role in determining the hierarchy and structure of the document. In HTML5, whitespace is generally ignored, and developers have more flexibility in organizing their code.

  4. Readability: HAML code can be more readable due to its reduced use of tags and symbols. With HAML, developers can focus more on the content and logic, rather than getting overwhelmed by tags and closing brackets in HTML5.

  5. Simplicity: HAML simplifies the implementation of dynamic content by offering built-in support for variable interpolation and code evaluation. HTML5, on the other hand, requires additional scripting or templating languages to achieve the same functionality.

  6. Tooling and Ecosystem: HTML5 has a well-established ecosystem with extensive tooling and frameworks built around it. HAML, while also having some tooling and frameworks available, may not have the same level of support and community as HTML5. Developers may need to consider the availability and compatibility of tools when choosing between the two languages.

In summary, HAML and HTML5 differ in syntax, conciseness, whitespace sensitivity, readability, simplicity, and tooling/ecosystem. These differences make them suitable for different use cases and preferences in web development.

Advice on HAML and HTML5
fisher boy
Intern web developer at Stepway · | 9 upvotes · 108.1K views
Needs advice
on
CSS 3CSS 3HTML5HTML5
and
JavaScriptJavaScript
in

Hey I'm currently an undergraduate in computer science for almost 5 years now, still left with a few courses before I complete. I know that I'm not good at programming but still I choose developer based programming career approach, I have made plans to start my career in websites, etc, for that, I have purchased books related to HTML5, CSS , JavaScript. I'm currently learning HTML5 and CSS only and after this some JavaScript I am really confident in my decision but would love to know what an expert developer advice thanks in advance.

See more
Replies (7)

Whatever you do don't go WordPress path. Developers over-there tend to ignore system limitations and hardcode and overengineer their solutions so as to please their clients. If you are a beginner probably you'll get to work on someone else's shitty code and will be asked by your boss to do "yet another impossible thing with Wordpress". And... Probably... You'll do it.

My suggestion is: think in stacks and don't start too low. Starting with HTML, CSS3 and JavaScript is too low. Start on higher levels and with something practical. You'll have time for basics some time later and it would be much easier, because you'll see those technologies are compliment to what you do and not your main objective.

My suggestion for you:

  • Android Mobile App Development path (complex enough so you won't get bored)
  • All things web3 crypto, nft, virtual reality, blockchain path (has tons of computing web development tasks)
  • Cloud computing setup and administration path (good, because you say you're not good at programming)
  • Artificial intelligence and automation (this is future, people need this)

I've also found it helpful to think of each stack as a surface (find Google Images "radar chart") . Every time you try to learn something new you start in the center, with all technology-points overlapping. You are as low as you can get and you know nothing. Your job is to expand outwards each technology so as to make a stack-surace. The more surface the better. You'll see that some technological-aspects are easier to expand than others and plan your time accordingly.

Have a good start!

See more

You can also try starting with one of the big marketing agencies. Even if you don't feel like you're ready to start as a web developer (you likely are, though, they hire at all levels) you can start as a content author or similar supporting role until you're more comfortable, then transition into a development role within the same company when you're ready.

See more
Shanover Saiyed
Software Engineer (Web) · | 4 upvotes · 50.3K views
Recommends
on
SvelteSvelteVue.jsVue.js

I would recommend you to learn these quickly and get on learning a good front-end framework like Vue, ReactJs, Svelte. Pick up real world projects not just learn from books. Always keep learning about the new technologies used to develop things because IT Web development tools and their approach is growing faster than ever, you have got to keep up with those new techs and tools. Final advise, open any job portal, find your targeted job and see what requirements are their.

See more
Recommends

I don't believe that you are confident about your decision to follow a career path as a developer. This migh be your department's fault and not necessarily yours. Most good developers are already working as developers at that age. Although your current status states that you are an intern you are struggling to find a good starting point. Since you are interested in website developmnet you can start learning programming using a mainstream CMS such as wordpress. Do you know how many companies and self employed guys make their living by customizing wordpess? But if you want to step out of the crowd then seek for junior jobs on a fintech or on a vertical market such as travel or betting. Search for online job oportunities and find out what technologies these guys use then take an online course and start learning the language. Within a month or two apply for a job as a junior and use as reference the online course.

See more
Jose Vargas
Tech Lead at BAC Latam · | 3 upvotes · 49K views
Recommends
on
JavaScriptJavaScript

JavaScript is an ever growing technology with lots of opportunities and great depth for both front end and back end development. I would say that JavaScript is a safe bet in terms of furthering your career as a developer in 2022 and beyond. There’s lots of tools and frameworks based on this language that you would have to make decisions on which ones you want to become an expert. I recommend you follow interesting people that you admire to draw inspiration from. Such as Ben Awad or Jeff Delaney. Check this web page recommended to me by the latter on his YouTube channel “Fireship”: https://2021.stateofjs.com/en-US/resources/

See more
Recommends

this article might help you. Web development is a combination of skills. not only developing skills but also SEO and other stuff. codehub.lk/web-development-skills-you-must-have/

See more
Recommends

JS + HTML + CSS only tackles the front-end of programming. I suggest you can start to learn by finding an open API related to something you love and then creating a website for it. (E.g. movies, documentaries, music, whatever you are into) Also you can do this dude's tutorials https://www.youtube.com/watch?v=dtKciwk_si4

Later on, when you've already one a few projects, start to learn the backend side of things (database + whatever you want - C#, Python...)

See more
Needs advice
on
HTML5HTML5csscss
and
PHPPHP

Hello,

I want to generate dynamic CSS for each user with an expiry link.

I've created a cloud-based tool (Example - https://www.tablesgenerator.com/) where people can create tables and use them on their website by pasting the HTML generated by the tool.

Now, there are a few styling options needed, which can be done using CSS. As of now, I'm asking the users to copy the CSS and paste it in the "Custom CSS" section, which is a bit hectic work as they need to change the CSS every time if I make any changes to the styling.

So, I'm just wondering if there's a way to generate dynamic CSS for each user with an expiry link.

Currently, I have around 200 users, and what's the best way to do it?

See more
Replies (2)
Grant Steuart
Recommends
on
csscss

Instead of having the user copy and paste the CSS directly, have them copy and paste the HTML that will include an external CSS file generated and hosted by your application. This will allow you to control when the stylesheet is updated as well as control privileges on who can request the file. Additionally, using a CDN service (e.g. Cloudflare) will allow you to cache the static assets being requested reducing overall server load.

When your server (and optionally CDN) no longer are serving the file, consider the link expired. Unique URLs can be generated using a multitude of methods but maybe consider if there is any benefit to the users if it follows the scheme: yourdomain.com/USERNAME/CUSTOM_NAME.css rather than something like: yourdomain.com/style/SOME-UNIQUE-HASH-1234.css

See more
Recommends
on
HTML5HTML5csscssPHPPHP

The best way, as usual, is a "it depends".

Still I would go to something as simple as storing the expire date+the generated css and other metadata in a table. If a user tries to access something that is expired than he's redirected to a specific page. Periodically (like once a day), a janitor process deletes the old data.

See more
Decisions about HAML and HTML5
  • Client-Side: \ The form of our product is a web app because we would also provide a dashboard for displaying data and for some further purpose including data filtering and comparison. Hence, we would definitely use HTML5 for structuring the web, CSS3 for styling the web, and JavaScript for building the front-end logic. As for frameworks, we would use React because it is component-based that can keep our front-end code clean and organized. The virtual DOM of React also provides better efficiency in time when rendering the page. Furthermore, React has a greater number of users than Vue and Angular, thus have active communities for problem-spotting and problem-solving. We would also incorporate Bootstrap into our web app to provide an aesthetic user interface and thus to improve the user experience. The fact that Boostrap supports responsive site would also ease our workload if future adaptation for mobiles is needed.
See more

Frontend:

  • For our web app frontend, we decided to use TypeScript as our programming language because it supports all functionality of JavaScript and supports optional typing to the language, which can help us take advantage of OOP.
  • We chose ReactJS as our frontend library because its state management would be very handy for our single-page app. React is also component-based, which can help us improve the modularity and extensibility of the project.
  • Aside from the standard web technology HTML/CSS, we will useBootstrap to style UI components and make our web app responsive to different screen sizes.
See more

A major part of our project includes visualizing the data through graphs and charts. We chose to use d3.js since it provides a wide selection of well-designed graphics and animations. As a library, it is also easy to use and be included in our UI. JavaScript which our team has experience with was also selected to integrate graphics from d3.js into the UI, as well as to integrate the UI with the backend system. Along with JavaScript, HTML5 and CSS 3 are also selected mostly for styling and formatting the webpage. These three languages are widely used which means that more support will be available, making the implementation process easier.

See more
Labib Chowdhury
Student at University of Toronto · | 5 upvotes · 114.9K views

The key to our product relies on explainability and user experience when using our product. With this is mind, it is important to build a clean, readable web interface that a user will be able to navigate easily and quickly debug their security issues. The stack chosen for the interface of our product includes: JavaScript + React, CSS, HTML, Material UI and D3.js.

React provides us with simplicity to allow us to deliver the MVP as soon as possible. React also has multiple open source libraries to ease our development. Being able to reuse React components will help in developing the product fast as well as making the user interface modular. Since we're using React, we will also be using JavaScript, HTML, and CSS to create the frontend.

To design the UI, using a minimal approach would be the best solution. The Material UI library provides us with minimal and aesthetically pleasing React Components which would make our frontend look pleasing to the user.

Finally, our UI will consist of displaying information from our Machine Learning model in a dashboard type view. To display data in tasteful manner, we have chosen to use the D3.js library. This library is the most popular data visualization library for React with over 80k stars on Github. D3 also provides seamless compatibility with React and has a variety of features which would make the data we produce visually pleasing.

See more
Xinyi Liu
Software Developer at BigClarity · | 6 upvotes · 349.4K views

As our team will be building a web application, HTML5 and CSS3 are one of the standardized combinations to implement the structure and the styling of a webpage. Material-UI comes with all sorts of predesigned web components such as buttons and dropdowns that will save us tons of development time. Since it is a component library designed for React, it suits our needs. However, we do acknowledge that predesigned components may sometimes cause pains especially when it comes to custom styling. To make our life even easier, we also adopted Tailwind CSS. It is a CSS framework providing low-level utility classes that will act as building blocks when we create custom designs.

See more
Nathan De Pachtere
Fullstack Developer at Alpsify · | 8 upvotes · 96.4K views
Shared insights
on
CSS 3CSS 3HTML5HTML5JavaScriptJavaScript
at

Am I the only one to think that libraries like Bootstrap, Vuetify, Materialize, Foundation are too much sometimes ?

Most of the time you are loading all the library and using 10% of it. And on that 10% you are modifying 90% of it.

I feel like using grid and pure CSS / JS are enough and cleaner.

See more
Micky Singh
Digital Marketer at Techy Nickk · | 15 upvotes · 98.2K views
Shared a protip
on
CSS 3CSS 3HTML5HTML5

Things were very hard, before 2012 but when internet came to so many people it opens a lot ways. And now people could learn coding easily from their houses. So guys if you are a newbie who wants to learn coding with your phone then you should download these apps. Sololearn Curiosity codehub Encode

See more
Mafsys Technologies
CEO at Mafsys Technologies · | 7 upvotes · 91.5K views
Shared insights
on
CSS 3CSS 3HTML5HTML5

7 Awesome CSS3 Techniques You Should give a Try

  1. Vertically Align With Flexbox Earlier developers used to face a lot of difficulties aligning a text or any other element vertically center. But now, after the introduction of the new CSS3 specification Flexbox, things have become much easier.

  2. Responsive CSS Grid Do not make your grid an exception make it responsive too, like everything else in your design.

There are so many ways through which you can make your grid responsive with CSS Grid. And the best part of using it is, you will be able to create a more flexible grid that gives you the desired look, no matter what the device size is.

  1. Text Animations You might have created background animations with CSS, but now it also influences how users interact and engage with the text elements of a website. From hover adjustments to making words float in the air, CCS3 has made it all possible.

  2. Columns layout Usually, column-based layouts are created by using Javascript, which is quite complicated and time-consuming. But CSS has brought a way around to ease up the task of developers and web designers.

  3. Screen Orientation Many people think that screen orientation and device orientation both work for the same purpose. But that’s not the case. The orientation of the screen is a bit different from the device.

Even if a device is not capable of detecting its orientation, a screen always can. And if the device is capable also, then it’s good to have control over the screen orientation so that you can maintain or change the interface of your website.

  1. Comma Separated Lists There is no doubt that Bullet lists are very commonly used in writing to convey any information more precisely and clearly. But one thing that most people struggle with is to add commas on every point of the lists.

  2. Animated Checkbox Well, most of the people are very much aware of the CSS background and text animations. But, not many know about checkbox animations.

Yes, apart from background and texts, you can also make your checkbox section look visually appealing. Isn’t it great?

css3 #html5 #mafsyscss3 #mafsyshtml5 #mafsystechnology #mafsystechnologies #css3techniques #css3tips #html5tips
See more
Amir Mousavi

This post is a bit of an obvious one, as we have a web application, we obviously need to have HTML and CSS in our stack. Though specifically though, we can talk a bit about backward compatibility and the specific approaches we want to enforce in our codebase.

HTML : Not much explanation here, you have to interact with HTML for a web app. We will stick to the latest standard: HTML 5.

CSS: Again if we want to style any of our components within he web, we have to use to style it. Though we will be taking advantage of JSS in our code base and try to minimize the # of CSS stylesheets and include all our styling within the components themselves. This leaves the codebase much cleaner and makes it easier to find styles!

Babel: We understand that not every browser is able to support the cool new features of the latest node/JS features (such as redue, filter, etc) seen in ES6. We will make sure to have the correct Babel configuration o make our application backward compatible.

Material UI (MUI): We need to make our user interface as intuitive and pretty as possible within his MVP, and the UI framework used by Google will provide us with exactly that. MUI provides pretty much all the UI components you would need and allows heavy customization as well. Its vast # of demos will allow us to add components quickly and not get too hung up on making UI components.

We will be using the latest version of create-react-app which bundles most of the above along many necessary frameworks (e.g. Jest for testing) to get started quickly.

See more

Here are all tools and skills you need to have for being among to world's top Full Stack Developers Reviews, critics and suggestions are most welcomed!

  1. HTML and CSS
    • Semantic HTML5 elements
    • Basic CSS (Positioning, Box Models etc)
    • Flexbox & CSS Grid
    • CSS Variables (Custom Properties)
    • Browser Dev Tools
    • Responsive Layout • Set Viewpoint • Fluid Widths • Media Queries • rem over px • Mobile first, stacked columns
    • Saas
  2. Deployment • Namecheap, google domains • FTP, secure FTP • Inmotion, netlify, github
  3. Vanilla JavaScript
    • Basics
    • DOM manipulations and events
    • JSON
    • APIs
    • ES6+
  1. Build Basic Sites
  2. Build UI Layouts
  3. Add dynamic functionality
  4. Deploy and maintain websites

  5. HTML and CSS frameworks - Bootstrap / Materialize / Bulma

  6. Frontend JavaScript Frameworks - React, Vue and Angular

  7. Basic Command Line

    • Git
    • NPM
    • Parcel
    • Gulp
  8. State Management

    • Topics : Immutable State, Store, Reducers, Mutation, Getters, Actions, Observables
    • Tools : Redux, Apollo, VueX, NgRx
  1. Build incredible front-end applications
  2. Smooth and steady front-end workflow
  3. Work well with team and fluent with git
  4. Connect with background API and work with data

  5. Server Side Language

    • Language :
      • Nodejs - Express, Koa
      • PHP - Laravel
      • C# - ASP.NET
      • Python - Django, Flask
      • Go
    • Topics : Basic syntax, structure and workflow, package management, HTTP and Routing
  6. DataBase

    • Relational Database : MySQL, PostGreSQL
    • MongoDB
    • Cloud : Firebase, AWS, Azure
    • Lightweight - SQLite
  7. Server Rendered Pages :

    • Next.js
    • Nuxt.js
    • Angular Universal
  8. Content Management System

    • PHP : WordPress
    • JS : Ghost
    • Python : Mezzazine
    • .NET : Piranha
  9. Misc.

    • Linux
    • Ngnix
    • Digital Ocean
    • Heroku
    • Docker
  1. Setup Full Stack dev environments and workflows
  2. Build back-end APIs & micro services
  3. Work with databases
  4. Construct full stack apps
  5. Deploy to the cloud

Switching to Mobile Development : 1. React Native 2. NativeScript 3. Ionic 4. Flutter 5. Xamarin

Desktop Apps : 1. Electron 2. GraphQL 3. Apollo 4. TypeScript

Lastly, Serverless Architecture

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of HAML
Pros of HTML5
  • 68
    Clean and simple
  • 49
    No html open/close tags
  • 39
    Easier to write than ERB
  • 36
    Forces clean and readable code
  • 34
    Simpler markup language
  • 24
    Open Source
  • 16
    HTML Templating
  • 1
    You'll love it if you like Haikus
  • 447
    New doctype
  • 389
    Local storage
  • 334
    Canvas
  • 285
    Semantic header and footer
  • 240
    Video element
  • 121
    Geolocation
  • 106
    Form autofocus
  • 100
    Email inputs
  • 85
    Editable content
  • 79
    Application caches
  • 10
    Easy to use
  • 9
    Cleaner Code
  • 5
    Easy
  • 4
    Websockets
  • 4
    Semantical
  • 3
    Better
  • 3
    Audio element
  • 3
    Modern
  • 2
    Portability
  • 2
    Semantic Header and Footer, Geolocation, New Doctype
  • 2
    Content focused
  • 2
    Compatible
  • 1
    Very easy to learning to HTML

Sign up to add or upvote prosMake informed product decisions

Cons of HAML
Cons of HTML5
  • 3
    It's not Pug
  • 1
    Easy to forget the tags when you're a begginner
  • 1
    Long and winding code

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is HAML?

Haml is a markup language that’s used to cleanly and simply describe the HTML of any web document, without the use of inline code. Haml functions as a replacement for inline page templating systems such as PHP, ERB, and ASP. However, Haml avoids the need for explicitly coding HTML into the template, because it is actually an abstract description of the HTML, with some code to generate dynamic content.

What is HTML5?

HTML5 is a core technology markup language of the Internet used for structuring and presenting content for the World Wide Web. As of October 2014 this is the final and complete fifth revision of the HTML standard of the World Wide Web Consortium (W3C). The previous version, HTML 4, was standardised in 1997.

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

What companies use HAML?
What companies use HTML5?
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 HAML?
What tools integrate with HTML5?

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

Blog Posts

What are some alternatives to HAML and HTML5?
Slim
Slim is easy to use for both beginners and professionals. Slim favors cleanliness over terseness and common cases over edge cases. Its interface is simple, intuitive, and extensively documented — both online and in the code itself.
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.
YAML
A human-readable data-serialization language. It is commonly used for configuration files, but could be used in many applications where data is being stored or transmitted.
JavaScript
JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
See all alternatives