Jump to content

Grunt? Gulp? Something else?


OrganizedFellow
 Share

Recommended Posts

I was using only LESS in my projects through PhpStorm's LESS plugin. It did the job fine until I wrote a mixin that required LESS version 1.6.2, and the plugin supports 1.6.0 only. So I took the chance and set up Node and Gulp to see the difference. And there's a huge difference!

First off, my mixin works fine. Second, I could automatize many things that I did manually beforehand, and even add new things to my workflow. I used Base's gulpfile.js as the starting point but added some new stuff too.

- watch: compile CSS when a LESS file is changed (saved)

- less: compile LESS to CSS

- uncss: remove unused CSS from stylesheets. Great to reduce CSS file size when using bigger CSS frameworks.

- minify, nano: minify JS/CSS/HTML

- imagemin: reduce image file size

- copy: create a release package out of source files

- inlinesource: add CSS inline

These tasks helped a lot to achieve 100/100 on google page speed on a current project (one-page landing page). It takes some time to set up gulpfile.js but when it's done, subsequent runs saves a lot of time.

I'm on Win and had some initial troubles setting up PATHs (environment variables), but finally everything came into place. I also use Node.js Portable Runtime so I can use Node in a portable manner without the need to install globally.

  • Like 2
Link to comment
Share on other sites

I get some weird looks amongst a few programming friends because I'm programming in godforsaken PHP

I sometimes find myself apologizing for my PHP work also,

When I first started with processwire the php didn't make much sense to me. But like any other language, the more you use it the better you become and the more you see it's potential. Php is driving a huge part of the internet. Just look at the amount of daily job offers where companies are looking for php coders.

  • Like 2
Link to comment
Share on other sites

  • 5 months later...

Sometimes I feel horrible that I'm not using the cool kids tools, but truth be told I think none of my projects are that complex to really need this setup. Am I being lazy here? Should I actually try this tools to actually see the possible benefits? I mean, I do want to become a better webdev, just really haven't seen the need, I just feel that all that minification and optimized workflow works for complex stuff and when that time comes, I will make my move, meanwhile it feels like an overkill.

 I think this thread is classic and I'm glad I stumbled upon it. A lot of grins and nods while reading through it. It touches upon many points of frustration that any coder, no matter what the platform , is going to run into. Speaking from my own experience, as the cliche states, there are only so many hours in a day. Only you can make the decision how you want to spend them.

OK.. so a little background... I am not a full time web developer at the moment. I was a full time developer for many years up until recently, working on different platforms along the way - IBM mainframe , HP, Unix and of course Windows. I have had the great pleasure of learning more than one language that eventually fell to the wayside for one of many possible reasons ( Powerbuilder anyone? ). Of course I had to put the time into learning those languages. I am not bitter though :) After you've been a coder for even a short time, you come to see this is just the nature of the beast and I don't consider it time wasted. It kept me employed :).  On the other hand, if you value your time, you learn to sit back and ask yourself, do I really need to use this? Is the benefit I get from learning it going to outweigh the time and effort to learn it? Does this seem to be a product that will be around for a while or is it the product of some talented individual(s) making a go at becoming the next Zuckerburg? Maybe they will and maybe they won't. These are just a few questions I think most of us ask ourselves before we go off on a tangent to learn yet another piece of software.

Case in point regarding this article : Grunt vs. Gulp. On many occasions I came across many threads where either of the two happened to be mentioned but I held back from taking the first step. I had other priorities at the time ( Like looking over PW for instance :) ). My first exposure to either came this weekend. I did some Googling and read enough to get the impression that more than a few people switched from Grunt to Gulp. Ok so I read a little more and got the second impression that it might not have much of a learning curve. So then I ask, could I get by without it? The answer was yes, I could simply write a PHP script or even vbscript for that matter,  that would accomplish what I needed. I was a little conflicted because I saw some potential benefits with learning to use it. Just small conveniences, nothing major. I also had the suspicion that I could probably find enough sample code to throw together what I was looking to accomplish with it, and sure enough, that was the case.

This is just a small example, there wasn't much at stake with playing around with Gulp, and along the way I learned a few small things about Node.js. I am a Node newbie, so it's all good. I have written way more than enough here and see that I have not really made any specific point, and I've just reiterated points already made by others. To summarize it, I'd say choose your battles wisely. Don't lose sight of your current priorities. Weigh the potential advantages against the potential time investment. And also, are you willing to put software package 'A' on maintenance mode in order to take on the new, shiny product 'B'? Have a good day :)

  • Like 4
Link to comment
Share on other sites

Speaking from my own experience, as the cliche states, there are only so many hours in a day. Only you can make the decision how you want to spend them. Weigh the potential advantages against the potential time investment.

Some good post you wrote there bill c. Speaking about there are only so many hours in a day, I want to add to this that time is also money. This may sound as another cliche but many wordpress developers I know make websites much faster in the same hours, deliver very good looking websites and make a lot more money in the same hours as I do. The speed at which PW 3.x is being developed lately is moving it into a high end system for high end coders in a high end market. It looks like PW is becoming more about knowing how to code than about making websites. (e.g. there is still no templates store for pw) So the question is do I really need to invest time to know all that growing potential and coding to make my websites ?

Link to comment
Share on other sites

Speaking from my own experience, as the cliche states, there are only so many hours in a day. Only you can make the decision how you want to spend them. Weigh the potential advantages against the potential time investment.

Hey Pwired, thanks for taking the time to post your compliment and reply. Hope all is well in Spain. Your reply brings up more than one issue that I've been thinking about on and off for a while now. As I mentioned in my post, I'm not building sites for a living at the moment. At best I hope it is to become a part time endeavor. How realistic is that goal? I'm not too sure at the moment.  I'm one of those 'old programmers' you hear about sometimes :) Some may laugh, and that's ok.. but I still enjoy creating software and learning new things, though I try to pick and choose wisely what I put my time into.

 I did spend a more than a few weeks of evenings experimenting with Wordpress after looking into it , seeing the numbers which are hard to ignore, on it's usage and popularity, etc.I was at a point where I was able to put a decent template together from scratch and I was starting to feel comfortable with the Wordpress flow. Ultimately though, I did not really enjoy working with it. It was not easy to pass on it after the time I spent on it. Sometimes you do have to invest more time than anticipated to evaluate a piece of software, especially a 'framework'. And yes I know , many don't consider Wordpress a framework or a CMS. I'm not big on semantics so forgive me :) ( Interesting read here on that topic if you're interested  )

One of the priorities for me personally is, if I'm not enjoying what I'm working with, I'll pass on it for now. I feel much more positive about working with PW than I did with Wordpress. The code/design is MUCH easier to follow for me personally. My hat is off to Mr. Cramer and the others closely involved with development and maintenance. I'm not saying Wordpress is garbage. I'm just saying I have more respect for the internals of PW vs Wordpress. Again, not claiming to be an expert on these things, it's just my personal feeling about the matter. I would be interested, for my own benefit to see an example of what you mean by the more recent versions of PW requiring more code to accomplish a given task.

Yes, I can see where a site could be put together faster with Wordpress than with PW. I would guess we're talking about relatively simple sites though? And really, who puts together a site from scratch anyway? It's not difficult to see that PW very much lends itself to creating site templates and yes it can be done with WP too, but which would be easier to implement with a satisfactory degree of flexibility? I personally feel that PW's whole Page->Template-Field concept provides great flexibility. Now I realize that WP may have plugins / themes that offer similar flexibilty. I am just not familiar with them personally. And yes, it can't be argued, Wordpress users have a huge number of plugins at their disposal and this of course might give them the edge in development speed if a similar plugin isn't available for PW.

Anyway, as usual, I have rambled enough. Another fine example of tl;dr I'm afraid. Worried I might be banned from submitting posts after this. The scary part is I had more to add, but I will just save the thoughts for a post of my own sometime.  Again, thank you again for taking the time to reply. On a parting note, I will only add 'Raise your rates!!' ... ( just joking.. sort of.. :) Have a good day.

  • Like 8
Link to comment
Share on other sites

  • 4 weeks later...

I'm coding more as a hobby..doing own projects, and some little sites for friends so time/money is not really a topic for me.

But I still wanted to add my thoughts to the WP/PW fast coding comments as I just recently talked to my non-techy girlfriend about it cause a friend of us got a crappy WP shop set up..

I feel wordpress is "too" simple..everyone calls himself WP developer and charges more or less for creating websites in a matter of a few days..

You ever read "Processwire powered site hacked"? ...

Before I dived into PW I used WP and Drupal..at this time I was way less experienced (PW helped me a lot in learning PHP, still I'm not a pro and make mistakes, but with PW it feels less dramatically) so setting up WP is quite easy and fast sure..adding whatever functionality you need by just enabling a plugin..but that's the time where problems come up...either the plugin is too bloated, not doing exactly what you want, outdated, or conflicting with another plugin or code you threw in..

So in the end you spend way more time in fixing and hacking all those issues you could have used to set up a proper and less vulnerable PW page in nearly the same time. And you can tell your customer that later maintenance or extension/customization will be way easier..

Sure there are great Wordpress blogs out there and if you're really just setting up a blog and now you won't add a shop or some other customization to it go for WP..everything else will benefit from Processwire..at least in my humble opinion ;)

Uh and the template shop thing..yeah somehow that might be cool to have and I'm quite sure someone might start something one day..but on the other hand you can easier fit the design more into the exact needs of the website and can always use css frameworks

Or you can easily use design templates not made for a special system e.g. from template monster..or googling for free templates

Link to comment
Share on other sites

Well I just tried to make changes to a WP site to speed it up. I was literally out of curses because the site was built on a theme which was trying to achieve everything through the admin, no coding required. The result was downloading about 10 google fonts, many of them duplicates, and Js files were about 640 kbytes altogether, just to mention a few things. There was even a cache plugin in duty but didn't help much. We also tried to move the whole thing to a faster server but it loaded hell slow there too.

This was a nice example of 'wp devs' who set up something which seemed like being a website but actually a piece of crap. If I were the client I weren't pay money for this. It's also interesting that there are such low quality themes allowed.

Anyway, the site may be rebuilt in PW in the future, just to have a happy ending here :)

  • Like 1
Link to comment
Share on other sites

  • 4 months later...
1 hour ago, AndZyk said:

For everyone interested: CodeKit 3 is out now.

I know, that everything CodeKit does, can be achieved using an IDE, Grunt, Gulp, CLIs and so on. But CodeKit provides a good starting point for beginners, in my opinion. :)

I was about to upgrade when I realise you need MacOs 10.11 .....  NoooooooOoooo.

You're absolutely right about Codekit being great for beginners but I'm starting to find a bit long in the tooth in terms of speed and resources. I was contemplating setting up Grunt/GULP etc to work on PHPStorm so I can remove it eventually. Upgrading to Codekit 3 would have saved me a world of pain ...

  • Like 1
Link to comment
Share on other sites

  • 8 months later...

I've recently started to use laravel mix which is again a laravel related tool, which is not limited to usage only with laravel. It's a quite nice wrapper around webpack, which hides all the tedious configuration without denying the ability to customize when needed. When using vuejs it's even better, because it supports .vue files out of the box.

  • Like 1
Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...