Choo Weekly 47/17: Choo v6.6, веб-сканирование, небольшие пакеты и Preact

Всем счастливого понедельника! Добро пожаловать в Choo еженедельно, ваше любимое (и, вероятно, единственное) еженедельное обновление обо всем, что связано с Choo. Это первый раз, когда мы выпускаем обновление две недели подряд. Буйа!

На этой неделе у нас есть для вас несколько хороших вещей. Веб-сканирование, небольшое обновление Choo, конечные автоматы (посмотрите видео!) И Архитектура Choo для других фреймворков. Хорошая вещь; давай нырнем!

Если вы впервые слышите о Choo: мы - крошечный интерфейсный фреймворк, который вы всегда хотели использовать. Правдивая история. Попробуйте create-choo-app, чтобы ваше первое приложение заработало через 5 минут.

Выпущен Choo v6.6.0

Благодаря работе Moszeed, app.mount() метод Choo теперь принимает в качестве аргументов обычные узлы DOM. Итак, вы можете сделать следующее:

var choo = require('choo')
var app = choo()
app.mount('body')        // We accept queries…
app.mount(document.body) // But now also accept DOM Nodes!

Незначительное изменение, но оно полезно, если вам приходилось работать только с узлом DOM.

🕸 Сканирование сети с помощью Puppeteer

Библиотека кукольников Chrome довольно изящная. Он позволяет запускать и управлять безголовым браузером прямо из Node. Это означает, что мы можем начать делать всевозможные забавные программные вещи с браузерами прямо из Node.

Забавное занятие - сканировать веб-страницы. Сканирование страниц может быть отличным способом автоматизации аудита производительности, доступности, обнаружения мертвых ссылок и многого другого.

Чтобы облегчить сканирование, Ирина Шестак написала библиотеку под названием кукольник-ходунок 🏃. Это упрощает просмотр всего сайта и выполнение любых задач. Без шуток; для сканирования всего сайта требуется около 10 строк кода:

var Walker = require('puppeteer-walker')

var walker = Walker()

walker.on('end', () => console.log('finished walking'))
walker.on('error', (err) => console.log('error', err))
walker.on('page', async (page) => {
  var title = await page.title()
  console.log(`title: ${title}`)
})

walker.walk('https://avocado.choo.io')


Выпуск Bankai v9 в эту среду! 🚉

После трех месяцев работы мы выпустим Bankai v9 в эту среду! Он не только должен казаться эффективным; Bankai v9 позволяет вам переносить ваши приложения в будущее уже сегодня.

Мы первый проект на основе Browserify, включающий все, что вы ожидаете от современного рабочего процесса. Bankai v9 включает разделение пакетов, удаление мертвого кода, выравнивание модулей, встраивание критических стилей, предварительную загрузку ресурсов, рендеринг сервера и многое, многое другое!

Подробнее об этом в среду! (22.11.17)

Выберите архитектуру для Preact ⚛️

Джон Гачник открыл PR для обновления Rooch, чтобы он был совместим по API с последней версией Choo. Rooch - это то, как выглядел бы Choo, если бы он использовал Preact для рендеринга. Он использует ту же маршрутизацию, синтаксис и абстракции, но на вершине он хорошо наслоил компонентную систему Preact. Отлично, если вам нравится архитектура Choo, но вы не уверены, подходит ли вам переключение. V3.0.0 должна скоро приземлиться.



🧙 Меньшие пакеты с Tinyify

Рене Куи проделала огромную работу, чтобы улучшить размер вывода Browserify. Tinyify (произносится «крошечный-если-глаз») - это плагин, который выполняет различные оптимизации, поэтому вам не нужно устанавливать их все вручную.

Он удаляет require('assert') вызовов, заменяет переменные env, выполняет удаление мертвого кода, минимизирует, выравнивает выходные данные пакета и удаляет неиспользуемые экспорты.

Если вы используете Browserify для объединения, Tinyify - это плагин, который следует использовать перед развертыванием в производственной среде.



Конечные автоматы

Если вы какое-то время занимались созданием интерфейсов, возможно, вы ищете способы сделать проекты более удобными для сопровождения и легкими рассуждениями. Конечные автоматы (FSM) могут быть тем ответом, который вы искали.

За 25 минут Дэвид Хоуршид из Microsoft объясняет, что такое конечные автоматы, почему они полезны и какие шаблоны использовать при создании приложений. Стоит посмотреть!

Подведение итогов

На этой неделе все. Мы очень рады выпуску Bankai v9 в эту среду. Веб-сайт тоже идет хорошо; мы начали документировать основы Choo и определили начальное направление дизайна. Подробнее об этом в следующий раз.

Удачной вам недели!

Если вы работаете над чем-то интересным с помощью Choo, дайте нам знать на @ 4kilobytes или Freenode # choo ✌️.