Нет, это не опечатка. Я написал 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: Это мой первый блог, не стесняйтесь комментировать и дайте мне знать, как вы нашли эту статью и где я могу улучшить. ;-)
Увидимся во второй части.