Pull to refresh
61
0
Сергей Пугачёв @WizardBox

Пользователь

Send message

Используем AMP как библиотеку общего назначения для создания быстрых динамических сайтов

Reading time18 min
Views21K

Изменить первое впечатление очень трудно. И я говорю не только о людях. Технологии также часто становятся заложниками первого впечатления — своей первой версии. И потом несмотря на годы развития, новые возможности и устранение старых недостатков, в массовом сознании технология остается той самой несовершенной, своей первой версией. Тем, кто не пытается бороться с такого рода когнитивными искажениями, остаётся только смотреть на успехи конкурентов, использующих знакомые технологии в новых сценариях, с немым вопросом: "А что, так можно было!?".



Наиболее ярким примером технологии, которая шагнула далеко вперёд по сравнению с тем, чем она была в самом начале, на мой взгляд является AMP — Accelerated Mobile Pages. Многие разработчики воспринимают AMP как способ положить статический контент своего сайта (статьи, новости, заметки и т.д.) в кэш Google, чтобы при открытии из поиска этот контент загружался мгновенно (о высокой скорости загрузки AMP страниц свидетельствует иконка молнии в результатах поиска :)). Естественно, если вам нужно добиться именно такого результата, то с AMP это сделать будет очень легко. Но AMP — это гораздо больше чем просто технология для работы со статическим контентом или кэшем Google. AMP уже давно используется как библиотека общего назначения, основанная на web компонентах, для создания быстрых динамических страниц и даже сайтов целиком, на которые пользователи попадают как из поиска, так и из других источников, включая прямые заходы. С этой точки зрения AMP можно поставить в один ряд с Polymer, React или Angular. Естественно с оглядкой на то, что AMP предназначена для простых (чтобы это не значило) сайтов, где основной упор делается на контент, а динамическая составляющая ограничена.


Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments11

Могут ли PWA (Progressive Web Apps) образца 2018 года составить достойную конкуренцию нативным приложениям?

Reading time14 min
Views61K


Когда изменения происходят постепенно, шаг за шагом, порой бывает трудно заметить насколько они драматичны и всеобъемлющи. Казалось бы всего несколько лет назад web платформа проигрывала нативным приложением практически по всем фронтам, и пропасть между тем, что можно было сделать в браузере, и тем, что было доступно приложениями, загружаемым из магазинов, таких как Apple App Store или Google Play Store, была ужасающе огромной. Одним из свидетельств этой пропасти является то, что в 2007 году web по факту был основной платформой разработки приложений для первого iPhone, но эта платформа явно не взлетела. App Store же появился только год спустя со второй версии операционной системы, и сразу же случился бум нативных приложений, который и сформировал рыночный ландшафт таким, каким мы его знаем теперь.


Многое изменилось с тех пор, и web технологии на месте не стояли. Они шли по пути снятия ограничений, и то, что раньше было принципиально невозможно — работа оффлайн, фоновая синхронизация данных, push-нотификации, поддержка входа в один клик и оплаты с помощью кредитных карт, Apple Pay, Google Pay и других методов, встроенная в браузер — теперь реальность. Эти функции органично дополняют основную часть платформы — HTML/CSS и JavaScript, которая в последние годы развивалась более чем активными темпами. Например новый проект Houdini, который ещё находится на достаточно ранней стадии, снимает почти все ограничения на то, что можно сделать с помощью CSS, давая возможность среди прочего создавать свои лэйауты и использовать их наравне с Grid и Flexbox, и открывая программный доступ к внутренностям CSS движка. Но даже и без Houdini уже сейчас можно создавать CSS анимации, работающие со скоростью 60 FPS (frames per second).

Читать дальше →
Total votes 53: ↑51 and ↓2+49
Comments66

Использование Tarantool в .NET-проекте на Windows

Reading time21 min
Views24K

В последнее время на Хабре появляется достаточно много статей про Tarantool — базу данных и сервер приложений, который используется в Mail.Ru Group, Avito, Yota на разных высоконагруженных проектах. И вот, когда в маленьком стартапе, который я иногда консультирую, возникла необходимость разделения прекрасного, но, к сожалению, монолитного приложения на микросервисы, я подумал: а чем мы хуже других компаний? — и решил посмотреть в сторону Tarantool. Однако, в отличие от большинства компаний, где используется Tarantool, в нашем случае разработка проекта ведётся в Visual Studio на Windows. Предполагается, что даже с переходом на микросервисную архитектуру большинство микросервисов будет написано на языке C#. А Tarantool… Стоит зайти на официальный сайт — и сразу понимаешь: Tarantool даже установить на Windows проблематично, так как на эту операционную систему он не портирован. Как я боролся с такими сложностями, для какого именно микросервиса выбрал Tarantool и как вы можете использовать Tarantool в своих .NET-проектах, я расскажу в данной статье. А пока спойлер — практически все трудности преодолимы, и мой опыт можно без сомнений назвать положительным. Например, на то, чтобы скачать и запустить Tarantool, а потом сделать к нему запрос из кода на языке C#, у меня ушло менее десяти минут. И я покажу вам, как это сделать!


image


Данная статья представляет собой туториал, описывающий работу с Tarantool как таковую. Здесь нет описания проекта, построенного на Tarantool, или сравнения Tarantool с другими продуктами (статей на эту тему и так уже написано достаточно много). Материал родился как попытка ответить на вопрос: а что бы я хотел прочитать, когда только начинал работать с Tarantool. Но вначале немного расскажу, для чего мы, собственно, Tarantool применяем в реальной жизни.

Читать дальше →
Total votes 70: ↑69 and ↓1+68
Comments31

Расширение Web Essentials для Visual Studio: LESS, Zen Coding, CoffeeScript и многое другое

Reading time7 min
Views25K


Visual Studio – поистине потрясающий инструмент для разработки приложений вообще (чувствуете всю маркетинговую мощь этой фразы?) и web-разработки в частности. Но сила Visual Studio не только в возможностях, которые в ней есть «из коробки», но и в наличии тысяч полезных расширений. Одним из моих любимых расширений, которое добавляет поддержку LESS, Zen Coding и CoffeeScript, а также содержит множество других возможностей, является расширение Web Essentials 2012 (скачать), о котором мы и поговорим в данной статье.

Не смотря на то, что цикл выпуска обновлений для Visual Studio 2012 короче, чем для предыдущих версий, а первое крупное обновление уже доступно, нам, как разработчикам, обычно, хочется получать новые полезные возможности как можно раньше. И расширение Web Essentials позволяет это делать.
Читать дальше →
Total votes 47: ↑36 and ↓11+25
Comments11

Бесплатная англоязычная книга «Programming Windows 8 Apps with HTML, CSS, and JavaScript»

Reading time1 min
Views14K

С каждым днём появляется всё больше материалов по разработке приложений для Windows 8. На прошлой неделе я уже писал о том, что стала бесплатно доступна наша книга «Разработка приложений для Windows 8 на языке C#». Многие интересовались, есть ли что-то подобное для HTML и JavaScript разработчиков?

На русском языке, к сожалению, бесплатной книги пока нет, но вы можете скачать англоязычную 834 страничную книгу «Programming Windows 8 Apps with HTML, CSS, and JavaScript»:

PDF: http://go.microsoft.com/FWLink/?Linkid=270056 (17.9 MB)
EPUB: http://go.microsoft.com/FWLink/?Linkid=272592 (37.3 MB)
MOBI: http://go.microsoft.com/FWLink/?Linkid=272591 (69.5 MB)
Читать дальше →
Total votes 47: ↑33 and ↓14+19
Comments14

Книга “Разработка приложений для Windows 8 на языке C#” доступна для скачивания

Reading time1 min
Views48K

Стала доступна для бесплатной загрузки первая русскоязычная книга по разработке Windows Store приложений на языке C#.
Вы можете скачать PDF версию данной книги на сайте:

http://www.spugachev.com/windows8book
Также, можно купить бумажную версию на OZON.RU.
Авторы книги: я (WizardBox), Atreides07 и kichik.
Читать дальше →
Total votes 100: ↑86 and ↓14+72
Comments23

Мы написали книгу! Практический опыт издания книги о программировании

Reading time9 min
Views11K

В конце мая 2012 года вышла в свет книга «Разработка приложений для Windows Phone 7.5», одним из авторов которой являюсь я, Сергей Пугачёв. Для меня данная книга — это первый опыт такого рода, оба же из моих соавторов – Стас Павлов (stasus) и Дмитрий Сошников (shwars) являются авторами и других книг.

Так как после выхода книги в свет мне периодически задают вопросы о том, как выглядел процесс написания, сколько времени на это ушло, о работе с издательством и других деталях, я решил, что будет лучше написать про это статью и просто давать ссылку всем, задающим подобного рода вопросы. В общем, все, конечно же, от лени.

Данная статья для меня является попыткой осмысления проделанной работы, и я надеюсь, что она поможет кому-то решиться на написание своей собственной книги, так как ощущение эйфории, наступающее, когда держишь в руках только что изданную книгу с твоим именем на обложке, ни с чем несравнимо!

Данная статья состоит из трёх разделов, отражающих три этапа процесса написания книги, а именно:
  1. Идея книги, переговоры с издательством
  2. Написание текста книги
  3. Работа с редактором и издание

Читать дальше →
Total votes 80: ↑66 and ↓14+52
Comments58

HTML 5. Работа с Web SQL базой данных

Reading time3 min
Views172K
В HTML 5 есть много новых возможностей, которые позволяют web разработчикам создавать более мощные и насыщенные приложения. К этим возможностям относятся и новые способы хранения данных на клиенте, такие как web storage(поддерживается в IE8) и web SQL database.

При этом если web storage ориентирован на хранение пар ключ-значение, то в случае с web SQL database у нас есть полноценный sqlite(во всех текущих реализациях применяется именно этот движок баз данных, что является проблемой при стандартизации).

Далее я расскажу, как работать с web SQL database. При этом примеры естественно будут на JavaScript. Кроме того, стоит отметить, что с поддержкой браузерами всего этого хозяйства дела обстоят, не очень хорошо, но всё постепенно меняется к лучшему и, скажем, в Opera 10.50 поддержка будет, а браузерах на движке WebKit она уже есть. Более подробно про то, какой браузер, что поддерживает можно узнать, пройдя по ссылке.

Соединение с базой данных.


Подсоединиться к базе данных очень просто:

db = openDatabase("ToDo", "0.1", "A list of to do items.", 200000);
Читать дальше →
Total votes 66: ↑61 and ↓5+56
Comments39

Работа с веб камерой и микрофоном в Silverlight 4

Reading time9 min
Views4.7K

Введение

То, что многие Сильверлайт разработчики давно ждали, произошло. Четвёртый Сильверлайт позволяет получить доступ к веб камере и микрофону. И пусть это не является революцией, в отличие от многих других новых возможностей (конкурирующие технологии поддерживали камеру и микрофон уже давно), но мощь, простота и удобство нового API заслуживают того, чтобы на эту часть функциональности четвёртого Сильверлайта Вы обратили самое пристальное внимание.

Работа с веб камерой и микрофоном

Итак, веб камера и микрофон на компьютере пользователя могут быть, а могут и отсутствовать. Также бывают ситуации, когда есть несколько источников видео и звука. Для того, чтобы определить с какми устройствами мы будем работать, а также в случае необходимости запросить у пользователя доступ к этим устройствам (Сильверлайт не позволяет без явного на то разрешения пользователя получить доступ к веб камере или микрофону), сществует статический класс CaptureDeviceConfiguration. Давайте посмотрим как с этим классом работать. Но предварительно создадим новый проект Сильверлайт приложения в Visual Studio 2010 и добавим на страницу MainPage.xaml некоторую XAML разметку:
<StackPanel Orientation="Vertical" VerticalAlignment="Center"
      HorizontalAlignment="Center">
  <Rectangle Width="320" Height="240" x:Name="videoRect"/>
  <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
    <ListBox x:Name="VideoSources">
      <ListBox.ItemTemplate>
        <DataTemplate>
          <TextBlock Text="{Binding FriendlyName}"/>
        </DataTemplate>
      </ListBox.ItemTemplate>
    </ListBox>
    <ListBox x:Name="AudioSources">
      <ListBox.ItemTemplate>
        <DataTemplate>
          <TextBlock Text="{Binding FriendlyName}"/>
        </DataTemplate>
      </ListBox.ItemTemplate>
    </ListBox>
  </StackPanel>
  <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
    <Button Margin="5" Content="Начать захват" x:Name="startCapture"/>
    <Button Margin="5" Content="Остановить захват" x:Name="endCapture"/>
  </StackPanel>
</StackPanel>

* This source code was highlighted with Source Code Highlighter.
Читать дальше →
Total votes 57: ↑38 and ↓19+19
Comments32

Вышел первый выпуск Бюллетеня Сильверлайтера

Reading time1 min
Views574
Хочется сообщить Вам новость от Российского сообщества пользователей Silverlight – мы начинаем выпускать информационный бюллетень. Бюллетень будет выходить регулярно. Сейчас планируется делать два выпуска в месяц. Если Вы хотите написать статью, скринкаст или заметку для бюллетеня, задать вопрос, предложить идею или просто поговорить про RIA технологии – можете писать на e-mail: spugachev@gmail.com или в форум на нашем сайте: http://silverlighter.ru/forums/.

Читать бюллетень

Подписаться

Содержание первого выпуска:

Читать дальше →
Total votes 33: ↑21 and ↓12+9
Comments7

Silverlight 2. Интеграция с HTML и JavaScript

Reading time14 min
Views4.4K
Silverlighter
В начале хотелось бы поделиться интересной новостью. Мы при поддержке креативных дизайнеров из самарского Турбомилка запустили альфа-версию Сообщества пользователей Silverlight — сайт Сильверлайтер.

Кстати, Сильверлайтер — это не только участник сообщества, но и это замечательное существо с газовым свечением на картинке :)

Ну, а теперь, собственно, перейдём к самогй статье.
Здравствуйте дорогие читатели. Меня зовут Сергей Пугачёв. Я уже достаточно долгое время являюсь Silverlight разработчиком и активно пропагандирую данную технологию, поэтому меня часто спрашивают о том, как реализовать ту или иную возможность или функциональность. Данная статья является своего рода ответом на эти часто задаваемые вопросы. Это первая часть, она посвящена вопросам интеграции с HTML и JavaScript.

Читать дальше →
Total votes 79: ↑59 and ↓20+39
Comments58

3 скринкаста о связывании данных (DataBinding) в Silverlight 2

Reading time1 min
Views613
Представляю Вам 3 скринкаста о связывании данных (DataBinding) в Silverlight 2.
Выпуск №14: Связывание данных. Часть 1.
Выпуск №15: Связывание данных. Часть 2. List Binding.
Выпуск №16: Связывание данных. Часть 3.

В данной серии скринкастов показаны основы связывания данных, приведено несколько примеров, а также освещены более сложные вопросы связывания, такие как создание конвертеров типов.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments2

Вышел Silverlight 2 RC0

Reading time2 min
Views383
Итак, сегодня вышел Silverlight 2 RC0 (релиз кандидат). Обратите внимание, что вышла только версия для разработчиков (Silverlight 2 Dev Runtime). Версии для конечных пользователей на данный момент нет. Это сделано для того, чтобы дать разработчикам возможность перевести их приложения на финальную версию Silverlight 2 API. Есть несколько несовместимостей между Beta2 и RC и Microsoft хочет быть уверена, что существующие сайты, использующие Silverlight 2, успеют обновиться, и будут корректно работать с финальным релизом. Пока же Вы можете использовать RC версию только для разработки, а распространять приложения можно будет после выхода финальной версии, который состоится в скором времени.

Вот ссылки, по которым можно скачать Silverlight 2 RC0, Visual Studio 2008 Tools RC0, и Expression Blend 2 SP1 RC0. Хочется заметить, что приведённый по ссылке Expression Blend 2 SP1 RC0 это только Service Pack, и для работы с Silverlight 2 в Expression Blend 2 Вам нужно предварительно установить сам этот пакет.

Visual Studio 2008 Tools RC0

Expression Blend 2 SP1 RC0

Expression Blend 2

Windows Silverlight 2 Dev Runtime RC0

Читать дальше →
Total votes 13: ↑9 and ↓4+5
Comments7

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity