- PVSM.RU - https://www.pvsm.ru -

Несколько интересностей и полезностей для веб-разработчика #32

Доброго времени суток, уважаемые читатели. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

ICEcoder [1]

Несколько интересностей и полезностей для веб разработчика #32 [1]
Это не просто песочница, а полноценный open source редактор в вашем браузере. Вообще существуют десктопные версии, но по-моему, наибольшие внимание разработчики уделают веб-версии. ICEcoder поддерживает HTML, CSS, LESS, SASS, JS, Coffee, PHP, RonR, Python, C/C++/C#, Java, Lua, Rust, SQL, Markdown, всего более 60 языков! Фичи: возможность совместной работы с кодом, Emmet, LiveReload, работа с БД, колопикер, diff tool, линтеры и еще целое множество удачных интерфейсных решений. Повторюсь — это все в вашем браузере!

Lazysizes [2]

Вероятно, лучший скрипт для ленивой подгрузки контента. Во-первый: он очень по-умному написан и он быстрый с точки зрения производительности. Во-вторых: работает с изображениями, фреймами и другими виджетами. В-третьих: поддержка отзывчивых изображений, воспринимает picture, srcset и специальные дата-атрибуты. Ну и плюс ко всему, он максимально просто в установе, для корректной работы нужно только указать соответствующим элементам класс lazyload.

Canman.js [3]

Несколько интересностей и полезностей для веб разработчика #32 [3]

(Ca)nvas (man)ipulation для Node.js и браузеров. С помощью данной библиотеки вы сможете с легкостью производить различные операции с изображениями и даже создавать фильтры, как в Instagram. На эту тему есть статья от Tutorialzine [4].

Caman('#my-image', function () {
    this.brightness(10);
    this.contrast(30);
    this.sepia(60);
    this.saturation(-30);
    this.render();
  });

или

  <img 
    data-caman="brightness(10) contrast(30) sepia(60) saturation(-30)"
    data-caman-hidpi="/path/to/image@2x.jpg"
    src="path/to/image.jpg"
  >

Swarm [5]

Swarm — это изометрическая реактивная M-из-MVC библиотека для Node.js, которая синхронизирует объекты в режиме реального времени и позволяет работать в оффлайне.

var Swarm = require('swarm');

var Mouse = Swarm.Model.extend('Mouse', {
    defaults: {
        name: 'Mickey',
        x: 0,
        y: 0
    }
});

module.exports = Mouse; // CommonJS

Обратимся к модели в App.js:

// 1. create local Host
var swarmHost = new Swarm.Host('unique_client_id');

// 2. connect to your server
swarmHost.connect('ws://localhost:8000/');

// 3.a. create an object
var someMouse = new Mouse();
// OR swarmHost.get('/Mouse');
// OR new Mouse({x:1, y:2});

// 4.a. a locally created object may be touched immediately
someMouse.set({x:1,y:2});

// 3.b. This object is global (we supply a certain id) so we
// may need to wait for its state to arrive from the server
var mickey = new Mouse('Mickey');

// 4.b. ...wait for the state to arrive
mickey.on('init', function () {
    // ...so we may touch it finally.
    mickey.set({x: 3, y: 4});
});

// 5. let's subscribe to the object's change events
mickey.on(function (spec, val, source) {
    // this will be triggered by every state change, be it
    // local or remote
    console.log('event: ', spec.op(), val);
    // outputs:
    // set {x:3, y:4}
});

Material Design Icons [6]

Огромная коллекция иконок от Google в двух размерах SVG, с CSS спрайтами и во всех размерах PNG для мобильников и веба.
Несколько интересностей и полезностей для веб разработчика #32 [6]

Later.js [7]

Вероятно, самый простой способ работы с повторяющимися задачами по расписанию.

 // fires every 2 hours on the first day of every month
  // and 8:00am and 8:00pm on the last day of every month
  // except in December
  var sched = later.parse.recur()
                .every(2).hour().first().dayOfMonth()
              .and()
                .on(8,20).hour().last().dayOfMonth()
              .except()
                .on(12).month();

  // get the next 10 valid occurrences
  later.schedule(sched).next(10);

Лучшие плагины для Sublime Text [8]

На прошлой неделе я опубликовал подборку с лучшими плагинами для ST. Большое спасибо всем комментаторам, благодаря вам дайджест стал еще более содержательным. Но для тех кто уже его видел, все равно рекомендую взглянуть на него еще раз, потому что там появилось несколько новых плагинов по рекомендациям наших коллег с Reddit [9].

Западные мысли или что стоило бы перевести на Хабре:

Говорят и показывают отечественные ИТ ресурсы:

Напоследок:

  • Стандарт HTML5 достиг статуса рекомендации W3C.
  • Meteor 1.0 [61]
  • Webfontloader [62] — библиотека для управления загрузкой шрифтов.
  • Awesome WPO [63] (Web Performance Optimization).
  • Synaptic.js [64] — нейронные сети со свободной архитектурой (признаюсь я так и не понял, что это за библиотека и было бы интересно почитать комментарии по этому поводу).
  • Respimage [65] — полифил для корректной работы атрибута srcset.
  • Remarkable.js [66] — быстрый и правильный Markdown парсер.
  • Pgweb [67] — web-based PostgreSQL database browser.
  • Reactable [68] — быстрые и удобные таблицы с данными для React.js.
  • Swarmize [69] — система управления информацией для журналистов от The Guardian.
  • Schematics [70] — Python Data Structures for Humans.
  • Flaskbb [71] — форум, написанный на Python на основе фреймворка Flask.
  • lwan [72] — experimental, scalable, high performance HTTP server.
  • The ultimate guide to Bootstrap [73].
  • Image Data Cleaner [74] — удаляет EXIF данные [75] с изображений. Современные устройства записывают массу информации в снимки (подробнее [76]).
  • Code:Deck [77] — очень крутые игровые карты для разработчиков.

                                                         Предыдущая подборка (Выпуск 31) [78]

Приношу извинения за возможные опечатки. Если вы заметили проблему — напишите, пожалуйста, в личку.

Спасибо всем за внимание.

Автор: ilusha_sergeevich

Источник [79]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/73437

Ссылки в тексте:

[1] ICEcoder: https://github.com/mattpass/ICEcoder

[2] Lazysizes: https://github.com/aFarkas/lazysizes

[3] Canman.js: https://github.com/meltingice/CamanJS/

[4] Tutorialzine: http://tutorialzine.com/2013/02/instagram-filter-app/

[5] Swarm: https://github.com/gritzko/swarm

[6] Material Design Icons: https://github.com/google/material-design-icons

[7] Later.js: https://github.com/bunkat/later

[8] Лучшие плагины для Sublime Text: http://habrahabr.ru/post/235901/

[9] Reddit: http://www.reddit.com/r/programming/comments/2krn3x/the_best_plugins_for_sublime_text/

[10] AngularJS Tutorial: A Comprehensive 10,000 Word Guide: http://www.airpair.com/angularjs

[11] How Do You Work With Other People’s Code?: http://www.sitepoint.com/work-peoples-code/

[12] Mobile Web App Checklist: http://www.luster.io/blog/9-29-14-mobile-web-checklist.html

[13] Designing Better JavaScript APIs: http://www.smashingmagazine.com/2012/10/09/designing-javascript-apis-usability/

[14] The Art of Creating Simple but Flexible APIs: http://josdejong.com/blog/2014/10/18/the-art-of-creating-simple-but-flexible-apis/

[15] CSS last-line: Controlling Widows & Orphans: http://demosthenes.info/blog/946/CSS-last-line-Controlling-Widows-&-Orphans

[16] How to set the order of stacked columns in a responsive email design: https://www.campaignmonitor.com/blog/post/4321/order-stacked-columns-responsive-email

[17] A Look into Speech Support in CSS3: http://www.developer.com/lang/css/a-look-into-speech-support-in-css3.html

[18] Hybrid Mobile Apps: Providing A Native Experience With Web Technologies: http://www.smashingmagazine.com/2014/10/21/providing-a-native-experience-with-web-technologies/

[19] HTML5 Video Caption Cue Settings in WebVTT: http://ronallo.com/blog/html5-video-caption-cue-settings-tester/

[20] Google publishes its ‘Physical Web’ open standard for using URLs as beacons for smart devices: http://thenextweb.com/google/2014/10/02/google-publishes-physical-web-open-standard-using-urls-beacons-smart-devices/

[21] How to Use PHPbrew and VirtPHP: http://www.sitepoint.com/use-phpbrew-virtphp/?utm_content=bufferf2c44&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

[22] Bitcoin and PHP with Coinbase’s API – Demo App: http://www.sitepoint.com/bitcoin-php-coinbases-api-demo-app/?utm_content=buffera0e0b&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

[23] These 8 Tricks to Selecting a Design Partner Will Amaze You: https://medium.com/@monteiro/these-8-tricks-to-selecting-a-design-partner-will-amaze-you-84f40d290296

[24] Improving Your Information Architecture With Card Sorting: A Beginner’s Guide: http://www.smashingmagazine.com/2014/10/20/improving-information-architecture-card-sorting-beginners-guide/

[25] Design Accessibly, See Differently: Color Contrast Tips And Tools: http://www.smashingmagazine.com/2014/10/22/color-contrast-tips-and-tools-for-accessibility/

[26] Reducing Abandoned Shopping Carts In E-Commerce: http://www.smashingmagazine.com/2014/10/23/reducing-abandoned-shopping-carts/

[27] asDesigned: http://asdesigned.bernardoantunes.com/

[28] «Шпаргалка по шпаргалке по Flexbox»: http://css-live.ru/articles-css/shpargalka-po-shpargalke-po-flexbox.html

[29] Jonibologna.com: http://jonibologna.com/flexbox-cheatsheet/

[30] «Как использовать API сайта, у которого нет API?»: http://habrahabr.ru/post/241335/

[31] sleeping-owl: http://habrahabr.ru/users/sleeping-owl/

[32] «Аксиоматический CSS и лоботомированные совы»: http://frontender.info/axiomatic-css-and-lobotomized-owls/

[33] оригинал на A List Apart: http://alistapart.com/article/axiomatic-css-and-lobotomized-owls

[34] «Продвинутое использование объектов в JavaScript»: http://habrahabr.ru/post/241465/

[35] benjie: http://habrahabr.ru/users/benjie/

[36] «Эквалайзер на JavaScript»: http://habrahabr.ru/post/240819/

[37] linoleum: http://habrahabr.ru/users/linoleum/

[38] «Работа с COM портом в web-проекте»: http://habrahabr.ru/post/240775/

[39] Forx: http://habrahabr.ru/users/forx/

[40] «Быстрая загрузка веб-шрифтов на адаптивных сайтах»: http://css-live.ru/articles-css/bystraya-zagruzka-veb-shriftov-na-adaptivnyx-sajtax.html

[41] Bdadam.com: http://bdadam.com/blog/loading-webfonts-with-high-performance.html

[42] «Изучаем Javascript перебирая косточки Backbone.js»: http://habrahabr.ru/post/240969/

[43] «Разбор Underscore»: http://habrahabr.ru/post/240713/

[44] IDriuk: http://habrahabr.ru/users/idriuk/

[45] «BlackHole.js с привязкой к картам leaflet.js»: http://habrahabr.ru/post/241023/

[46] artzub: http://habrahabr.ru/users/artzub/

[47] «Создание расширения для Chrome за пару часов»: http://habrahabr.ru/post/241131/

[48] mudasobwa: http://habrahabr.ru/users/mudasobwa/

[49] «Создание пакета для Laravel»: http://habrahabr.ru/post/241423/

[50] Cherryoff: http://habrahabr.ru/users/cherryoff/

[51] «Pythonista. Пишем на Python для iOS»: http://habrahabr.ru/post/241229/

[52] Snusmumrick97: http://habrahabr.ru/users/snusmumrick97/

[53] «TypeScript и путь к версии 2.0»: http://habrahabr.ru/company/microsoft/blog/241744/

[54] kichik: http://habrahabr.ru/users/kichik/

[55] «Движок SpiderMonkey обошел V8 на собственном тесте Google»: http://habrahabr.ru/post/241762/

[56] ilya42: http://habrahabr.ru/users/ilya42/

[57] «jQuery 3.0: будущие поколения»: http://habrahabr.ru/company/enterra/blog/241983/

[58] DreamWalker: http://habrahabr.ru/users/dreamwalker/

[59] «Яндекс.Браузер теперь и для Linux»: http://habrahabr.ru/company/yandex/blog/241915/

[60] BarakAdama: http://habrahabr.ru/users/barakadama/

[61] Meteor 1.0: https://github.com/meteor/meteor

[62] Webfontloader: https://github.com/typekit/webfontloader

[63] Awesome WPO: https://github.com/davidsonfellipe/awesome-wpo

[64] Synaptic.js: https://github.com/cazala/synaptic

[65] Respimage: https://github.com/aFarkas/respimage

[66] Remarkable.js: https://github.com/jonschlinkert/remarkable

[67] Pgweb: https://github.com/sosedoff/pgweb

[68] Reactable: https://github.com/glittershark/reactable

[69] Swarmize: https://github.com/guardian/swarmize

[70] Schematics: https://github.com/schematics/schematics

[71] Flaskbb: https://github.com/sh4nks/flaskbb

[72] lwan: https://github.com/lpereira/lwan

[73] The ultimate guide to Bootstrap: http://www.webdesignerdepot.com/2014/10/the-ultimate-guide-to-bootstrap/

[74] Image Data Cleaner: https://github.com/codepo8/image-data-cleaner/

[75] EXIF данные: http://en.wikipedia.org/wiki/Exchangeable_image_file_format

[76] подробнее: http://christianheilmann.com/2014/10/21/removing-private-metadata-geolocation-time-date-from-photos-the-simple-way-removephotodata-com/

[77] Code:Deck: http://varianto25.com/

[78] Предыдущая подборка (Выпуск 31): http://habrahabr.ru/post/240861/

[79] Источник: http://habrahabr.ru/post/241539/