Most recent framework/environment for Dash apps

After a couple of weeks learning Dash I just discovered Dash Extensions.

Dash Extensions just reinforced to me that Dash Community is awesome and people is constantly collaborating to have new Dash features!

But seing that Dash Extensions has been released for a while makes me wonder If I’m taking advantage of the best (or, the latest) framework or environment available out there.

Let me give you two real examples to clarify what I’m aiming:

  1. When talking about layouts, there is no need to customize the app styling with heavily HTML coding, since we can take leverage of Dash Bootstrap themes. But someone that doesn’t know DBC (If such person exist!) may be investing until today hours of HTML/CSS coding for styling the app.

  2. For weeks I’ve been writting in my apps “app = Dash(__ name __)” but now with Dash Extensions I just saw that I can replace that by “app = DashProxy(blueprint=bp)” and take advantage of modular Dash application development.

I understand that when talking about components the community may at a high frequency be launching new components that we can find here so maybe there is no such thing as ‘latest framework’, but using Dash Extensions such as DashBlueprint and DashProxy I think It’s more a ‘fundamental’ change, or a new concept for building Dash Apps.

Is there any more new fundamental / concept that I should be aware of?

Thank you!

1 Like

Hello @Danilo_BR !

Nice topic! Dash Mantine Components and Dash AG Grid are my favorite libraries released in last year. I completely stopped using DBC and datatable now.

2 Likes

Hi @martin2097 !

Nice, thanks for the reply and for the tips!

I’ll dive into Dash AG Grid. Reading its documentation really sounds like the benchmark for tables API.

Also good to know that you choose Dash Mantine Components as your favorite library for user interactivity (today I basically use DCC and DBC). I still need to read the docs but while using DMC how do you style the whole app? With HTML and CSS or DMC also have something like the DBC themes that applies to the whole app?

And do you make use of DashProxy or DashBlueprint from the Enrich module of Dash Extensions package in order to do modular Dash application development?

Thanks again!
Cheers

Good questions! But I have answers only to some of them :sweat_smile:

Actually the transition from DBC to DMC is pretty easy. Most of the components from the DBC exist in DMC but it has much more of them and some of them are really fancy. There is also a lot of stuff integrated in the components so there is no need to write your own callbacks to controll som behaviour (i.e. the Accordion component - you do not need callback to open it).

And talking about styling it is one of the strongest sides of the DMC library. I am a pythonista with no experience from web developement. Everything I know about web developement I know it from Dash. So the concept of css styling sheets and classes seems so unnatural to me because I love to have my styling in my python code. What I love to do is to change the stylying just of the some exact component and not all of them. And this is really hardly achievable just with style because it can only access the root properties. And here comes the styles prop. For example if you have dropdown component (or select in dmc world) with styles you can access also the styling of the list that appears after click and much more. There is a part of documentation about it:

I also wrote one topic about it with the example I worked with in my work.

Talking about themes there is MantineProvider component in DMC where you can override the default behaviour of styling of the components for the whole app. I am not sure if there are some style sheets for DMC, maybe @AnnMarieW could help with this because I believe that she is the author of some of them for DBC :slight_smile: .

Regarding DashProxy and DashBlueprint I can not help because I am not using Dash Extensions yet :slight_smile:

1 Like