Introducing
The Slant team built an AI & it’s awesome
Find the best product instantly
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now
4.7 star rating
0
What is the best alternative to ERB?
Ad
Ad
Haml
All
5
Experiences
Pros
3
Cons
2
Top
Pro
Easy to learn
There are plenty of learning resources available for those who want to learn Haml. The documentation is detailed and well organized, and Haml is easy to pick up.
See More
Top
Con
Bad Performance
The rendering time with haml is slower than its competitors.
See More
Top
Pro
Efficient
By using indentation rather than closing tags and eliminating curly braces, Haml is fast to code. For example This: <div id ="lower"> <div class="right column"> <div id="currentDate"><%= print_date %></div> </div> </div> Can be written as: %div#lower %div.right.column %div#currentDate= print_date
See More
Top
Con
Whitespace sensitivity can be problematic
Haml uses indentation to define structure, rather than closing tags. Though this, in most cases, makes code more efficient to write, it can also cause problems. Being off by one space can cause an error or change the structure of the code.
See More
Top
Pro
Clean syntax
Haml's syntax is very clean and pleasant to look at. It doesn't use HTML tags and it's not verbose at all. The templates are easily readable.
See More
Hide
Get it
here
15
3
Slim
All
17
Experiences
Pros
12
Cons
4
Specs
Top
Pro
Well organized and thorough documentation
Slim's documentation is well organized and detailed, every concept is thoroughly explained and it is very helpful for both advanced users and beginners.
See More
Top
Con
Very little consistency among different versions
There have been quite some changes that break the compatibility between Slim 2 and Slim 3. Even if you learned how to work with the Slim 2, you will find that Slim 3 requires re-training.
See More
Top
Pro
A good starting point
Slim is minimal and that is a good thing if you want to start from there. It can be easily extended and even supports popular packages that are used in Laravel (like Illuminate\Database (eloquent)) for example.
See More
Top
Con
Dependency injection is too weak
It is not really dependency injection, but just a configurable container.
See More
Top
Pro
REST based
REST fans will love the REST based architecture.
See More
Top
Con
Needs strong bases to create dependencies
The dependency container schema of Slim is one of the biggest PROS and CONS of the framework. It is true that this schema brings so much flexibility to add anything, but another thing that is true is that you need to have strong bases of patterns, and an extensive knowledge of your libraries to convert it into a Slim dependency.
See More
Top
Pro
Supports tie-ins for Rack-like middleware
Rack is an interface used in Ruby frameworks used to group and order modules, which most of the time are Ruby classes, and specify between them. Slim uses a simple concept for it's middleware. By wrapping HTTP requests and responses it unifies the middleware into a single method call.
See More
Top
Con
Too minimal
While it's true that Slim is a microframework, it's still too minimal. When used for throwaway projects or simple prototypes, it's perfect. But in the long run, it becomes less and less useful and you end up in implementing a full custom framework in trying to tackle all the missing features.
See More
Top
Pro
Useful classes
Contains classes for managing requests, responses, cookies, logging, views, HTTP caching, and more.
See More
Top
Pro
Flexible
Slim doesn't demand that you stick to a fixed folder structure. As long as you load Slim the right way you can do anything from there the way you like it.
See More
Top
Pro
Extremely lightweight
Paired with swoole it's a micro service powerhouse.
See More
Top
Pro
Open source
The Slim Framework is open source and is released under the MIT public license
See More
Top
Pro
Extremely customizable
You can add any dependency, package or class that you want to use as a contained dependency.
See More
Top
Pro
Supports Php 5.3 and PHP 7
See More
Top
Pro
Makes it easy to understand the way some abstract functions and classes are built
In Django most things are abstracted, you just call some function or class without knowing how they were built, but with Slim, you end up understanding the way some abstract functions and classes are built.
See More
Top
Pro
Hooks for executing code at different points in its life-cycle
Slim supports code hooks for executing functions at different points in time during the application's lifecycle.
See More
Specs
License:
GPL 2
Written in:
PHP
Hide
See All
Experiences
Free
557
72
Fortitude
All
4
Experiences
Pros
3
Cons
1
Top
Pro
Encourages clean design through SRP
One development pattern used frequently is to create a "high-level" widget rendering a group of HTML tags, attribute values, and content to support a single use case, then decomposing that into domain-relevant smaller widgets ("nav bar", "user menu", etc), which in turn would be decomposed into smaller widgets, This eventually leaves you with a set of "leaf node" classes encapsulating a single tag with specific attributes and content rules; "helper" widget classes that encapsulate commonly-used configurations of the leaf widgets, with possibly multiple widgets increasing in scope up to an entire page-level widget. This also encourages the use of composition over inheritance; while each widget class must subclass a Fortitude (or Fortitude-derived) base class, the use of inheritance in your own widgets will tend to be quite rare. Typically, this will shout at the maintainer, "I'm a variation on Widget X", resulting in widgets that are by and large loosely coupled and highly cohesive.
See More
Top
Con
Still young
Fortitude is still a relatively young project. Being still in beta release it hasn't been documented fully and may still have bugs even though it's tested extensively.
See More
Top
Pro
Encourages business-domain-fluent class usage
Fortitude widgets can either encapsulate a single HTML tag, appropriate (and validated) values for attributes, and content, or they can compose multiple such widgets as a single, domain-language-friendly unit; for example, "navigation menu", which might involve a container div, a list, and list items confirming to various formats (for actions, separators, etc). This is textbook use of the interface-segregation principle.
See More
Top
Pro
No paradigm shift between views and any other part of your app
Fortitude implements "widgets"; Ruby objects that encapsulate one or more HTML tags, with additional support for the view/app as a whole. By virtue of being Ruby classes, these widgets can use all the techniques used in any other Ruby objects in your app (composition, inheritance, etc), making it easy to develop working code rapidly.
See More
Hide
Get it
here
1
0
Liquid
All
3
Experiences
Pros
2
Cons
1
Top
Pro
Clear distinction between presentation and application
Liquid allows developers to create a clear distinction between the presentation and application layer.
See More
Top
Con
Boolean algebra has some issues
Liquid has some known issues with boolean algebra when it comes to some advanced expressions. Liquid::Template.parse("{% if false and false or true %} foo {% endif %}").render # => "" false and false or true # => true It seems that Liquid simply parses from left to right, and if it finds a false and X it immediately returns false.
See More
Top
Pro
Secure
Liquid templates are secure out of the box. They can be used for applications where users can edit the appearance without allowing them to run any server-side code. Liquid does just that without any needed configuration.
See More
Hide
Get it
here
3
1
Built By the Slant team
Find the best product instantly.
4.7 star rating
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now - it's free
{}
undefined
url next
price drop