templaza / astroid-framework

Powerful framework for designers and developers to create responsive, fast & robust Joomla based websites and templates.
https://astroidframe.work/
GNU General Public License v3.0
77 stars 12 forks source link

need widgets? #586

Open SerGun78 opened 4 months ago

SerGun78 commented 4 months ago

Hi all. I would like to know how much widgets are needed in Astroid? In my opinion, they only make the framework heavier, complicate the code and increase the site load. Most of the features that widgets provide can be implemented using bootstrap snippets. I see two ways for the development of the Astroid platform then.

  1. make an easy and convenient platform for creating any website
  2. or turn astroid into a full-fledged page builder. which I really don't want.
Giorgi625 commented 4 months ago

I have not even seen widgets, until now. I do not see usage of this either, as I just create empty modules and put in its template files ready snippets as you mentioned. If you know basic stuff that's pretty easy and you get more clear code. Also I have never used Social Profile feature. Again I prefer to create custom module where I put icons with different designs and sizes then using only those provided by this features.

Joomlaplates commented 4 months ago

I think the same. Widgets are pointless. Better use a custom module. At least with a modul you can assign it to a menu item.

rinka88 commented 4 months ago

If you follow the path of Yootheme pro, then there will be no problems. Everything gonna be alright.

Chacapamac commented 4 months ago

I didn’t have time to see or test the Astroid Widgets. Testing Now! For me, the idea of also having the ability to build pre-made sections with features that sometimes demand more HTML/CSS/Bootstrap knowledge than most casual users have is not a bad thing.

The Good: — Give the ability to anybody to add a professional-looking special section without coding knowledge.

The Bad: — You need to have excellent documentation on how to use each widget and a visual example for the user to see if it can be useful in his website. Without that, not too many people will even use the widgets. — The Dev needs to keep all Widgets top-shape and functional as they can build important parts of a website.

The Ugly: — Added CSS, HTML, and libraries started to add too much weight and complexity to the framework and make it slow and fragile (e.g. Rockettheme)

I think a good balance needs to be set here and I have complete confidence in Sonny to keep that under control.

Giorgi625 commented 4 months ago

I would add, that it is not good for user experience from my point of view, that to have a page a page where some positions are built via modules and some with widgets, half of the page is edited in modules manager and another half in template layout builder. There were extensions for J3 like Shortcode ultimate, which were used to add same features but you would get button in editor of custom html module and you could add different widgets this way. It was more convenient then widgets inside template settings.
because everything was controlled from modules. This widgets make Astroid framework half-template half-pagebuilder, it is like mutant which does not know where it belong.

If you want to have widgets then why not create module with this features and publish it separately? so even people who do not you Astroid may use it on other templates?

SerGun78 commented 4 months ago

Giorgi625, you definitely read my thoughts. I believe that Astroid should follow the old framework path, and not turn into a page builder. All widgets, as you correctly noted, can be placed in a separate module, such as the recently appeared AstroidMenu, but only for widgets. Let's call it AstroidWidget. It can be placed anywhere on the site, without being tied to the template settings (zero, one, two), inserted into a position, into a material, etc. and only on the required page. Ideally, it should work in any template and framework, not just Astroid. But this should be a completely different product. But there is absolutely no need to bloat Astroid with widgets.

rinka88 commented 4 months ago

If you know what Yootheme pro is, you can understand this path. Since there is just a constructor with a template and a builder, together they are a good combination.

Banuk1616 commented 3 months ago

I think widgets are good, especially for those who don't yet have a lot of knowledge. For anyone who wants to sell their own Joomla extensions, widgets are of course pointless. A rogue who thinks evil. As I said, I think widgets are good, but these widgets should not be a general part of the Astroid Framework, but should be able to be installed later if necessary. It would perhaps be good if the Astroid Framework were modular in this direction.

Chacapamac commented 3 months ago

@

I think widgets are good, especially for those who don't yet have a lot of knowledge. For anyone who wants to sell their own Joomla extensions, widgets are of course pointless. A rogue who thinks evil. As I said, I think widgets are good, but these widgets should not be a general part of the Astroid Framework, but should be able to be installed later if necessary. It would perhaps be good if the Astroid Framework were modular in this direction.

That will make lot of sense, like an ON/OFF or download/delete switch, to be sure to not add weight and slowing the loading of Astroid. That’s a good idea! 😀

sonvnn commented 3 months ago

Hi All,

Thank you for all of your feedback. In fact, Widgets help your website load faster when running directly without having to go through any processing from 3rd party Extensions.

Try comparing the reasonable cases below:

  1. Display via modules: Client call server generate code -> Joomla template -> Astroid system -> Layout builder -> Call Joomla Module position -> Load modules -> get data from modules or components -> Return data
  2. Display via Widgets: Client call server generate code -> Joomla template -> Astroid system -> Layout builder -> Widget process -> Return data

In the next versions. I will try to improve the UI/UX so that users can easily distinguish between Widget and Joomla Component

Thanks & Best Regards, Sonny

Chacapamac commented 3 months ago

Well, I guess we have the final answer on loading speed and widgets. (See @sonvnn post)

Giorgi625 commented 3 months ago

I see but I still prefer to create blank module and put own code inside template file, cause I have more control so if I do not use widgets I would like to be able to remove it. same I think about article options and social icons, I think if they will be plugins will be better so we can uninstall it if we do not need them.

Chacapamac commented 3 months ago

I see but I still prefer to create blank module and put own code inside template file, cause I have more control so if I do not use widgets I would like to be able to remove it. same I think about article options and social icons, I think if they will be plugins will be better so we can uninstall it if we do not need them.

Why removing abilities that make the life easier to create rich and dynamic websites for 90% of the Users out there that are not pro coders and will have to rely anyway on third party extensions?

I cannot second that idea.

Giorgi625 commented 3 months ago

Dynamic? maybe it can show stuff from Joomla content but I do not use Joomla Content at all, only for adding articles like Privacy policy, Site terms and stuff like this. I am pretty sure it will not be able to show content from 3rd party extension I use. I do not say it should be removed fully. I say we should be able to uninstall that part if we do not need it. I am not a pro as well but I can code some easy modules for my projects. and I prefer it cause it easier for me to make changes in one php file and do whatever I want in there instead of hoping that there will be widget which will do exactly what I want. cause I am pretty sure if there will be this kind of widget my knowledge will not let me to modify it.

sonvnn commented 3 months ago

I think an option enable/disable in Astroid plugin system is a good option right now. If you don't like widgets you can turn them off.

Have a nice day all my friends 😄

Chacapamac commented 3 months ago

@Giorgi625 — Dynamic Content is also discuss here —> https://github.com/templaza/astroid-framework/discussions/566#discussioncomment-8801903

Cool Stuff as an enhancement for Astroid. (seem to include third party content)

SerGun78 commented 3 months ago

hi all. I'm glad that my message generated so many responses. I tested the widgets, their capabilities are quite interesting, many will find them useful. There is definitely no need to delete social networks, contacts, etc. if you don't need them, just turn them off in the template settings, these functions have been around for a long time. But disabling widgets in the Astroyd plugin is a good idea. I’ll add on my own behalf so that you don’t have to disable all widgets at once with one button, but rather each widget individually (as with selecting js bootstrap) in the template settings.

sonvnn commented 3 months ago

Hi All,

Now you can enable/disable widget elements in Astroid System plugin. Plugins-Astroid-Plugin-Two-Administration

Best Regards, Sonny

Chacapamac commented 3 months ago

Great Work!

Banuk1616 commented 3 months ago

As @Chacapamac writes, great work. Thank you! The Astroid Framework is getting better and better.

Another suggestion for improvement would be to be able to activate or deactivate each widget separately. Widgets that you want to use can be activated and widgets that you don't want to be used can be deactivated. That would be the ultimate option for the widgets.