Use of angular.js in future Joomla?

1,425 views
Skip to first unread message

ssnobben

unread,
Feb 18, 2015, 8:49:36 AM2/18/15
to joomla-...@googlegroups.com
Hi

I wonder if Joomla core devs have consider as dev tool js to use angular.js? It progressing very fast and seems to have very much backup https://material.angularjs.org/#/

What you think?

Hannes Papenberg

unread,
Feb 18, 2015, 10:45:39 AM2/18/15
to joomla-...@googlegroups.com
I doubt that we will do that any time soon. AngularJS is mostly a
single-page-app framework (simplifying here, I know) and that does not
really fit with Joomla, at least in the near future. But nothing keeps
you from using it on your website.

Hannes
> --
> You received this message because you are subscribed to the Google
> Groups "Joomla! CMS Development" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to joomla-dev-cm...@googlegroups.com
> <mailto:joomla-dev-cm...@googlegroups.com>.
> To post to this group, send email to joomla-...@googlegroups.com
> <mailto:joomla-...@googlegroups.com>.
> Visit this group at http://groups.google.com/group/joomla-dev-cms.
> For more options, visit https://groups.google.com/d/optout.

Roberto Segura

unread,
Feb 18, 2015, 12:22:49 PM2/18/15
to joomla-...@googlegroups.com
I think Angular is one of the options to go for backend yes and as far as I know it was being considered as the base system for Joomla v4.

Nothing prevents us for using it so anything you want to contribute is welcome. The bad part is that it won't be a nice implementation until we have webservices working.

Peter Bui

unread,
Feb 18, 2015, 11:56:53 PM2/18/15
to joomla-...@googlegroups.com
As long as you don't neglect accessibility in there ;)

Anibal

unread,
Feb 19, 2015, 6:55:18 AM2/19/15
to joomla-...@googlegroups.com
Hi,

AngularJS is going to have a mayor breaking change in 2.0, aimed for ES6.

Regards,
Anibal

Vic Drover

unread,
Feb 19, 2015, 7:37:42 AM2/19/15
to joomla-...@googlegroups.com
Consider that angular and other similar technologies are currently very problematic for search engines:


Implementing this on the frontend of any website should be a very conscious decision.

Cheers,

Victor Drover
Founder and CEO, Anything Digital LLC (BBB Accredited)
Co-founder, Watchful.li & jInbound.com
262-309-4140
Facebook: AnythingDigital | watchfulli | JInbound
Twitter: @VicDrover | @AnythingDig | @watchfulli | @JoomlaInbound


--
You received this message because you are subscribed to the Google Groups "Joomla! CMS Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-cm...@googlegroups.com.
To post to this group, send an email to joomla-...@googlegroups.com.

Joseph Cardwell

unread,
Feb 19, 2015, 11:23:02 PM2/19/15
to joomla-...@googlegroups.com
For me at least, some sort of JS dependency management solution is a MUCH higher priority. 

Gunjan Patel

unread,
Feb 20, 2015, 1:17:20 AM2/20/15
to joomla-...@googlegroups.com
With backend Yes, but I think that true not in near future. I have tried to do some very basic stuff before using AngularJS in backend listing page. ;) https://www.youtube.com/watch?v=6W6qgnpl1v8


Regards,
Gunjan Patel
Sr. Software Developer
Open Source Contributor.
Joomla! Bug Squad Member.
Joomla! SQL Optimization Team Coordinator.
Joomla! User Network Ahmedabad (JUGAhmedabad) Founder.
Mentor of Google Summer of Code ( GSoC ) 2014.


--
You received this message because you are subscribed to the Google Groups "Joomla! CMS Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-cm...@googlegroups.com.
To post to this group, send email to joomla-...@googlegroups.com.

Nils Rückmann

unread,
Feb 24, 2015, 9:21:21 AM2/24/15
to joomla-...@googlegroups.com
Finally, the right direction ;)


It's not easy and i haven't seen a solid solution anywhere in the PHP universe, but creating a dependency management for media frameworks (JS, CSS, LESS, SCSS, etc) becomes more and more a must have.

Rob Clayburn

unread,
Mar 9, 2015, 8:42:11 AM3/9/15
to joomla-...@googlegroups.com

The JED back end we developed uses Angular 1.3. As a back end solution its pretty darn efficient. The JS uses a resource to hook up with a JSON REST Api we developed. The great thing about Angular is the ability to create nested directives. So say for the extension edit page, we created a <list view="releatedextensions"> tag, which Angular interprets and replaces with a <table> populated with that extension's related extensions (both HTML and JS to control the list). Then say that <table> contains a <pagination> tag, that in turn gets replaced with a pagination directive (html & js)

That doc Vic pointed to doesn't really address the issue with SPA and search engines as far as I can see . Up to last year it was a big issue as the client side content would be served as "<h1>My Blog</h1>{{blogentry}}" which would not be parsed by most search engines (this meant some terrible hacks such as pre-rendering your app for search engines). However since last year Google now understands JS (http://googlewebmastercentral.blogspot.no/2014/05/understanding-web-pages-better.html) so can sucessfuly parse the page (so for my example the crawler would actually parse "<h1>My Blog</h1><p>this is my blog entry</p>")

Since Angular 1.3 there has been a lot of work on ng-aria http://angularjs.blogspot.fr/2014/11/using-ngaria.html with aleviates some of the concerns related to accessiblity. I have to say I've not used it in anger yet so can't comment more than that.

@Nils

For a JS dependency management system in the Joomla echosphere I can see two main paths of reflection:

Using an AMD loader such as require.js.....

This is what we use with Fabrik, its a really great solution for asynchronously loading scripts as and when needed. For us its useful as we don't have to load up the 100 or so plugin js files on the off chance they are needed. So a form with only 2 field types is going to require 2 plugin js files and that's it.
However, it buts heads with various Jquery plugin scripts and is thus dependant on you loading it after any other script loaded out side of requirejs.
The r.js compiler for compressing the generated js is pretty complex if you want to try to create a concatenated and compressed Js file per page view. I get the feeling its easier to use in a single application setting where your entire site's js is the same code (not really the case for a Joomla site with multiple components/modules etc).
Also the syntax you end up using is specific to an AMD loader:

require(['jquery'], function( $ ) {
    console.log( $ ) // OK
});
Finally if you are loading external libs into requirejs you need to manage a shim config for it - that gets complicated if those external libraries are defined in each plugin/module/component.



2) Using a precompiler such as browserify.

The advantage of browserify is that it gives you access to using node modules, and unlike requirejs your code doesn't need to make use of a special syntax 
However, it has the (possible) disadvantage of not being asynchronous - it will create a single js file for your site/app, depending on your site that might make one very large js file loaded on every page, or require some pretty clever logic to work out what js should be compressed for any page.
Browserify also requires you to run it via the command line using npm/grunt, so its a great dev tool,but for site integrators that might be a bit much to ask?


Both solutions have the issue that you would need to get everyone on board using the same system for it to be really efficient. That I just don't see happening considering how well the bootstrap integration went. (as in ppl install bootstrap 3 templates, or different font icon sets etc). 

ssnobben

unread,
Mar 31, 2017, 12:48:54 PM3/31/17
to Joomla! CMS Development
Have you looked at scripts like riot? http://riotjs.com/compare/

could that be interesting to use bcs its very compact. what you think?

piotr_cz

unread,
Mar 31, 2017, 2:54:47 PM3/31/17
to Joomla! CMS Development
Angular works good for SPA's, but it would be hard to use it along with Joomla as both would compete over the architecture.
Story is different when you start new project and integrate angular from scratch, like in Cockpit CMS (legacy version).

Cockpit CMS in next version has switched to riotjs, as it is easier to pick up and has less boilerplate
Reply all
Reply to author
Forward
0 new messages