WASM
Вчера публиковал пост о веб-воркерах. Вторая технология, важная для производительности фронтенда — WebAssembly. Это такой способ выполнять не-JS код в браузере. Со всеми вытекающими — можно проводить сложные вычисления на Rust, и строить графики на Python.
Этот подход тоже не лишен недостатков — wasm-файлы довольно тяжелые, ваше приложение будет медленно загружаться, зато быстро работать.
13 июня в 20-00 МСК OTUS проводит открытый урок "WebAssembly". Там подробно расскажут о WebAssemby, принципах его работы и кейсах применения.
#фронтенд #производительность #партнерский_материал
Вчера публиковал пост о веб-воркерах. Вторая технология, важная для производительности фронтенда — WebAssembly. Это такой способ выполнять не-JS код в браузере. Со всеми вытекающими — можно проводить сложные вычисления на Rust, и строить графики на Python.
Этот подход тоже не лишен недостатков — wasm-файлы довольно тяжелые, ваше приложение будет медленно загружаться, зато быстро работать.
13 июня в 20-00 МСК OTUS проводит открытый урок "WebAssembly". Там подробно расскажут о WebAssemby, принципах его работы и кейсах применения.
#фронтенд #производительность #партнерский_материал
Deno
На HolyJS слушал доклад про Deno. Это был не очень хороший доклад про крутую технологию от интересного человека.
Deno — это рантайм для TypeScript (можно запускать и JavaScript), который должен стать лучшей версией Node.js.
Три ключевых приемущества:
+ распределенное хранилище пакетов — любая библиотека импортируется просто по URL;
+ безопасность — по умолчанию у приложения нет доступа до важных штук (сеть, диск, устройства) и их нужно выдавать явно;
+ поддержка TypeScript из коробки.
Технология еще совсем сырая — использовать ее в реальных приложениях не стоит. Но осенью обещают стабильный релиз.
Тематические материалы:
+ Deno on GitHub
+ Распаковываем фреймворк
+ Deno — новый Node.js?
Когда выложат запись доклада уже не будет смысла его смотреть, поэтому — просто почитайте о Deno. Мне кажется, эта штука может стать очень популярной.
#js
На HolyJS слушал доклад про Deno. Это был не очень хороший доклад про крутую технологию от интересного человека.
Deno — это рантайм для TypeScript (можно запускать и JavaScript), который должен стать лучшей версией Node.js.
Три ключевых приемущества:
+ распределенное хранилище пакетов — любая библиотека импортируется просто по URL;
+ безопасность — по умолчанию у приложения нет доступа до важных штук (сеть, диск, устройства) и их нужно выдавать явно;
+ поддержка TypeScript из коробки.
Технология еще совсем сырая — использовать ее в реальных приложениях не стоит. Но осенью обещают стабильный релиз.
Тематические материалы:
+ Deno on GitHub
+ Распаковываем фреймворк
+ Deno — новый Node.js?
Когда выложат запись доклада уже не будет смысла его смотреть, поэтому — просто почитайте о Deno. Мне кажется, эта штука может стать очень популярной.
#js
Веб и Python
Я уверен, что будущее в вебе. Может быть, не в браузере, но точно в вебе. Интернет вещей, роботы и заводы — все работает через интернет. Сайты, мобильные и десктопные приложения написаны на веб-технологиях. И поэтому важно уметь писать веб-приложения, понимать как внутри все устроено.
В SkillFactory запускают очереденой поток курса Веб-разработчик на Python. Это хороший способ вкатится в эту область, изучить все важные базовые концепции и начать работать.
В программе есть не только занятия по хард-скилам, но и "бизнес-модуль". Там научат общаться с заказчиками, работать в команде и фрилансить.
#партнерский_материал
Я уверен, что будущее в вебе. Может быть, не в браузере, но точно в вебе. Интернет вещей, роботы и заводы — все работает через интернет. Сайты, мобильные и десктопные приложения написаны на веб-технологиях. И поэтому важно уметь писать веб-приложения, понимать как внутри все устроено.
В SkillFactory запускают очереденой поток курса Веб-разработчик на Python. Это хороший способ вкатится в эту область, изучить все важные базовые концепции и начать работать.
В программе есть не только занятия по хард-скилам, но и "бизнес-модуль". Там научат общаться с заказчиками, работать в команде и фрилансить.
#партнерский_материал
Опасное место
По моему опыту, больше всего ошибок появляется в местах, где значения может не быть.
Многие языки (привет, TypeScript) не очень хорошо умеют сигнализировать о возможном отсутствии значения. Решение — явно указывать это в коде.
Option — структура данных, которая хранит такие значения и позволяет работать с ними абсолютно безопасно. В некоторых языках они встроены, в других — нужно использовать сторонние библиотеки.
Стандарт Option включает в себя многое, что зачастую не нужно в реальных приложениях. А для фронтенда важен каждый байт. Поэтому я сделал минималистичную реализацию для TS/JS — nanoption (220 байт).
Почитайте, как использовать Option в вашем языке и попробуйте.
#проектирование #js
По моему опыту, больше всего ошибок появляется в местах, где значения может не быть.
Многие языки (привет, TypeScript) не очень хорошо умеют сигнализировать о возможном отсутствии значения. Решение — явно указывать это в коде.
Option — структура данных, которая хранит такие значения и позволяет работать с ними абсолютно безопасно. В некоторых языках они встроены, в других — нужно использовать сторонние библиотеки.
Стандарт Option включает в себя многое, что зачастую не нужно в реальных приложениях. А для фронтенда важен каждый байт. Поэтому я сделал минималистичную реализацию для TS/JS — nanoption (220 байт).
Почитайте, как использовать Option в вашем языке и попробуйте.
#проектирование #js
Есть замечательный коллективный аккаунт — twitter.com/jsunderhood, но не всем удобно читать его именно в твиттере.
Сделал зеркало в телеграме @jsunderhood_mirror. Туда автоматически попадают все из твиттера.
Сделал зеркало в телеграме @jsunderhood_mirror. Туда автоматически попадают все из твиттера.
Dart
Я часто смотрю на новые языки программирования.
Пару месяцев назад уже пробовал Dart, делал небольшое приложение на AngularDart. Мне понравился фреймворк, но не понравился язык.
Неделю назад снова столкнулся с Dart, на этот раз для мобильной разработки (фреймворк Flutter).
В этот раз Dart мне понравился намного больше. Возможно, это связано с тем, что код исполняется родной виртуальной машиной и уши JS не торчат из каждой щели. Может быть, Flutter просто удачно раскрывает плюсы языка и прячет минусы.
Dart очень объектно-ориентированный язык, в нем достаточно хорошо работает вывод типов, очень выразительный синтаксис.
#языки
Я часто смотрю на новые языки программирования.
Пару месяцев назад уже пробовал Dart, делал небольшое приложение на AngularDart. Мне понравился фреймворк, но не понравился язык.
Неделю назад снова столкнулся с Dart, на этот раз для мобильной разработки (фреймворк Flutter).
В этот раз Dart мне понравился намного больше. Возможно, это связано с тем, что код исполняется родной виртуальной машиной и уши JS не торчат из каждой щели. Может быть, Flutter просто удачно раскрывает плюсы языка и прячет минусы.
Dart очень объектно-ориентированный язык, в нем достаточно хорошо работает вывод типов, очень выразительный синтаксис.
#языки
Flutter
В прошлом я немного писал мобильные приложения на React Native. Мне не нравилось. Отвратительный тулинг, странные библиотеки и куча костылей на каждой шагу.
Сейчас я снова столкнулся с необходимостью сделать небольшое мобильное приложение и решил попробовать Flutter.
Это прекрасный фреймворк, которые помогает делать приложение с минимальным трением. Он в меру прост, библиотек мало, но они супер-качественные, тулинг отличный.
Конечно, и у Flutter есть свои проблемы (например, разметка описывается очень сложными конструкциями), но в целом он круче ReactNative.
Если вы умеете только в веб, но хочется попробовать сделать что-нибудь для мобилок — Flutter отличный вариант.
#рекомендации
В прошлом я немного писал мобильные приложения на React Native. Мне не нравилось. Отвратительный тулинг, странные библиотеки и куча костылей на каждой шагу.
Сейчас я снова столкнулся с необходимостью сделать небольшое мобильное приложение и решил попробовать Flutter.
Это прекрасный фреймворк, которые помогает делать приложение с минимальным трением. Он в меру прост, библиотек мало, но они супер-качественные, тулинг отличный.
Конечно, и у Flutter есть свои проблемы (например, разметка описывается очень сложными конструкциями), но в целом он круче ReactNative.
Если вы умеете только в веб, но хочется попробовать сделать что-нибудь для мобилок — Flutter отличный вариант.
#рекомендации
SOLID
Создавать приложения сложно. В первую очередь, сложно уследить за зависимостями внутри кода. Умные люди придумали способ делать это — SOLID.
Тематический доклад — Солидный код
#проектирование
Создавать приложения сложно. В первую очередь, сложно уследить за зависимостями внутри кода. Умные люди придумали способ делать это — SOLID.
Тематический доклад — Солидный код
#проектирование
YouTube
Сергей Протько "Солидный код"
Конференция PHP fwdays'17 прошла 11 июня 2017 года в Киеве, Украина.
Презентация доклада: https://fwdays.com/en/event/php-fwdays-17/review/solid
Facebook: https://www.facebook.com/fwdays/
Twitter: https://twitter.com/fwdays
Презентация доклада: https://fwdays.com/en/event/php-fwdays-17/review/solid
Facebook: https://www.facebook.com/fwdays/
Twitter: https://twitter.com/fwdays
Мы в Breadhead делаем много крутых штук и решили рассказывать о них в телеграм-канале — @breadhead.
Он не только про техническую сторону (хотя технические посты будут), а о заказной разработке вцелом: деньги, изменения, факапы, технологии, дизайн, процессы, продажи. Мы все пишем туда посты, поэтому они будут очень разными — от концепции редизайна сайта Петербургской Филармонии до объяснения, почему мы пишем на Node.js.
Подписывайтесь, мы будем стараться делать интересный контент.
@breadhead
Он не только про техническую сторону (хотя технические посты будут), а о заказной разработке вцелом: деньги, изменения, факапы, технологии, дизайн, процессы, продажи. Мы все пишем туда посты, поэтому они будут очень разными — от концепции редизайна сайта Петербургской Филармонии до объяснения, почему мы пишем на Node.js.
Подписывайтесь, мы будем стараться делать интересный контент.
@breadhead