Replit

Replit (), ранее Repl.it, — это стартап из Сан-Франциско и интегрированная онлайн-среда разработки (IDE). Replit, будучи программным обеспечением как услуга (SaaS), позволяет пользователям создавать онлайн-проекты (называемые Repls, не путать с REPL) и писать код. Replit имеет глобальное сообщество для взаимодействия программистов и предлагает Teams for Education, продукт, помогающий в обучении программированию в классе.

История 
Компания Replit была основана программистами Амджадом Масадом, Фарисом Масадом и дизайнером Хайей Оде в 2016 году. После того, как Макс Шавабке был указан в качестве соучредителя вместе с Масадом, он рано покинул предприятие.. Его название происходит от аббревиатуры REPL, что означает «цикл чтения-оценки-печати».

До создания Replit Амджад Масад работал на инженерных должностях в Yahoo и Facebook, где создавал инструменты разработки. Он также помог основать Codecademy . Идея Replit пришла в голову Масаду более чем за десять лет до её создания.

В 2009 году Амджад Масад попытался написать реализации других языков программирования на JavaScript, но понял, что это практически неосуществимо. Он увидел большие успехи в браузерных и веб-технологиях и был вдохновлен веб-возможностями Google Docs. Он подумал об идее возможности писать и делиться кодом в веб-браузере. Вместе с Хая Одэ он потратил два года на создание продукта с открытым исходным кодом под названием «JSRepl».

Когда Replit обретал форму, Масад и Оде хотели иметь «реальную среду, а не что-то, эмулируемое в браузере». Replit сначала был направлен на рынок образования, а затем и на профессиональных разработчиков.

С марта 2021 года «replit.com» является доменным именем по умолчанию для веб-службы, заменяя старый «repl.it». Это изменение было связано с тем, что Масад предпочитал, чтобы люди произносили название веб-сайта как  вместо  . Другой причиной, названной Масадом, были проблемы с доменом верхнего уровня " .it ", такие как ограничения на продление.

Изначально Replit был всего лишь REPL. Однако в конечном итоге был реализован редактор Ace, позволяющий также редактировать программы. В 2017 году Replit перешёл на редактор кода Monaco, тот же редактор, который использовался в Visual Studio Code . Из-за проблем с поддержкой мобильных устройств редактор кода был переведен на CodeMirror в 2021—2022 годах. Это решение было встречено негативной реакцией и критикой со стороны сообщества Replit, которое в конечном итоге успокоилось после устранения ошибок и серьёзных проблем.

Функции 
Replit — это интегрированная онлайн-среда разработки (IDE), которую можно использовать с различными языками программирования, включая JavaScript, Python, Go, C++, Node.js, Rust и любой другой язык, доступный в упаковщике Nix . Он использует компонент редактора CodeMirror 6, тот же компонент редактора, который используется на других крупных веб-сайтах, таких как CodePen .

Ключевой особенностью Replit является совместное кодирование, возможность делиться Repl с одним или несколькими другими пользователями и видеть изменения в файлах в реальном времени, отправлять сообщения друг другу и вместе отлаживать код. Используя общий вычислительный механизм, код можно запускать и отображать одинаково для нескольких пользователей в Repl. В IDE Replit также есть чат и встроенные темы, которые позволяют пользователям обсуждать код. Через глобальное сообщество Replit пользователи могут делиться проектами, обращаться за помощью, учиться на обучающих курсах и использовать шаблоны.

Replit поддерживает более 50 языков программирования, но по состоянию на 23 февраля 2022 года Replit использует Nix во всех Repl, что означает, что пользователи имеют доступ ко всей базе данных пакетов Nixpkgs и могут использовать любой язык программирования внутри. Новые реплики можно создавать с помощью шаблонов официальных языков или с помощью пользовательской конфигурации Nix. Пользователи могут настроить что угодно: от протокола языкового сервера до поддержки отладчика для Repl.

Среды Repl, называемые рабочими пространствами, содержат множество инструментов, упрощающих разработку. Replit имеет встроенную систему контроля версий через Git во всех Repl. Используя графический интерфейс пользователя на вкладке меню, пользователь может переключать ветки, отправлять файлы и откатывать код. Replit также может извлекать пользовательский код из репозитория GitHub и связывать Repl со своим репозиторием GitHub — функция под названием Repl from Repo . Некоторые Repls также имеют поддержку отладчика и модульного тестирования . Replit использует протокол адаптера отладчика для предоставления услуг отладки на Java, Python, Node.js и C++ для всех пользователей, подключенных к Repl. Replit также предлагает модульное тестирование без настройки на нескольких языках. В Repl также есть управление секретами, позволяющее пользователям скрывать значения от других, кто видит Repl публично.

Пользователи также могут импортировать проекты из Glitch, который предоставляет сервис, аналогичный Replit. Хотя неизвестно, поддерживается ли эта функция по-прежнему официально, по состоянию на июль 2022 года она работает.

Replit также предлагает услуги веб-хостинга, предоставляющие бесплатный HTTPS для статических веб-сайтов и серверов на специальном поддомене пользователя. Пользователи могут подключить свои веб-сайты к принадлежащему им домену с помощью инструмента «Пользовательские домены». Пользователь может поддерживать постоянную работу своего веб-сайта с помощью функции Always On.

У Replit есть два платных плана для пользователей: Hacker (7 долларов в месяц) и Pro (20 долларов в месяц). Первый позволяет использовать неограниченное количество частных ответов, 5 ГБ хранилища учётной записи, 1 постоянное повторение и 1 восьмикратное ускоренное повторение, а также многое другое, что можно увидеть на странице цен. Последний включает в себя все преимущества Hacker, за исключением нескольких изменений, наиболее заметными из которых являются 10 ГБ хранилища учётной записи и доступ к их компаньону Ghostwriter AI.

Языки программирования 
 
 APL
 Bash
 BASIC/QBasic
 Visual Basic
 C
 C++
 C#
 CoffeeScript
 Crystal
 Dart
 Elixir
 Erlang
 Forth
 Fortran
 F#
 Go
 Haskell
 Java
 JavaScript
 Node.js
 TypeScript
 Julia
 Kotlin
 Lisp
 Scheme
 Clojure
 Emacs Lisp/Elisp
 LOLCODE
 Lua
 Nim
 PHP
 Perl
 Python
 R
 Raku
 Reason Node.js
 Ruby
 Rust
 Scala
 Swift
 Tcl

Примечания 

Программирование
Платформа
Html
Js
Lua
Template
Страницы с непроверенными переводами