background preloader

Tools

Facebook Twitter

DevMate: Create Better Apps Easier. Plop — a micro-generator to ease your daily life | @nicoespeon. Meet plop, a little node package which quickly bootstraps new files. What’s plop? Plop is a little node package that will ease your life whenever you need to create a new controller / router / helper / … Hey, that’s damn easy to create a new controller: copy-paste another controller code, delete specific lines you won’t use. Tadaaa! Well, now pop a bunch of legitimate questions: Which “other” controller do you speak about?

The more recent? Find a good file, open it, copy its content, create a new file, paste the content, delete useless lines… It’s repetitive, error prone and doesn’t have a lot of added value. It would just be awesome to write plop in your terminal, answer 2 questions and BIM, you’re all set! Quick, neat. That’s exactly what I’m talking about here. Setup Installation As a node package, npm install -g plop and you’re ready to play with plop. You also can install it locally to the project, adding it to dependencies: npm install --save-dev plop. Voilà! Configuration All inclusive FTW. Flow | Flow | A static type checker for JavaScript. SurviveJS - Webpack and React - Developing with Webpack. If you are not one of those people who likes to skip the introductions, you might have some clue what Webpack is.

In its simplicity, it is a module bundler. It takes a bunch of assets in and outputs assets you can give to your client. This sounds simple, but in practice, it can be a complicated and messy process. You definitely don't want to deal with all the details yourself. This is where Webpack fits in. Next, we'll get Webpack set up and your first project running in development mode. Before getting started, make sure you are using a recent version of Node.js as that will save some trouble. Especially css-loader has issues with Node 0.10 given it's missing native support for promises. Webpack is one of those tools that depends on Node.js. Mkdir kanban_app cd kanban_app npm init -y As a result, you should have package.json at your project root. You can set those npm init defaults at ~/.npmrc. If you are using git, I recommend setting up a .gitignore to the project root: .gitignore <! ...

Essential Plugins for Gulp. This post can say is a duplicate of my previous collection "Essential Plugins for Grunt". The matter is that after many hours of search I didn't find cool plugins for Gulp which aren't present for Grunt except for couple of very specific utilities. Just contrary, but I couldn't ignore a huge number of users of Gulp.

I marked all missing plugins because Gulp is able to use them from Grunt, as well as Grunt from Gulp. Good day, everyone! I don't remember in what article it is exactly, someone skilled developer was thinking about the development process with a explicit call to automate everything that can be automated. And it is better to spend time on automation at once then saving it during the whole project. I am absolutely agree with this opinion. The web developers have a great tool to automate a number of tasks, which named the Gulp. And I've put it on GitHub, so that everyone could make Pull Request. gulp-uncss - best solution to optimize CSS files. Gulp-csslint - CSS linter. Graphics. CSS Post-Processing With Pleeease. Pre-processors such as Sass, Less, and Stylus have revolutionized CSS development. If you’re a pre-processor skeptic like I was, try using Sass for a project or two: you won’t ever return to raw CSS again.

Despite this attention, developers rarely consider post-processors. Pleeease could change that perception… What’s a CSS Post-Processor? A post-processor applies changes to a CSS file after it’s been hand-coded or generated by a pre-processor. A basic example is minification: your CSS file is parsed to remove white space, comments, and unnecessary dimensions, e.g. margin: 0px 0px 0px 0px; becomes margin:0;. Pleeease is a Node.js application that combines a selection of great post-processors into one handy command-line tool that works on any platform.

Command-line? Don’t be afraid; Pleeease is not complicated to install or run. Installing Pleeease First, install Node.js from nodejs.org. Next, open a command-line/terminal window and enter the following command on Windows: or, on Mac/Linux: Why we should stop using Grunt & Gulp. If you're building a modern JavaScript application or website, there's a good chance you've seen the JavaScript Build Tool Landscape. The heavyweights of this world are Grunt and Gulp, although many, many others exist too. Grunt receives a whopping 30,000 downloads most days, and Gulp has a respectable 15,000 daily downloads. They must be doing something right, right? Build systems seem to be the tool du jour of the JavaScript community. I've used Gulp and Grunt in several projects (mostly closed-source projects, but some open-source, such as Tempus). For me, especially more recently, I feel like many of these tools are solving the problem badly.

All of them do, to varying degrees. Bloat All of these task runners (or build systems if you want to call them that) try to abstract some kind of task paradigm away into their own siloed incantations. And then of course, you'd need to install the grunt and grunt-contrib-jshint dependencies. Relying on plugins But this is where it can get crazy. Build Wars: Gulp vs Grunt. Gulp vs Grunt A brief history of Grunt I realized that a task-based build tool with built-in, commonly used tasks was the approach that would work best for me Ben AlmanMarch 2012 Single, global Grunt: $ npm install -g grunt Configuration over code Built-in init task to get you started $ grunt init jquery Kitchen sink init concat lint min qunit server test watch Simple config Common build steps Designed for small libraries & plugins What was wrong?

Global 'grunt' command... Grunt v0.4 Released Feb 2013 grunt.js became Gruntfile.js 'init' task became 'grunt-init', inspired Yeoman Local Grunt install for each project Global 'grunt' command runs local Grunt Everything is a plugin, no built-in tasks Stream-based build system Code over configuration Small, idiomatic Node modules Really simple, elegant API Basic Gulpfile var gulp = require('gulp'), stylus = require('gulp-stylus'), autoprefixer = require('gulp-autoprefixer'); Gulp tasks run from terminal $ gulp taskname Streaming Builds @maxogden It's not too hard.

Algorithm and Blues. In recent months there have been a proliferation of frontend tools that aid in transforming the raw, well organized source that developers prefer to work with into the highly optimized packages of code and assets that actually get delivered to users' browsers. Of these tools, there are a few that have risen above the rest. At Rdio, we've used one-off, hand-spun scripts to build our frontend for years. I decided we needed to fix this recently and dove into finding some build tool that could make our builds consistent and fast. I wanted something blessed by the frontend community as there is a bit of code we're looking to open source in the coming months, but after several failed attempts I became convinced that all the frontend specific build tools are less mature and less flexible than tools that have existed for decades.

I reached for trusty old make, and now I don't know why I started with anything else. make is Unixy Assumption time: the Unix philosophy is a good one. Running Tasks. Npm. BOWER. Grunt. Plugins - Grunt. Grunt 0.4. Эта статья — пересказ моего доклада на Web Standards Days в ноябре прошлого года, учитывающий все изменения новой версии 0.4.

Будет полезен как новичкам в Гранте, так и пользователям Гранта 0.3, переходящим на новую версию. Зачем это нужно У хороших сайтов есть две версии: Версия для разработки: JS/CSS разбиты на много файлов и не сжаты, долго загружается, легко отлаживать.Боевая версия: минимум запросов к серверу, ничего лишнего, всё сжато, быстро загружается. Грант автоматически делает из первой версии вторую: склеивает файлы, минифицирует JavaScript, проверяет код с помощью JSHint, прогоняет тесты, запускает CSS-препроцессоры и компилятор CoffeeScript.

Всего не перечислишь. В отличии от других подобных инструментов (Ant, Make и т. д.), Грант создавался специально для фронтенд-разработчиков. Установка Для использования Гранта вам понадобится установить Node.js (на маке просто brew install node) . $ npm install grunt-cli -g Настройка Теперь нужно создать в папке проекта два файла: package.json. Gruntfile.js. Yeoman. JSONLint.