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

Если вы создаете веб-сервис или приложение в 2021 году, используйте полнофункциональный Javascript, и вот почему:

# 1 - Браузер

В браузере у вас нет выбора. Дни, когда в Интернете правили статические веб-сайты, давно прошли. Если вы хотите создать современное приложение, привлекательное для пользователей, вы ограничены одним вариантом - JavaScript. Это потому, что Javascript - единственный динамический язык для совместной работы, который можно использовать в браузерах.

Главный выбор, который у вас есть, - это то, какие библиотеки использовать. Самыми популярными из них являются React, Angular или Vue, все они жизнеспособны и не заставят вас изобретать колесо заново. Эти библиотеки предоставляют вам множество готовых решений.

Мы предпочитаем React, потому что вокруг него огромное сообщество, и он позволяет нам быть очень гибкими в том, что мы создаем.

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

# 2 - Бэкэнд

С другой стороны, серверная часть имеет большой выбор из Java, C #, PHP и Python; вы называете это. Все это может выполнить свою работу, но некоторые из них лучше, чем другие, в зависимости от ваших потребностей.

В мире JavaScript мы используем Node.js для запуска JavaScript на сервере. Хотя многие языки были созданы для запуска программ на вашем ПК (.net, C ++) и только позже адаптированы для Интернета, Node.js с самого начала разрабатывался для Интернета. Он построен на концепции параллелизма и производительности, что позволяет очень легко выполнять больше задач одновременно, что значительно ускоряет работу ваших пользователей.

Мы видим тенденцию в том, что успешные компании имеют свои серверные системы на разных языках и переносят свои самые высокопроизводительные веб-сервисы на Node.js.

Кроме того, Node.js очень хорошо работает с интерфейсными библиотеками; он может подготовить код на сервере (рендеринг на стороне сервера, что важно для SEO), сохраняя при этом быстрый и гладкий рендеринг на стороне клиента. И все это без лишних усилий. Для этого в Ruby, например, вам нужно будет реализовать это дважды - один раз для клиента, второй раз для сервера.

# 3 - Мобильный

С мобильной разработкой все становится немного сложнее. Есть два подхода - разрабатывать для iOS и Android отдельно или использовать кроссплатформенную разработку с той же кодовой базой. Если вы разрабатываете мобильное приложение MVP без редких требований к оборудованию, кроссплатформенная разработка - это то, что позволяет стартапам быстрее выйти на рынок.

Мы выбрали React Native для разработки своего приложения, и пока он нас не подвел. Мы можем написать одну базу кода и использовать ее для выпуска версий для Android и iOS.

В отрасли принято сначала разрабатывать версию для iOS. Здесь все идеи и улучшения проходят проверку на практике. Затем настройте для Android, что займет две недели.

Обратите внимание: если вы обратитесь за советом к разработчику мобильных приложений, скорее всего, вы не услышите ничего хорошего о кроссплатформенной разработке. Это обычное дело для разработчиков, которые никогда не экспериментировали с React Native или другими кроссплатформенными инструментами.

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

# 4 - Современный JavaScript и машинописный текст

За последние несколько лет Javascript значительно развился. Если 10 лет назад работа с JavaScript была затруднительной, то сегодня - удовольствие. Javascript превратился в современный и масштабируемый язык с широким спектром поддерживаемых инструментов разработчика.

TypeScript - это язык, который построен на основе JavaScript и вводит типы, представьте его как «диалект с преимуществами». Разработчикам JavaScript нужно очень мало обучения для перехода на Typescript.

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

Даже если вы используете Typescript, вы все равно можете использовать все библиотеки и ресурсы Javascript.

# 5 - Скорость развития

Экосистема JavaScript огромна. Имея более 1 миллиона доступных пакетов, у него больше бесплатного кода, чем на любом другом языке (Java занимает 2-е место с только 300 тысячами)

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

С такими инструментами, как React, Apollo, GraphQL, вы можете создать свой продукт за три месяца вместо 12 месяцев.

# 6 - Команда

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

Представьте, что ваш интерфейсный инженер ожидает некоторых изменений в серверной части, но она написана на Ruby. Это узкое место. Если вы используете полнофункциональный JavaScript, инженер может решить проблему самостоятельно.

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

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

Вот в чем преимущество JavaScript. Согласно опросу разработчиков StackOverflow, JavaScript был наиболее часто используемым языком программирования за последние пять лет, а это означает, что у инженеров есть из чего выбирать.

Резюме

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

Эта статья также была размещена в Seedrs Academy - https://www.seedrs.com/academy/6-reasons-why-javascript-is-the-best-for-your-mvp/