7 ms·
I Was Afraid of Angular.js Because it Reminded me of Drupal
- MartinMc12 12y agoI was in the same position as u but I really started to like it.
- dalek2point3 12y agoOh man, I remember those days when the Wordpress vs/ Drupal vs. Joomla war was still in its infancy. Drupal was always soo yucky in terms of UX even though it was waay more powerful than wordpress. WP seems to have essentially won that war. Wonder why? Something similar happening the .JS world? Not really my cup of tea.
- mantrax3 12y agoIt's simple. Let's see what the spectrum of PHP solutions is. It goes from: - WordPress: very simple, you don't need to be a coder, not that powerful. And goes until: - PHP + libraries: complicated, you need to be a coder, extremely powerful. And here's Drupal: - Drupal: a lot more more complicated than WordPress, not that much less complicated than plain PHP, yet much less powerful than plain PHP. In a nutshell, Drupal and apps like it want to be everything to everyone, and that's how bad apps happen. WordPress may suck, but it has focus, and people with simple needs like the proposition.
- camus2 12y agoWith a little discipline and a better data model(cause basically it's using a meta table for everything that dont fit the core,"post meta" values are serialized strings ...lol with bother using a RDBMS at first place?), Wordpress could actually be good(codewise),it has some good business logic. Wordpress maintainers just dont bother...because obsessed with backward compat. Drupal is in my opinion (oddly) easier to maintain for non coders,CCK an Views, no need for any PHP skill to create new content types or write queries in Drupal. With Wordpress,you need to code if you want to extend anything. My problem with both is that the plugins are written in PHP.A good CMS would have at least one plugin layer which would rely on manifests(xml,json...) rather than code(just like angular),or at least have a sandbox system with permissions,some kind of inverted oauth system (eg:"this plugin wants to be able to write to your db,write to your file system,access this or that resource...")
- TylerE 12y agoHonestly, your characterization of Drupal is just plain BS, and I say that as someone who worked on Drupal sites for about 5 years, and am glad to no longer be. To say it's less powerful than "plain PHP" is just wrong, since via custom modules, which you'll be writing at least a half dozen of for a real non-trivial (e.g. the kind of thing you wouldn't just do in WP, just you can essentially just sprinkle in 100% custom "plain PHP" whereever you need it, while still being able to leverage things Drupal does right, like form handling and batch operations.
- AdrianRossouw 12y agoi wrote drupal's form handling layer (and theme system, and big parts of drush and much more) I ultimately found that I was happier writing stuff closer to the way wordpress does it. It really comes down to two things 1. depending on what tools you have available, what you are familiar with or what you are capable of understanding .. drupal or wordpress might be easier for you than the other. That's relative. 2. is the fact that the wordpress model is objectively simpler than the drupal model (at least last time I looked, around 4 years ago). So I'm not saying one is better than the other at all, just that this is how they are different. If you know, or are willing to learn, a bit of code, wordpress is most likely subjectively easier than drupal would be.
- TylerE 12y agoI'm probably a bit biased because I spent most of that 5 years pouring my heart and soul into a site that was, basically, right up Drupal's alley, a regional news portal that was very content heavy. We did use lots of various modules, some core, and some community - such as polls, forums, captcha stuff, comments, we had almost a terabyte of stuff served via ImageCache... We actually didn't use Drupal forms for much on the front end (The occasional webform for user submissions, etc, but very few actual drupal api forms), but on the admin backend we had lots of little things I threw together that worked well but were not used all the frequently (and then only by power users). Our frontend was primarily done through a system I called the Page module (Because it was the module that made...the pages - for instance http://www.reflector.com/news http://www.reflector.com/news). That was actually a really cool hack. It worked a lot like views - but could actually run on a high traffic site without bringing the whole thing to it's knees. The trick was that the really nasty join across about 8 tables (node, the content type data, related image data, story body (for teasers), and a couple others) was done only on node save and that was stored in an index table (not everything on the node, but just what I needed to build a page). So to generate each news block was a really super simple query of basically: select * from page_index where page_blockid = 12345 order by updated desc limit 5 instead of something like, and this is the super simplfied version select * from node left join content_type_story cts on cts.nid = node.nid left join taxonomy_data td on td.nid = node.nid left join uploads on uploads.nid = node.nid left join upload_files uf on uf.uid = uploads.uid left join node_content nc on nc.vid = node.vid where (td.termid = 1231 or td.termid = 1256) and node.published = 1 order by updated desc limit 5 (Field names ommitted because that query is way too long as it is). Of course, we were running multidomain so a lot of those tables where domain alises etc, again, all precomputed in my module. No, I don't miss it. But it was powerful, and I did develop, deploy, and serve 3 daily newspapers with 20k+ circ each with a dev and sysadmin staff of 1. There is no way I could have done that if I'd had to write everything from scratch.
- mortenjorck 12y agoI would suggest that it's not quite so linear anymore with the rise of ProcessWire. I'd compare ProcessWire to WordPress for ease of use and Drupal in terms of flexibility and scalability – I didn't think it was possible, but it is.
- zhte415 12y agoI'd argue that Drupal has been quite successful. It lost the war of platforms for blogs and, to some extent, forums, but has one a foothold for large projects which require a CMS. I'm not sure it was ever competing. 4.7 and 5.x (the first versions I used) didn't have many nice themes or a particularly friendly interface for content creators, which Wordpress had and won. But the Drupal community weren't much into making simple sites (though they could be made). Drupal has always struck me as a CMS for non-coders to create something quite complex, and when scaling something for a coder to pick up and adapt as they need, with a lot of stuff built-in. And it has definitely won on that front, with perhaps the most comparable system being Django, but even then Drupal is more Swiss Army Knife like: It can't open a tin of beans perfectly, but it can do it quickly, and a few hours in the tool-shop improve it a lot. Likewise it can cut down a tree (if painfully), cut your fabric and has a neat nose-pick built-in. Numerous media, government and commerce sites use it. It is quite adaptable, gets the 90% done quickly (yes, the learning curve is greater than Wordpress, but a lot more is happening), and allows anyone with some PHP and CSS expertise get the remaining 10% done reasonably well.
- Ecio78 12y agoI don't agree. I realized a intranet content /document management system with Drupal 6 a couple of years ago in just few months. It was used then by 500 users with great results and I used available modules except for one that I hacked together for integrating authentication with lob webapp. I'm not a developer (sysadmin) even though I know some coding and I could not have deployed it with all those features in the same time developing it from scratch with php (or any other languages). The most of the time I spent was trying to "port" the designer's photoshop draft in a Drupal theme (it would have been better to have an external guy/company do it). Rest of the time was finding the right modules (there are too many on the site) and then understanding the pain point of the previous system can thinking something better (but that analysis part should happen with any technology involved )
- PostGreHipster 12y agoNo way. Tear through some Drupal core code and you'll be dizzy, and it's pretty much always been that way. Angular takes a much more simple approach (for now). It really cuts down the amount of code you have to write, unless you really want to.
- AdrianRossouw 12y agoyeah, but i saw storm clouds. i've seen how stuff changes over time, it makes me aware of this stuff. Drupal wasn't always that complex either. I think i'm probably culpable. I identified the point where I complected Drupal and set it on this direction, but that's another article for another time.
- jrochkind1 12y ago> I identified the point where I complected Drupal and set it on this direction, but that's another article for another time. I would really like to see that article. Because, I too have been involved in such things, several times, but have not managed to identify exactly where we went wrong (or even convince others that we were going wrong :) ). I think figuring out how to avoid that kind of complexity is one of they key challenges of certain kinds of software these days. (For instance, some people think Rails has already jumped that shark, some people don't, but I'm not sure even the people who think it has become complectified all agree on when it happened and how it could have been avoided. When I see people starting something new that's supposed to be "like Rails, but without all that needless complexity", I just think, sure, Rails started out simpler than today's Rails too, and you'll end up in the same place (or worse) unless you can come up with an understanding of what went wrong other than "Those other people made bad decisions I would never have made because I'm a better coder", nope, that's not what happened.).
- AdrianRossouw 12y agoyou should really read the simple and easy vocabulary guide. It's part of a set of notes about a talk by the author of clojure. I took so long to get the fourth in this series finished because i needed to get the necessary theory out there first. http://daemon.co.za/2014/03/simple-and-easy-vocabulary-to-describe-software-complexity http://daemon.co.za/2014/03/simple-and-easy-vocabulary-to-de...
- AdrianRossouw 12y agoThis is the 4th and final installment on my series of posts about why I needed to build something in angular to test my intuition. > i was wrong to be afraid of angular.js [1] https://news.ycombinator.com/item?id=7384937 https://news.ycombinator.com/item?id=7384937 > Why I was Wrong to be afraid of Angular.js [2] https://news.ycombinator.com/item?id=7394959 https://news.ycombinator.com/item?id=7394959 > Complexity Creeps: Why I'm Concerned for the Future of Angular [3] https://news.ycombinator.com/item?id=7417667 https://news.ycombinator.com/item?id=7417667
- AdrianRossouw 12y agoand the 2 posts (so far) of supplemental .. err theory? > Simple and easy, a vocabulary for describing software complexity http://daemon.co.za/2014/03/simple-and-easy-vocabulary-to-describe-software-complexity http://daemon.co.za/2014/03/simple-and-easy-vocabulary-to-de... > How complexity affects your software http://daemon.co.za/2014/03/how-complexity-affects-software http://daemon.co.za/2014/03/how-complexity-affects-software
- grumblestumble 12y agoPretty much any conversation about AngularJS that gets stuck on "dirty checking" makes my eyes glaze over. As for "black magic" DI, if you're uncomfortable with a framework extending the basic language, it's perfectly possible to do DI explicitly in Angular 1.2. This is a project-level choice.
- AdrianRossouw 12y agoi was uncomfortable with the fact that it was being done in core, and I know from personal experience that it will only take a good enough reason to do something even dodgier with that type of thing. my recommendation was that they remove it from core, and have it be opt-in through the use of ngmin. they are actually removing it completely from angular 2.0, so it's a moot point really. http://daemon.co.za/2014/03/complexity-creeps-concerned-for-future-of-angular http://daemon.co.za/2014/03/complexity-creeps-concerned-for-... I also stated that I was fine with the dirty checking, because it worked better than it had any real right to. And best of all, it's only 'for now' http://daemon.co.za/2014/03/why-wrong-to-be-afraid-angular http://daemon.co.za/2014/03/why-wrong-to-be-afraid-angular
- ndesaulniers 12y agoI was afraid of angular.js because it reminded me of React, Ember, Backbone, Meteor, [the MVC client side framework that JUST came out, oh, you missed it?], [the 20+ other ones I've already forgotten about].
- jbeja 12y agoI was afraid of angularjs because i was already very comfortable with jQuery and realized that i don't need angular after all.
- ilaksh 12y agoIf you can't use Web Components (Polymer) then Angular is the next best thing. I think you should really try to use Web Components though if you can get away with it. IMHO Angular is overly complicated once you try to dig in, for example to make your own HTML elements. Building custom elements with Web Components/Polymer is the next step, along with promoting web components/polymer and working on getting compatibility in user's browsers. People say its not ready for mainstream, which is true. _However_, if we all start taking Polymer/Web Components seriously, pretty quickly it _will_ be ready, i.e. it will work in new releases of Firefox, Chrome and probably Safari. And even IE 10 and 11. We just need people to start seriously trying to take advantage of it, patching things and pushing for compatibility/stability/adoption. And someone might say something like "I think you are confused about what Angular and Web Components do.. blah Angular is going to take advantage of Web Components in the near future". So let me save you the lecture. I have used Angular in 3 or 4 projects. I know what it does. I know it is going to use Web Components in the future. But like I said, its too complicated. And most, if not all, of the things that you would do with Angular with/without using custom elements, you can take advantage of Polymer/Web Components features to do. And it will be much simpler to code and maintain, and not particular to any overall framework. So as far as I'm concerned Angular is superfluous at this point, and a liability, if I am not constrained by immediately shitty browser realities. If there is something that Angular does that can't be implemented with Web Components/Polymer, please let me know.
- AdrianRossouw 12y agoHave you seen this presentation the [1] angular devs gave? A lot of the concepts are pretty analogous to each other, and I think they will possibly start moving towards that standard. Not soon though, that is up to browser makers. Angular is close enough tot he general idea though, that I think it's proving the approach is valid to an entire generation of devs. Devs who would never have known about web components if angular wasn't legitimising it. [1] https://docs.google.com/presentation/d/1Gv-dvU-yy6WY7SiNJ9QRo9XayPS6N2jtgWezdRpoI04/present https://docs.google.com/presentation/d/1Gv-dvU-yy6WY7SiNJ9QR...
- ilaksh 12y ago
- kawliga 12y agoDrupal is truly the forbidden doughnut. I too felt the exact same way when looking at AngularJS. It seemed as though I could spend a year learning/perfecting my skills with it... only to be let down in the end.
- Bahamut 12y agoI would compare Angular more to Symfony as far as PHP frameworks go - complicated & arguably overengineered solutions, but extremely powerful and conducive to good organization & modularity.