
50 лет назад большинство программистов писали на языке Prolog, о котором вы скорее всего и не слышали. Его место занял Python, который уже через несколько лет уступил первенство другим языкам.
Сегодня перспективность языков оценивают дважды в год, чтобы программисты могли верно оценивать свои перспективы, а заказчики получали продукт, который бы отвечал трем главным параметрам: надежность, скорость, безопасность.
В ICWT программисты изучают новые языки программирования и технологии. Еженедельно мы устраиваем курсы внутри команды, чтобы закрепить свои знания.
Начнем с технологии Frontend. Что это такое? Это финальный продукт, который виден на странице. Это красочный интерфейс, удобные поля для заполнения, быстрый поиск на сайте.
Чтобы создать эту красоту, мы используем HTML, CSS и JavaScript.
Что это такое? Это система управления данными, которая поддерживает бизнес-логику и работу с данными. По сути, это трубы и провода жилого дома, без которых невозможно обойтись.
Мы используем Node JS на Typescript, GrafQL и микросервисы.
Это набор библиотек и фрэймворков, которые создают экосистему для удобной работы с кодом.
Мы используем NodeJS в привязке с Typescript для написания логики; гибкость GraphQL - для обработки и доставки только нужных данных. MongoDB - для скоростной работы с базой данных.
Мы любим Nest и Fastify и улучшаем интеграцию с этими фреймворками. Мы дружим с Docker и разворачиваем Kubernetes.
Мы за безопасность и следуем всем спекам OWASP от ведущих разработчиков.

Мы пишем различные автотесты.
Мы пишем сценарий работы бэкенда и фронтэнда, и дальше имитируется их работа. В процессе выявляются ошибки, которые позже мы можем устранить на ранних этапах разработки.
Существует 4 типа приложений: PWA, нативные, кроссплатформенные и веб-приложения. Для каждого типа используется свой язык программирования и библиотеки.
Мы отдаем предпочтение React и React Native.
Для контроля версии приложения мы используем такие инструменты как: GitLab Runners и GitHub Actions.
Они позволяют в удобной форме доставить конечный результат заказчику.
Допустим, Ваш проект очень сложен, в нем много бизнес-логики. Мы разделим его на маленькие модули, и с помощью компонентного подхода сможем легко и удобно работать с каждой частью.
Мы подберем специальный Stack, при помощи которого мы сможем реализовать Вашу идею.