Нет, это не опечатка. Я написал MAN, а не MEAN stack. ;)

Ажиотаж / потребность в искусственном интеллекте, науке о данных и аналитике, облаках, DevOps в последние годы возросла. Но пока еще не достигли того же уровня спроса, что и у разработчика / инженера полного цикла. Особенно в последние годы, когда многие ищут Full-stack вместо отдельных интерфейсных и внутренних разработчиков. Может быть, из-за стремительного роста стартапов и малых предприятий, которым нужны веб-сайты, чтобы выйти на рынок как можно скорее, собрать начальное финансирование и захватить долю рынка. Также в многонациональных компаниях, возможно, для сокращения затрат, когда и серверная часть, и интерфейсная часть могут быть разработаны одним человеком с меньшими затратами, чтобы они могли тратить больше на другие новые технологии и НИОКР. Согласно опросу StackOverflow's 2019, 50% респондентов считают себя специалистами полного цикла. Это просто отражает потребности разработчиков полного стека в настоящее время.

Я начал веб-разработку с Angular, прежде всего потому, что

  • он построен с использованием машинописного текста (глазурь на торте)
  • он использует реактивный javascript (RxJs)
  • это самоуверенный фреймворк, знакомая архитектура проекта с лучшими практиками во всех проектах Angular. Вы можете сказать, что Angular в этом отношении похож на Ruby on Rails;)
  • его интерфейс командной строки - это мастер, который становится только более мощным. Он выполняет всю структуру кода, делая мою жизнь намного проще и позволяя мне сосредоточиться на создании моей собственной магии.
  • удивительное сообщество

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

Итак, я почувствовал, что эти четыре вещи необходимы для полноценного разработчика.

  • Концепции и принципы внешнего и внутреннего интерфейса.
    Ага !! это просто очевидно
  • Изучите внутренний язык программирования, каждый для внешнего интерфейса и внутреннего интерфейса.
    Наиболее распространенным языком программирования для веб-(и мобильной) разработки является Javascript, Ruby, Java, Python, Go.
  • Найдите фреймворк этого языка (для более быстрой разработки) и изучите его синтаксис и передовые методы.
    Некоторые из самых популярных стеков серверных технологий включают Ruby On Rails, Spring boot, Express, Django, Revel, Laravel.
  • Разработайте архитектуру проекта, чтобы ее было легко поддерживать, масштабировать и было легко понять другим людям.
    Модель-представление-контроллер (MVC), Иерархический-Модель-Представление-Контроллер (HMVC), Модель-Представление-Презентатор (MVP), Модель-Представление-ViewModel (MVVM), Модель-представление-что угодно (MVW или MV *). (Angular - это фреймворк MVW)
    Я могу сохранить архитектуру проекта такой, какой хочу ... Но ... что, если к проекту присоединится новый человек ?? Насколько легко и быстро он сможет понять архитектуру?

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

Спасибо, Райан Даль, за Node.JS

Теперь, используя только Javascript, я могу легко писать как на стороне клиента, так и на стороне сервера. Это снижает накладные расходы на изучение дополнительного языка. Теперь Express - один из самых популярных фреймворков NodeJS, быстрый, минималистичный, легкий и очень популярный в большом сообществе.

Но подождите, мне еще нужно изучить нюансы Express, его синтаксис и лучшие практики. Поскольку я придерживаюсь непредубежденного фреймворка, я должен придумать архитектуру проекта, которая может отличаться от других проектов. Это может занять некоторое время, когда я изменю проект.

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

Представляем NestJS

NestJS - это прогрессивный фреймворк NodeJS, созданный Камилом Мысливцем, который разделяет многие концепции с Angular. NestJS вдохновлен Angular и построен с использованием Typescript и реактивного Javascript. NestJS упрощает создание эффективных, масштабируемых, тестируемых и производительных серверных приложений. В настоящее время это самый быстрорастущий фреймворк NodeJS.
NestJS - это готовый к будущему фреймворк с прекрасной документацией по реализации GraphQL, WebSockets, микросервисной архитектуры и т. Д.

Для Angular-разработчика NestJS выглядит примерно так же:

Почему стек MAN быстрый и надежный?

  • Архитектура проекта: и Angular, и NestJS являются самоуверенными фреймворками, которые позволяют новым разработчикам легко поддерживать и масштабировать любой существующий проект.
  • Фреймворк: многие концепции используются как во внешнем, так и во внутреннем фреймворках, например сервисы, внедрение зависимостей, декораторы, модули. Кроме того, синтаксис выглядит примерно одинаково как в Angular, так и в NestJS.
  • Язык: оба написаны на Typescript, что помогает избежать ошибок времени выполнения и глупых орфографических ошибок.

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

Начало работы с NestJS

Вы можете начать использовать Nest с помощью этих двух простых команд:
- Установить NestJS: npm i -g @nestjs/cli
- Создать проект: nest new project-name
Если вы один из тех, кто ищет код, скоро я во второй части этой статьи демонстрируется небольшое приложение Todo с использованием Angular и Nest.

Ресурсы

Вот несколько ресурсов, которые я нашел полезными:

PS: Это мой первый блог, не стесняйтесь комментировать и дайте мне знать, как вы нашли эту статью и где я могу улучшить. ;-)
Увидимся во второй части.