[HN Gopher] Tabler: Free and open source dashboard HTML/CSS fram... ___________________________________________________________________ Tabler: Free and open source dashboard HTML/CSS framework Author : jakearmitage Score : 329 points Date : 2022-07-29 15:42 UTC (7 hours ago) (HTM) web link (github.com) (TXT) w3m dump (github.com) | clairity wrote: | it looks like tabler uses jekyll underneath for docs and demo | (which i personally like and am comfortable with). the demo is | really nice, ahd while i'm not big on js any more, the js driving | tabler looks fairly straightforward and appropriate to my eyes. | | the underlying html and css, however, give me pause about how | easy it would be to integrate into a larger project. <div> soup | is how i'd describe the demo html, and its css uses custom | properties (css variables) in a way that, on first glance, seems | to make it more verbose without adding power, flexibility, or | maintainability (or accessibility, but that seems a really big | challenge for data-heavy frontends like this). | | i'd probably try this out if i needed a dashboard on a project, | but perhaps would want to test drive it on a small/test project | to see where the gotchas are first. | EthicalSimilar wrote: | The CSS variables actually provide that exact functionality, in | a sense. They allow you to adjust the colour scheme, font | sizes, layout (margins, padding) without having to grep all of | the stylesheets. | | I stumbled across Tabler a few months ago and have integrated | it into one of my projects. I love how easy it has been to | throw a site together for a client with minimal time spent on | writing stylesheets, or modifying your more generic "admin | dashboard" templates that used to be the norm. I do, however, | completely agree with your comment regarding <div> soup. | clairity wrote: | i appreciate you contributing your experience on this. to be | more specific, it looks to me like a lot of the css variables | are too granular, likely because they're being generated via | scss functions, and so must conform to a set of algorithmic | conventions. but a lot of the time, you don't want to tweak | just the default border color of the card component separate | from its border width separate from the border color of a | generic container (or whatever). i haven't delved deep enough | to know precisely how this all plays out, but that's what it | looks like to me on first perusal. | | bootstrap does this as well, and since tabler is built on | bootstrap, it seems they're extending that precedent (there's | a lot of "!important" going on to, which is not a good sign). | i'll admit i'm not much of a bootstrap fan either. | | i'm slowly developing my own personal css framework where i'm | trying to have no tooling at all, including no scss, and | very, very minimal js (and certainly no framework or | packaging/transpiling of js at all) by default. it leans | heavily on css variables and all the other current css | goodies (good riddens IE!). that way, it can fit into any use | case without having to worry about tooling conflicts. bulma | kinda takes this approach (particularly, no js), but it's | weirdly not as extensive as i'd expected it to be. | tragictrash wrote: | This is the kind of feedback that can really help a developer | improve their skills | jcpst wrote: | From what I understand, it should also work ok with more | semantic html elements. But it would be nice to see maybe a | little of that in the examples. | krsdcbl wrote: | Basically even if it's not built in, adding a reset | stylesheet underneath it would make it work with semantic | tags just like with divs, so no worries about that. | | then again, you'd probably not have to care about semantic | structure in dashboards anyways, as it's unlikely SEO is a | concern. | | Might be worth considering for accessibility though. | bilsbie wrote: | Anyone want to explain this like I'm a cgi-bin developer from | 2004? | tofuahdude wrote: | Websites are made with html and css (and frequently 15mb of | javascript) | | This is a package of pre-formatted and pretty html and css, | with a small amount of javascript, built on top of another | package of pre-formatted and pretty html and css, with a small | amount of javascript. | speps wrote: | Changing page in the table at the bottom of the demo scrolls back | all the way to the top on mobile (Chrome Android). | mwiechn wrote: | Because this is just a template and most of the elements point | to # and would require linking in the code. This is a plain | html/css site that just requires putting life into it using | javascript or more css :) | tofuahdude wrote: | Has anyone used this in a Phoenix LiveView project by chance? | dmitriid wrote: | I have. Works well (I would inspect examples on the demo site | and copy-paste them wholesale). | | I switched to Tailwind templates though because they suited me | better. And honestly I couldn't (be bothered to) figure out how | to only use the CSS required, not the whole bundle, with | Tabler. | 2mol wrote: | Which templates do you use? | dmitriid wrote: | I've shelled out $$ for https://tailwindui.com/ | | Currently using their components, but will (re-)use Primer | for a private project | https://tailwindui.com/templates/primer | tofuahdude wrote: | Do you just bundle Tabler's JS into Phoenix asset pipeline | and let it do its thing naively in the browser? | | I guess most the JS is just visual changes, but i wonder if | that brings live view out of sync with the dom. | dmitriid wrote: | Ah. I haven't used anything that required JS. Just the | purely visual components like tables, stats etc. | willcodeforfoo wrote: | I love Tabler and have used it for a few projects with great | success. | | The title of the OP is not really accurate though. It's not so | much a framework but a bunch of customization on top of Bootstrap | and some pre-built templates for stuff _like_ dashboards, | galleries, forms, etc. The site is more like a kitchen sink demo | and documentation site for stuff you can pick apart and use in | your own application. | mbreese wrote: | Thank you for adding this. I love the look of this project and | was quite excited. But I couldn't figure out how one would | actually get started creating a site with it. Now I get it... | EthicalSimilar wrote: | Completely agree with your sentiment. It has been incredibly | refreshing to use Tabler on my projects in comparison to the | norm ("admin dashboard" templates) that tend to fight you when | you don't follow their pre-defined layout, or when you want to | extend the UI kit with your own components without having to | re-implement the styling used by the kits. | corbin wrote: | I've used this for a couple of projects now and like it. | | But am not a fan of the current trend of spaced out layouts. | Visually they look good but in practice for information dense | pages it is difficult to fit everything in. Maybe it is bad | design on my part but I'd prefer a web layout that looks more | like a desktop application (think Photoshop or Visual Studio) | taspeotis wrote: | Maybe https://blueprintjs.com/ for you, although last time I | checked it did not have explicit mobile or tablet support. | (They don't aim to break mobile or tablet but they don't | endeavour to support it.) | babyshake wrote: | Are there any good reasons to use this instead of Tailwind? Is it | mainly just the look of the components? | jcpst wrote: | Way less work? Tailwind is on a lower level of abstraction than | this. | Lorin wrote: | Based on demo site: doesn't seem to have a 'tag' input UI, only | single input item switching. Additionally, some accessibility | concerns re: contrast/highlighting. | newusertoday wrote: | Thanks for this, this is great resource. | giancarlostoro wrote: | If you use FastAPI with Tortoise ORM it looks like there's an | Admin Interface that uses Tabler: | | https://github.com/fastapi-admin/fastapi-admin | rickreynoldssf wrote: | But I don't have enough room on my laptop for another sticker! | TekMol wrote: | Why pack so many different things into a single project? | | If I want to build a dashboard with multiple widgets on the | screen, my first step would be to look for a layout tool. Which | allows me to handle how the screen is divided into multiple areas | and offers an interative interface so I can open, move, resize | and close those areas. | | I would not want a bundle that combines the layout tool with | charts and forms and whatnot. | | For example, if I want an area to be used for an interactive | chart, I would want to build that with whatever solution I like | best. Personally I already use Plotly for many things, so I would | go with that. | puffybeignette wrote: | Then use plotly bud. Why rag on tabler though? It's beautiful | and provides devs a quick way to get started on a new project | without having to think much about UI and lightly customize and | have something that looks very professional. And it's free. | jcpst wrote: | > Why pack so many different things into a single project? | | So I can build a dashboard without deciding on a layout tool, | then deciding on a solution for charts, etc. | | I do not consider myself a frontend developer. I'm just not | interested in spending time learning about a bunch of UI tools | if there's a framework that does it all. | | This is appealing to me- the less I have to think about the | implementation of the presentation layer, the more I can focus | on the data processing, persistence, API... the stuff that _I_ | care about working on. | | Not trying to argue, just one answer to your question. | [deleted] | jakearmitage wrote: | It's a kitchen sink demo, so we can pick the components we want | and just use them without spending hours wiring things together | or dealing with conflicts. It's why VB was so successful and Qt | as well. | | I never had to worry about stuff like this in desktop. Or | reinvent how a combo box should work for every single project. | Some people just want the same for the web. | qabqabaca wrote: | It's pretty standard for component libraries and/or dashboard | templates to cover all the bases for a SaaS dashboard | atonse wrote: | Any examples of "layout tools" you'd recommend? | ralgozino wrote: | The way I see is that it is for the same reason that Qt and GTK | include all the widgets and abstractions to create a complete | UI. | | Another framework that I've used in the past for 2 WebApps | projects[1][2] -and I was quite happy with the result- is | Semantic-UI (and the fomantic fork)[0] | | [0] https://github.com/Semantic-Org/Semantic-UI | https://fomantic-ui.com/ | | [1] https://github.com/sighupio/gatekeeper-policy- | manager/tree/v... [2] | https://github.com/ralgozino/vmtory#screenshots | ralgozino wrote: | Sorry, I'm from mobile and pressed send to soon. The point of | the examples was to say that these frameworks provide you | with the building blocks you need to create a webui without | too much effort and with consistent (good) looks | asdvasewe wrote: | I have been using Apache Superset on top of sqlite for my | personal use, and am fairly happy with it. Any | advantages/disadvantages of Tabler compared to Superset? | sgt wrote: | For reporting and BI? How does it perform and how is | shareability? | samstave wrote: | Can you share how youre using it personally? | asdvasewe wrote: | - personal finances - get statement exports to sqlite db and | I have dashboards to manage expenses/finances, retirement | account data in sqlite and charts for actual and projections | | - my car - I collect data in sqlite db - amortization | schedule/actuals for the loan, fuel/maintenance expenses etc. | Dashboards on top of it with metrics such as $ spent, miles, | cost of finance, cost of ownership (per mile) etc. | | - workouts - I used enodomondo but they shut down and I had a | data dump, I currently use garmin. So I get all the data to | sqlite and drive a dash with overall work out stats over | years across platforms. | samstave wrote: | Thanks! | | Can you share screens of your car dashboard, this sounds | like a marketable simple one-page web-app that people would | sign up for an use... | | But then you'll get millions of users and you'll have to | learn postgress and a range of other meta-metrics to track | your uptime and availability 9s to your constituent | users.... | joemi wrote: | While they can both be used for dashboard, they seem to be | quite different. From what I can tell, Superset is a platform | while Tabler is a html/css framework. If I'm understanding it | correctly... Superset integrates with a database, but as a | framework Tabler needs some sort of backend to drive any | database interaction. Superset has it's own UI that you | interact with while building your dashboard, but Tabler is just | a set of elements that you'd need to use to build a dashboard | using whatever web development methods you prefer. | | So they're for different purposes even though they both result | in dashboards. | mulmen wrote: | I hate this modern design trend of wasting as much of my screen | real estate as possible. It's ugly and it wastes my time, which | is rude. Every one of these tables is literally 300% taller than | it needs to be. Get rid of all the pointless padding and spaces. | You can pack 3x the information on screen. | | This looks "modern" but it doesn't look _good_ and it certainly | isn 't _useful_. Every time I bring this up in UX review | designers look at me like I 'm from the moon. | | In the "Invoices" table in the preview _seven hundred_ vertical | pixels are used to display _eight_ lines of data. That 's worse | than a VT100 by a factor of _three_. | | https://preview.tabler.io/ | pjgalbraith wrote: | There are designers that appreciate the distinction between the | way you design a desktop application vs a consumer website / | mobile app. A lot of the design literature and discussion seems | to be focused on the latter these days. | | A lot of things that desktop applications did are missing in | most web apps; high information density, resizable panels, | panel layouts (side by side etc...), keyboard shortcuts, | embedded CLI's, and so on. It makes the user experience a lot | worse for power users. | sodality2 wrote: | Designers optimize for the common customer, which does _not_ | want keyboard shortcuts or embedded CLI's etc. | pelagicAustral wrote: | I love Tabler. I've used it for a few Rails projects and since | Rails 7 it's even easier to integrate thanks to Import Maps. I | can get a project off the ground even faster with this UI kit. | I'm already used to the Bootstrap classes and tags so this is | just the final component for maximum productivity. | | I get some people don't dig the design but I think it look | serious, and in general that's what dashboard are for, serious | business. They need to be readable and simple to understand and | use. Tabler gives that vibe. | | Edit: As an afterthought, I would really appreciate if anyone | knows any similar projects. It'd nice to compare and have more | options. So far I havent found anything so compelling in this | space. | 13324 wrote: | You could have a look at AdminLTE (https://adminlte.io/). | metadat wrote: | Does is also play nice with Python, Go, or Rust? Never heard of | import maps until now, not immediately clear what they obviate. | | https://blog.appsignal.com/2022/03/02/import-maps-under-the-... | pelagicAustral wrote: | Yeah, the import maps comment mainly stems from a personal | hatred against Webpacker. Wiring everything together was | quite more tedious before Rails 7. I would think it does, at | least with Django I know you can also automate the project | creation with a script and get to coding straight away, not | sure about frameworks for Go or Rust but I'd figure it be | more or less the same. | EugeneOZ wrote: | Nowadays design language of your framework should look at least | not worse than Material Design 3 or Twitter Bootstrap (just | because they are there and you can learn from them). | | This project needs some more effort to achieve it, right now it | looks like it was designed 5 years ago. | Nextgrid wrote: | What problems do you see? Personally I like it and "not looking | like Material Design" is something I'd consider a _feature_. | EugeneOZ wrote: | I expressed what problems I see - their design looks outdated | and doesn't even take into account devices with "tap" screens | (elements are too small, tables are not responsive). | | You misunderstood me: I wasn't saying that their design | should look like Material Design 3. I said it should look | better and take into account all the lessons we learned from | Twitter Bootstrap, Material Design, and other sources. | Otherwise, there are no reasons to use it. | dmitriid wrote: | > their design looks outdated | | Define "outdated". It looks similar to literally any other | modern UI framework with the exception that it focuses on | dashboard/backoffice functionality (almost none of the UI | frameworks do) | | > doesn't even take into account devices with "tap" screens | (elements are too small, tables are not responsive). | | Yes, that is _maybe_ a problem. Depending on what exactly | you need. | | I've yet to see a single UI framework that offers both a | consistent set of good dashboard/backoffice elements _and_ | a good mobile experience (because it 's actually hard to | do). And Material is emphatically _not_ a good example. | barnabee wrote: | Material Design looks awful to me. I quite like this. | | The elements in the demo are also definitely not too small | for my taste. On my iPhone 13 Pro I actually think the demo | looks best at 85% and it is still perfectly usable at that | zoom level on a touchscreen. Everything is too damn big on | mobile sites, which is ludicrous considering the tiny | screens. | maxloh wrote: | Bootstrap looks ugly to me, compared to other design systems | like Microsoft's Fluent Design System or IBM's Carbon Design | System. | EugeneOZ wrote: | Yeah, nowadays Bootstrap looks outdated a bit, agree. | Willish42 wrote: | Wow, this is really great! I love the design and especially the | sophistication of that demo page. Really powerful and | professional looking stuff. | [deleted] | Waterluvian wrote: | It's interesting that it describes the React version as the | Single Page Application version. | | I've found that when used competently, React also shines for | normal websites both through client or server side rendering. | topicseed wrote: | It looks neat. Makes me want to build dashboards for a living. | Wish there was a Svelte version. | ocdtrekkie wrote: | Never used Tabler itself, but I am an absolute loyalist for using | their icons, which are all MIT licensed and available in SVG. | | https://github.com/tabler/tabler-icons | clairity wrote: | nice, i may have to look into using these for my personal css | framework project. i'm still not sold on svg as an unalloyed | good over font icons (as they're really verbose and cluttery in | markup), but they do have some good points as well (e.g., | multi-color and css-able). | ocdtrekkie wrote: | To me, the key point about having the SVGs is they're | basically the "source code". Whether you want to use SVGs | directly or not, you can, and you have all of the tools to | make high-quality custom icons using the same shapes. | la_fayette wrote: | From what I understand, tabler is just a UI template. So if you | want build a dashboard application, you have to build all things, | like user management, visualizations etc yourself? | | I am a happy user of grafana. All things are there. Tabler looks | good and also the responsive UI is really cool, but building all | the backend for a dashboard application will be a challenging | endeavour. Using grafana or metabase seems fine... | cweagans wrote: | in the context of a ui kit, "dashboard" is not the same thing | as what grafana gives you. it's more of a dashboard as in the | ui that you get after you log in to some saas app. ___________________________________________________________________ (page generated 2022-07-29 23:00 UTC)