Пробуем TypeScript на сервере

Доброго времени суток.

В этой статье мы познакомимся с языком программирования TypeScript на примере создания небольшого серверного приложения (простая авторизация), используя такие популярные технологии как Node.js и Express.js. Также вкратце коснёмся рассмотрения довольно интересной embeddeb NoSQL базы данных NeDB.

Статья ориентирована прежде всего на людей уже знакомых с Node и Express и не рассматривает самые базовые вещи, относящиеся к этим технологиям. Я не буду подробно описывать и все особенности TypeScript, а код далеко не является эталонным — это всего лишь пример. Однако, если у вас есть желание попробовать TypeScript, но вы не знаете как к нему подобраться, особенно со стороны backend’a,  тогда, возможно, вы найдёте что-то полезное в этой статье. Ссылка на GitHub репозиторий в конце статьи.

TypeScript

TypeScript (далее по тексту TS) — это язык программирования, являющийся надмножеством JavaScript. Начал разрабатываться компанией Microsoft и был впервые представлен в 2012 году. Автор языка — Андреас Хейлсберг, который до TS приложил руку к разработке таких языков как C# и Delphi. В самом Microsoft заявляют о TS  следующим образом: «Язык программирования TypeScript является средством разработки веб-приложений, расширяющим возможности JavaScript».

Технология сама по себе довольно интересная и выгодно отличается от того же JavaScript. Главное, что выделяет TS — это строгая типизация, а также более привычная многим (java-like) реализация ООП. В TS вы можете использовать всё, что есть на данный момент в JavaScript, плюс объявления типов, модификаторы доступа, классы, интерфейсы и ещё много всего. Получается такой JavaScript с человеческим лицом. При этом компилируется TS в тот-же JavaScript. На выбор любой из стандартов: ES3, ES5 или ES6. Как и большинство новых технологий TS является open source проектом, доступным в репозитории на GitHub: https://github.com/Microsoft/TypeScript Ещё одним аргументом в пользу данного языка является тот факт, что на нём написан один из самых популярных frontend фреймворков — Angular2. И его можно использовать с другими библиотеками и фреймворками, например с тем-же React. Ну а мы попробуем разобраться насколько TS применим на сервере. И так, приступим.
Читать →

Поддержка Multidex для Android в Adobe AIR

Пару слов о поддержке Multidex для Android в AIR, которую Adobe ввела в 25-й версии. С помощью мультидекса можно упаковывать приложения, которые превышают лимит в 64K методов. Это может произойти, если вы пишете своё или используете стороннее ANE, содержащее большое количество библиотек и, соответственно, большое количество методов. В таком случае при сборке вы получите ошибку:

Too many method references max is 65536

AIR 25 наконец-то позволяет включить multidex, чтобы преодолеть эту проблему.

При разработке собственного ANE выставьте флаг поддержки multidex в gradle скрипте проекта

Далее, при упаковке ANE исключите библиотеку com.android.support:multidex. Её можно прописать в зависимостях проекта для компиляции Android библиотеки, но обязательно надо игнорировать при упаковке самого расширения, потому что иначе, при попытке сборки приложения, будет выводиться ошибка:

UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: already added: Landroid/support/multidex/BuildConfig;

Видимо потому, что библиотека добавляется AIR’ом и повторное включение её в ANE создаёт конфликт.

Для приложения не забудьте прописать поддержку multidex в секции Android манифеста файла-дескриптора (android > manifestAdditions > manifest):

Обратите внимание, что если ANE содержит pre-dex библиотеки, то при попытке упаковки приложения будет выдаваться ошибка.

Unity для новичков. Простая камера от третьего лица. Часть 1

Доброго времени суток!
Сегодня мы рассмотрим пример создания простой игровой камеры от третьего лица в Unity.

Читать →

GDG DevFest Voronezh 2016 — ключевые тренды

3 декабря 2016 года в Воронеже проходила 5-я ежегодная конференция Google developer group, на которой нам впервые удалось побывать. Сразу скажу, что конференция прошла отлично и мы остались очень довольны :)  Поэтому хотелось бы поделиться своими впечатлениями и подробнее рассказать о самой конференции, а также о докладах, которые были на ней представлены.

img_20161203_140430

Эта конференция, в отличие от многих остальных, является абсолютно бесплатной. Для участия достаточно было просто зарегистрироваться на сайте компании-организатора. В Воронеже организаторами были ребята из DataArt. 
Читать →

Поездка на GDG DevFest Voronezh 2016

3 декабря удалось побывать на GDG DevFest Voronezh 2016. GDG DevFest это ежегодная конференция, проводимая сообществами Google Developers Group (GDG) при поддержке компании Google в разных городах мира. В Воронеже она проводится пятый раз.

Я интересуюсь проектами компании Google и операционной системой Android в первую очередь, поэтому данное событие я не мог пропустить, тем более оно проходило не так далеко от моего места проживания.

maxresdefault_live

GDG проходил в актовом зале ВГУ. Сразу на входе нас встречали волонтеры, проводившие нас на регистрацию. Регистрация прошла моментально, а до начала открытия оставалось чуть менее часа. Благодаря тестовым заданиям от компании DataArt удалось скоротать время и получить наклейку с андроидом, которая теперь украшает мой ноутбук.

В первом выступлении Денис Неклюдов (Google Developer Expert и ведущий подкастов androiddev) и Звиад Кардава (также Google Developer Expert) рассказывали о Project Tango. Project Tango — это платформа, которая использует компьютерное зрение, чтобы научить мобильные устройства воспринимать окружающее пространство и движение.
Читать →

Cocos2d JS на примере браузерной игры

Cocos 2d – кросс-платформенный фреймворк с открытым кодом, для разработки игр и приложений, как браузерных, так и для мобильных платформ.  Приложения могут быть запущены на платформах: iOS, Android, Windows Phone, OS X, Windows, Linux.

Главные возможности:

  • OpenGL.
  • Управление сценами.
  • Эффекты смены сцен.
  • Спрайты.
  • Визуальные эффекты, большое количество качественных 3D эффектов.
  • Экшены (движение, масштабирование, повороты).
  • Компоненты, позволяющие конструировать UI (меню, кнопки, ползунки, списки, текстовые поля и т. д.).
  • Поддержка касаний и акселерометра на мобильных устройствах.
  • Поддержка звука, звуковой движок на основе OpenAl.
  • Поддержка физических движков Box2D и Chipmunk.
  • Тестирование и отладка без необходимости установки на мобильное устройство.

Одна из ветвей фреймворка – Cocos2d JS, позволяет писать игры в JavaScript. Рассмотрим логику и возможности фреймворка на примере создания браузерной игры.

Популярный жанр браузерных игр – головоломки. Целью нашей игры будет расставить в правильном порядке шестеренки, чтобы механизм заработал.
Читать →

White Nights Moscow 2016 — Тенденции индустрии

Между тем блог превращается в обзор конференций, так как на написание статей по делу просто не хватает времени. Надеюсь, что скоро у нас все-таки получится опубликовать несколько полезных постов, а пока расскажу о недавней White Nights, проходившей в Москве 11-12 октября.

В этот раз я не буду подробно расписывать доклады, которые прослушал, тексты и видео докладов, как и раньше, будут опубликованы на ресурсах организаторов http://app2top.ru/ и http://wnmag.com немного позже. Я же сосредоточусь на нескольких моментах, которые вынес для себя из этой конференции.

White Nights Moscow 2016 - Innim
Читать →

Конференция White Nights 2016 — Впечатления. День 2

В первой части обзора я рассказал о первом дне конференции White Nights 2016 (Санкт-Петербург, 28-29 июня). На второй день тоже было достаточно хороших докладов. Также хочется отдельно отметить Deconstruction Workshop, который получился весьма интересным. А в завершение конференции была церемония награждения победителей  Indie Game Cup и розыгрыш призов среди всех участников конференции. Ну а теперь подробнее об увиденном. Читать →

Конференция White Nights 2016 — Впечатления. День 1

28-29 июня этого года в Санкт-Петербурге прошла очередная конференция разработчиков игр White Nights. Мероприятие позиционируется как бизнес конференция игровой индустрии, поэтому говорили в основном о монетизации, продвижении, работе с издателями и т.п., по были и некоторые полезные доклады по геймплею и разработке игр в целом. Отдельно хочется отметить очень хороший нетворкинг — это именно то событие, где можно встретиться и обсудить любые интересующие вас аспекты.

В этом году мы были на этой конференции в первый раз и могу сказать, что получили достаточно позитивных впечатлений и вынесли много полезного. Хотелось бы вкратце рассказать об интересных докладах, которые мы прослушали.

IMG_0968

Читать →