После трехчасовой поездки на автобусе и одной бессонной ночи в общежитии я оказался на Дне разработчиков NativeScript в Нью-Йорке.

У меня нет знаний о NativeScript. Я едва подготовлен к ведению блога на Angular. А что касается Typescript, я думаю, что однажды я прошел курс Front End Masters.

Однако NativeScript дает большие надежды: настоящие нативные кроссплатформенные приложения, развернутые только из одной кодовой базы.

Это довольно заманчивая подача.

Эй, кто в какой-то момент своей жизни не говорил себе: «Давайте сойдем с ума и изучим новые технологии»?

Никто, с кем я не хочу общаться, это точно.

Поэтому вот несколько заметок, которые я сделал, пока сходил с ума.

Вступительный доклад — понедельник, 18 сентября 2017 г.

«NativeScript — это использование всех библиотек, а не только Angular»

Во-первых, Тодд Энглин начинается с вступительной речи. Мы рассмотрим самые большие возможности NativeScript:

  • Открытый источник
  • Развертывается на iOS и Android
  • Предоставляет Native UI — т. е. здесь нет веб-просмотров.
  • Выбор языка: Angular, Typescript и Vanilla.js для официальной поддержки; Vue, Preact и Aurelia для поддержки сообщества
  • Развертывание только из одной кодовой базы — (Примечание автора: в отличие от React Native, для которого требуется как минимум две из них)
  • При оптимизации реальные приложения NativeScript загружаются при запуске всего за 3,2 секунды.
  • Тщательно протестировано
  • Поддержка в тот же день
  • Элементы можно отлаживать с помощью Chrome Dev Tools.
  • Может интегрироваться с AR Kit и AR Core для обнаружения плоскости камеры[!!!] — (это довольно круто)

Далее мы рассмотрим текущее состояние экосистемы…

  • Огромный рост npm
  • 11 000+ звезд на Github
  • Более 4200 человек в слабом сообществе

Потребность в таких технологиях, безусловно, существует. Как позже упомянет оратор, существует не так много вариантов, которые обеспечивают и A) «кросс-платформенность», и B) «нативность».

«Webpack + Android === 🔥 🔥 🔥 и производительность»

Далее: некоторые объявления…

  • NativeScript Playground, совместно используемое браузерное приложение, которое позволяет вам играть с фрагментами кода NativeScript.
  • NativeScript UI будет на 100 % бесплатным — (аплодисменты аудитории)
  • NativeScript Marketplace — который для новичка в NativeScript, такого как я, выглядит как отличный ресурс для легкого создания новых функций. Наверняка мне уже не терпится опробовать Плагин Google Maps SDK
  • NativeScript Sidekick для запуска новых проектов

NativeScript Sidekick будет неоднократно упоминаться на протяжении всей конференции.

Думаю, мне стоит попробовать NativeScript Sidekick 😋

Короткая демонстрация от Kinvey

«NativeScript отлично подходит для экспериментов»

Kinvey предоставляет «мобильную серверную часть как услугу» (mBaaS) для NativeScript.

Лично я с подозрением отношусь к всему-как-услуге в эти дни (это бизнес-модель, полностью построенная на том, что она слишком универсальна для вашего варианта использования), но Кинви делает довольно солидный шаг, обещая инкапсулировать как ваши данные, так и уровни аутентификации с легкостью.

Сравиш Шридхар рассказывает нам о создании приложения "Обувь {N}Adidas".

Он также дает нам разрешение на создание собственного приложения Yelp for Marijuana. Полагаю, он слишком хорошо знает свою целевую аудиторию? 😛

Кроме того, возможность «Предварительный просмотр в AR» довольно приятна.

Они предлагают бесплатный уровень, так что, возможно, стоит попробовать Кинви.

Начало работы с {N} — изучение основ

На этом этапе конференции мы разбиваем на два трека. Без капли стыда я сажусь наслаждаться новым треком.

Сначала Роб Лауэр задается вопросом: Зачем мы здесь?

Это... на самом деле очень уместно для меня прямо сейчас.

Но все таки…

  • «Мы живем в мире бункеров»
  • «Мы ❤ Интернет, но нам нужно больше»
  • Гибридный подход подвел нас; слишком много компромиссов, слишком мало пользы
  • Если бы мы могли использовать «родной Javascript», мы бы не только быстро вышли на рынок, но и не пожертвовали бы удобством для наших пользователей.

Я согласен со всеми этими пунктами.

Роб упоминает другие текущие попытки написания кода для нативного Javascript:

И, конечно же, наш фаворит: React Native.

Если вы застряли, пытаясь выбрать между NativeScript и React Native, то Роб предлагает несколько вариантов для рассмотрения:

  • «Напиши один раз» вместо «Узнай один раз»
  • Угловой || Vue против React
  • Прогресс против Facebook
  • Apache 2 против BSD-3+

(Именно в этот момент обсуждения человек в толпе, скорее всего, пользователь Reddit, выкрикивает реплики в адрес React.

Думаю, парень, должно быть, проспал всю речь «Давайте примем больше возможностей для сообщества».)

Роб продолжает подробно рассказывать о том, что делает NativeScript отличным выбором, включая (но не ограничиваясь):

  • Определение пользовательского интерфейса с помощью разметки
  • Как использовать JS для обработки логики и как использовать CSS для обработки стилей
  • Приложение NativeScript по умолчанию и возможность его настройки по мере необходимости.
  • Отладка NativeScript с помощью VSCode
  • Элементы NativeScript являются абстракциями для модулей NativeScript.
  • Виджеты, доступные «из коробки»
  • Традиционные варианты макета (Абсолютный, Док, Сетка, Стек, Обтекание и Гибкость)
  • Вложенные макеты
  • Флаги для конкретных платформ для ваших имен, разметки и атрибутов
  • Совместимость с SASS/LESS
  • Дополнительные параметры отладки
  • NativeScript CLI против NativeScript Sidekick

И, наконец, способы получения помощи от сообщества: как минимум две книги для начинающего разработчика NativeScript, форум сообщества и слабый канал.

Здесь есть что пожевать!

Начало работы с {N} — создание с помощью интерфейса командной строки и визуальных инструментов

«Потому что жизнь слишком коротка [не использовать интерфейс командной строки NativeScript]»

В следующей презентации Себастьян Виталек подробно расскажет об экосистеме.

Многие инструменты здесь уже упоминались мимоходом; однако теперь мы понимаем, почему и как это выглядит:

  • Конструктор тем NativeScript
  • Рынок нативных скриптов
  • NativeScript Sidekick — который также может автоматизировать инициализацию вашего устройства!
  • Интерфейс командной строки NativeScript
  • Установка подключаемых модулей в NativeScript CLI — примечание: tns plugin add вместо npm install

Я полностью увлекся NativeScript, а ведь прошло всего полдня!

Но сейчас время обеда…

Северо-восточная Пенсильвания, представьте!

Во время ланча в коридоре я столкнулся с другим разработчиком из NEPA. Эй, я узнаю этот твиттер!

Мы приветствуем BH, а также приветствуем наших коллег-участников #CodeNewbie Twitter Chat!

Всегда приятно встретить других людей, которые верят в техническое сообщество и испытывают страсть к нему.

Глубокое знакомство с Angular

«Всегда делайте ставку на Javascript»

Джефф Уэлпли начинает следующую половину с обзора Angular.

Хотя Angular технически не требуется для создания приложений NativeScript, Angular кажется здесь лучшим вариантом; поэтому Джефф проводит нас через…

  • Почему мы выбираем его
  • Angular «стиль» и конструктивные особенности
  • Угловая экосистема
  • Угловой интерфейс командной строки

Здесь особо нечего комментировать. Однако Джефф предлагает несколько мнений…

… Что компиляторы — это новые фреймворки (как первоначально заявил Том Дейл)

… И что сообщество Angular считает, что «практичность важнее чистоты» и «сотрудничество важнее конкуренции».

Против этого последнего пункта я бы сказал, что Angular каким-то образом не имеет монополии на «практичный и кооперативный». Сообщества Vue и React также разделяют эти убеждения; мы все просто приходим к разным выводам в конце дня.

Во всяком случае, на более легкой ноте я замечаю, что несколько человек в зале злятся из-за… странного выбора Джеффом метафоры.

Причудливые и запутанные метафоры — мой конек.

Основной машинописный текст и ES6

Daniel Zen завершает день презентацией по ES6 и Typescript.

Ну, скорее, «Осваивайте каждое изменение в ES6, но немного коситесь TypeScript».

Он отлично справляется с каждым из этих изменений по очереди. И для каждого предмета он представляет хороший вариант использования.

Однако, поскольку большая часть часа была потрачена на ES6 и примерно 15 минут на Typescript, я чувствую, что он упустил возможность здесь.

Если вы уже на 100% не освоились с Angular, внедрение Typescript вызывает разногласия, и я чувствую, что я не единственный, кто предпочел бы хороший аргумент в пользу этого?

Но, я полагаю, поскольку это конференция NativeScript, именно он проповедует хору. В конце концов, я здесь странная утка.

Я думаю, что в остальном он проделал большую работу. Отсутствие охвата Typescript — моя единственная критика.

Даниэль дает мне некоторые новые идеи по ES6, так что я не ухожу с пустыми руками.

В конце первого дня я с этим парнем:

Во второй день у нас презентации по RxJS, оптимизации производительности и отладке с помощью Chrome Dev Tools.

Вот Часть 2.

Всем спасибо за чтение!