• TypeScript на сервере

    • Tutorial

    TypeScript на сервере



    TypeScript последнее время быстро набирает популярность, в особенности благодаря распространению Angular2. При этом на сервере TypeScript пока не особенно популярен. Многие хотели бы попробовать TypeScript, но не имеют возможности / желания долго разбираться с его настройкой. В этой статье я расскажу как можно с минимальными сложностями начать использовать TS на сервере, так что он почти не будет отличаться от ES6/Next кода, а так же зачем это нужно.


    Читать дальше →
  • JavaScript 2016, а можно попроще?

    • Tutorial

    Последние полгода много пишут о неоправданной сложности клиентского JavaScript. Недавняя статья How it feels to learn JavaScript in 2016 и ее перевод на хабре вызвали много внимания, критика во многом справедливая, но...


    Усложнять просто, упрощать сложно. (Один из законов Мерфи)


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


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


    Использованный стек: create-react-app как сборщик для клиента, React, bootstrap, API с json-server или json-заглушки.



    Работающее демо здесь: Movies List.

    Читать дальше →
  • Строим свой full-stack на JavaScript: Клиент

    • Tutorial

    JavaScript на клиенте быстро меняется: библиотеки, фреймворки, упаковщики быстро появляютcя и сменяют один другой. Но несмотря на это, многие ключевые операции одинаковы для любого клиентского приложения. А в современных фронт-энд фреймворках, при всем их разнообразии, есть много общего.

    Читать дальше →
    • +14
    • 27.1k
    • 8
  • Строим свой full-stack на JavaScript: Сервер

    • Tutorial

    Строим свой full-stack на JavaScript: Сервер



    Вторая статья из серии о full-stack JS разработке.


    JavaScript постоянно меняется, очень сложно угнаться за последними технологиями, ведь то, что было лучшей практикой полгода назад, сейчас уже устарело. Подобные утверждения во многом правда, но следует отметить, что это больше относится к клиентскому JavaScript. Для сервера все гораздо стабильнее и основательней.


    Читать дальше →
  • Строим свой full-stack на JavaScript: Основы

    • Tutorial

    Строим свой full-stack на JavaScript: Основы



    В мире JavaScript очень легко набрать свой стек технологий, используя набор небольших пакетов, каждый из которых решают свою конкретную проблему. И это хорошо, c одной стороны, а с другой стороны, у вас особо нет выбора — фреймворки которые выполняют широкий спектр задач в JavaScript не популярны.


    В этом цикле статей я хочу поделиться своим практическим опытом построения JS стека.


    Читать дальше →
  • StubDb — база данных на стабах для быстрого прототипирования и не только

    О чем это


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

    Я бы хотел рассказать о StubDb — библиотеке для быстрого прототипирования приложений и легкого юнит тестирования. Она позволяет заменять работу с реальной базой данных, на работу с данными хранимыми в памяти/файле. Это дает возможность сконцентрироваться на классах доменной модели, а не на особенностях хранения данных. StubDb использует принцип работы Entity Framework Code First, что делает удобным их совместное использование, но может использоваться отдельно.

    Чтобы написать Data Persistence Layer, нужно затратить немало усилий. Работа с базой данных это — хлопотно: начиная от подключения и редактирования конфигов, и заканчивая написанием запросов. Раньше, пока ORM еще не были так популярны, много времени занимало написание однообразных SQL запросов. С развитием ORM, меньше времени тратится непосредственно на SQL, но вместо этого необходимо изучать особенности самих ORM фреймворков.

    В теории все просто: программист работает с доменными объектами, изменения в них транслируются в базу данных легко и безболезненно. Но на практике особенности фреймворков часто вызывают недоумение и прострацию. Например, на данный момент на StackOverflow по ASP.NET MVC 77,852 вопросов, а по Entity Framework 33,276, меньше, но не значительно. А ведь в идеале EF должен просто незаметно делать свою работу.

    Конечно, без БД не обойтись. Но когда приложение или новая фича находятся в начальной стадии проектирования и разработки, в БД нет необходимости. На этом этапе вполне достаточно: иметь доменную модель классов, хранить данные в этой модели вместе с взаимосвязями между отдельными классами (один к одному, многие ко многим), получать данные доменной модели, учитывая эти связи. StubDb реализует этот минимальный набор требований. Используя StubDb на начальном этапе разработки, можно избежать сложностей работы с БД и ORM, но при этом иметь возможность хранить данные в доменной модели и легко ее менять, не нарушая работоспособности приложения.
    Читать дальше →