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

    • Tutorial

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



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


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


      Когда изменения происходят постепенно, шаг за шагом, порой бывает трудно заметить насколько они драматичны и всеобъемлющи. Казалось бы всего несколько лет назад 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).

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

      • Tutorial

      В последнее время на Хабре появляется достаточно много статей про 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 применяем в реальной жизни.

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



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

        Не смотря на то, что цикл выпуска обновлений для Visual Studio 2012 короче, чем для предыдущих версий, а первое крупное обновление уже доступно, нам, как разработчикам, обычно, хочется получать новые полезные возможности как можно раньше. И расширение Web Essentials позволяет это делать.
        Читать дальше →
      • Бесплатная англоязычная книга «Programming Windows 8 Apps with HTML, CSS, and JavaScript»


          С каждым днём появляется всё больше материалов по разработке приложений для 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)
          Читать дальше →
        • Книга “Разработка приложений для Windows 8 на языке C#” доступна для скачивания


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

            http://www.spugachev.com/windows8book
            Также, можно купить бумажную версию на OZON.RU.
            Авторы книги: я (WizardBox), Atreides07 и kichik.
            Читать дальше →
          • Мы написали книгу! Практический опыт издания книги о программировании


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

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

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

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

              Читать дальше →
            • Московский офис компании Microsoft

                Некоторое время назад Казарину Дмитрию(kazarindn) удалось пройтись с фотоаппаратом почти по всему Московскому офису Microsoft.
                В том числе по верхним этажам, куда по правилам безопасности пускают только сотрудников.

                Поэтому предлагаю совершить с ним небольшую прогулку по этому замечательному месту.
                Кроме того, мы записали подкаст с одним из сотрудников Microsoft (gaidar) про то, как в этом офисе работается.
                Гайдар отвечает в Microsoft за Web, поэтому подкаст получился вдвойне интересным.



                Сам офис находится в бизнес-парке «Крылатские холмы», до которого ходит бесплатная маршрутка от станции метро Крылатское. На территории самого бизнес-парка фотографировать нельзя (в самом Microsoft можно свободно фотографировать на первых двух этажах). У каждого из 4-х зданий есть свое название, соответствующее одной из стихий: Water, Flame, Air, Earth. Microsoft занимает половину здания с названием Water.

                Заходя в любой офис, первое, что бросается в глаза – это приемная:
                прослушан 1539 раз
                Читать дальше →
              • Разговор о запуске Visual Studio 2010 в России



                  Короткие интервью с докладчиками, организаторами и участниками мероприятия.

                  Подкаст записан в ходе конференции. Вы услышите:

                  Михаила Черномордикова, Константина Кичинского, Ирину Узикову, Марата Бакирова, Виталия Кузнецова, Владимира Биллига, Данилу Корнева, Илью Воробьёва, Тимофеева Семёна, Филиппова Михаила и Антонова Алексея.
                  прослушан 143 раза
                  Читать дальше →
                • HTML 5. Работа с Web SQL базой данных

                  • Translation
                  В 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);
                  Читать дальше →
                • Подкаст ПолДевятого #6. Microsoft и студенты. Студенты и Microsoft

                    В гостях у подкаста ПолДевятого академический евангелист компании Microsoft Дмитрий Сошников (@shwars),
                    а также студент-партнёр Microsoft Ирочка Пономарева (@yairishka).



                    В шестом выпуске слушайте:
                    • Microsoft Technology Center в Москве.
                    • MSP Voice.
                    • Программы Microsoft для студентов.
                    • Всемирный студенческий кубок технологий Imagine Cup.
                    Кроме того, в подкасте можно услышать постоянных его участников Сергея Пугачёва (@spugachev) и Казарина Дмитрия (@diman_dnk)
                    прослушан 191 раз
                    Читать дальше →
                  • Разговор про девушек в IT и профессию тестировщика в подкасте ПолДевятого #3

                      image
                      • Девушки в IT
                      • Почему так мало девушек в IT?
                      • Нужно ли высшее образование для работы программистом?
                      • Должен ли разработчик заниматься тестированием?
                      • Есть ли дружба между разработчиком и тестировщиком?
                      • Разговор про тестирование
                      прослушан 2482 раза
                      Читать дальше →
                    • Разговор про Microsoft Research в подкасте «ПолДевятого»

                        В этом выпуске мы разговариваем со стажером Microsoft Research Сергеем Гребновым:
                        • Чем занимается Microsoft Research, и каковы особенности работы?
                        • Как попасть на стажировку в Microsoft Research?
                        • Что нужно знать перед интервью?
                        прослушан 234 раза
                        Читать дальше →
                      • Работа с веб камерой и микрофоном в Silverlight 4

                          Введение

                          То, что многие Сильверлайт разработчики давно ждали, произошло. Четвёртый Сильверлайт позволяет получить доступ к веб камере и микрофону. И пусть это не является революцией, в отличие от многих других новых возможностей (конкурирующие технологии поддерживали камеру и микрофон уже давно), но мощь, простота и удобство нового 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.
                          Читать дальше →
                        • Вышел первый выпуск Бюллетеня Сильверлайтера

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

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

                            Подписаться

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

                            Читать дальше →
                          • Silverlight 2. Интеграция с HTML и JavaScript

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

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

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

                              Читать дальше →
                            • 3 скринкаста о связывании данных (DataBinding) в Silverlight 2

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

                                В данной серии скринкастов показаны основы связывания данных, приведено несколько примеров, а также освещены более сложные вопросы связывания, такие как создание конвертеров типов.
                                Читать дальше →
                              • Вышел Silverlight 2 RC0

                                  Итак, сегодня вышел 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

                                  Читать дальше →