Фокус Твин Солюшенс включает в себя разработку сложных продуктов, таких как системы управления, автоматизированные онлайн-сервисы, высоконагруженные продукты, CRM и CMS-системы, мобильные приложения и многое другое. В конце концов, 138 реализованных проектов не должны оставлять никаких сомнений.
Но давайте подробнее остановимся на том, что такое Ruby on Rails и чем эта технология выгодно отличается от остальных.
Ruby on Rails — одна из самых известных платформ с открытым исходным кодом, используемая для самых разных проектов. Чаще всего этот фреймворк используется для создания веб-сайтов и веб-приложений, причем их масштаб и сложность не имеют значения. Вне зависимости от того, к какому сегменту относится ваш бизнес, нужна ли вам форма входа или нет, а также такие вещи, как личный профиль пользователя и большой объем активных данных — Ruby on Rails справится с любой задачей.
Конечно, существует большое количество языков программирования и еще больше фреймворков. Но Твин Солюшенс выбрали Ruby on Rails в качестве своего основного направления не просто так. Этот фреймворк имеет ряд преимуществ, о которых мы поговорим ниже.
Говоря о том, чем этот фреймворк отличается от остальных, следует выделить несколько ключевых моментов:
Одной из причин, по которой Ruby on Rails является отличным выбором для веб-разработки, является мощное и быстрое прототипирование. Это ключевая функция для стартапов и молодых предприятий, поскольку они могут быстро создать работающий прототип (например, для показа инвесторам или первым пользователям) и продолжить работу над продуктом.
Используя Ruby on Rails, вы не ограничиваете себя. Вы можете создавать все, что угодно, будь то веб-приложения, сегмент электронной коммерции, динамические веб-сайты и многое другое. В качестве примеров популярных сайтов, созданных на RoR, можно привести GitHub и Twitch.
Обширное сообщество и универсальность делают этот фреймворк одним из самых популярных вариантов для веб-разработки.
Мобильная разработка на Ruby on Rails — деликатный момент. С одной стороны, этот фреймворк позволяет разработать отличную back-end часть мобильного приложения. Что касается работы над фронтендом, то лучше использовать более применимые и специализированные решения, такие как React Native.
Однако RubyMotion IDE создавалась именно для разработки кроссплатформенных нативных приложений на iOS, Android и OS X. И в данной ситуации это будет лучший выбор, так как RubyMotion тоже написан на Ruby (а также на Java и Objective С). RubyMotion также имеет инструменты тестирования и отладки, что делает его лучшим вариантом для разработчиков Ruby.
Пришло время рассказать подробнее о нашем личном опыте разработки на Ruby on Rails. Как мы упоминали выше, за годы работы нам удалось завершить и запустить более 138 проектов. О некоторых из них и о нашем опыте в целом мы поговорим ниже.
Выше мы упоминали, что Ruby on Rails отлично подходит для стартапов благодаря своей универсальности и быстрому прототипированию. В нашем опыте также есть примеры успешного сотрудничества со стартапами.
Olivegrey.ru - магазин дизайнерской женской одежды. Помимо Ruby и Ruby on Rails, при разработке сайта также использовались такие технологии, как JS и Linux.
Optimize Player — универсальная платформа для видеомаркетинга, являющаяся одним из основных направлений в современные PR-стратегии. Разработанный и созданный нами с нуля, сайт позволяет маркетологам не только создавать видеоролики, повышающие конверсию лидов, но и заниматься всем, что связано с защитой их контента и обработкой отзывов пользователей.
Twin Solutions также имеет опыт модернизации бизнеса. Такие проекты включают в себя различные задачи, от модернизации бизнес-процессов до внедрения полноценных CRM-систем (о них мы поговорим позже).
FTO — бизнес-консалтинговая компания с более чем 16-летним опытом работы. За это время компания занималась внедрением информационных систем в бизнес на базе платформы 1С. Twin Solutions разработал сервер для FTO и внедрил плагины Redmine, расширив их функциональность. Улучшена работа с тегами и добавлена возможность всем пользователям, даже не имеющим прав администратора, управлять тегами. В целом все операции Redmine были оптимизированы за счет добавления таких функций, как предварительный просмотр загружаемых документов любого формата и создание отчетов по соответствующим параметрам и шаблонам.
Мы в Twin Solutions прекрасно понимаем, что работа не заканчивается после успешного запуска приложения Ruby on Rails. Поддержание корректной работы приложения подразумевает своевременное реагирование на все возникающие проблемы. Наша компания имеет опыт решения подобных вопросов. Мы используем отдельную панель управления для регистрации всех запросов через систему продажи билетов. Это позволяет нам структурировать процесс поддержки приложений и вовремя реагировать на свежие вызовы, расставляя их в соответствии с их приоритетом. Вторым основным правилом, принятым нашей компанией для поддержания работоспособности приложений, является постоянное обновление программного обеспечения Ruby on Rails. Из-за того, что этот фреймворк с открытым исходным кодом, исправления и исправления ошибок приходят довольно часто. Поэтому для поддержки приложения очень важно вовремя обновлять программное обеспечение. Создание дорожной карты продукта с постоянными изменениями на основе отзывов клиентов завершает список основных направлений, которые используются в Twin Solutions для поддержки качественной работы приложений.
Что касается обеспечения качества, мы понимаем, что ручное тестирование — это древняя история. Вот почему в Twinslash есть специалисты по обеспечению качества, которые работают над созданием кода для внедрения автоматизированного тестирования.
тот сегмент — огромная часть опыта Twinslash. Из множества работ, выполненных в этой области, можно вспомнить: - OpenBasket - площадка для заказа качественных и полезных продуктов по оптовым ценам. - Boomkat — онлайн-платформа из Манчестера, продающая виниловые пластинки и имеющая потребителей из более чем 100 стран мира. - Nimbus Health - немецкий сайт по продаже медицинского каннабиса врачам и фармацевтам. И более.
Также мы можем гордиться несколькими проектами в сфере логистики: Drive Sense — приложение, созданное Twinslash для американской компании Esurance. Это приложение представляет собой систему управления парком автомобилей. Drive Sense занимается всем, что связано со страхованием имущества организаций и граждан. С помощью приложения вы можете отслеживать скорость автомобиля, выбранный им маршрут, возможные нарушения правил дорожного движения и детали местонахождения. Управление автопарком — почти идентичное приложение, за редким исключением.
Мы в Twinslash понимаем важность оптимизации документооборота и управления клиентами. Поэтому наша компания занимается усовершенствованием готовых бесплатных CRM-систем, а также созданием и внедрением совершенно новых решений на Ruby on Rails. Мы не будем останавливаться на улучшении бесплатных систем. А вот разработка нестандартных решений с использованием RoR — это интересно. Этот метод имеет ряд преимуществ, связанных с сущностью самого фреймворка. CRM-системы, созданные на Ruby и Rails, чрезвычайно индивидуальны благодаря гибкости фреймворка. Это позволяет добавлять в систему необычные решения. О скорости работы на Ruby on Rails мы уже говорили, а также это будет полезно при создании CRM-систем. Помимо того, что результат можно получить достаточно быстро, фреймворк также позволяет оперативно вносить любые коррективы, не рискуя безопасностью вашей базы данных (что происходит, используя более тяжелые языки кода, вроде Java).
Эта область помогает компаниям, у которых нет собственных технических директоров или которые не могут их нанять. CTO как услуга — это вид отношений, когда компания-клиент делегирует задачи, обычно выполняемые CTO, другой компании. Во всех остальных процессах вы работаете с техническим директором, поскольку он является частью вашей внутренней команды. В качестве примера мы можем познакомить вас с ISP Telecom. Эта платформа предоставляет телекоммуникационные услуги (TPP). Twinslash полностью взял на себя обязанности управления CTO, создав системы обеспечения и биллинга для компании, внедрив встроенный интерфейс AS2 (LNP, WLNP, BLIF), управляя интеграцией, совместимостью и тестированием совместимости между ISPT и Bell, Telus, Rogers и Videotron.
Вопросы безопасности — одна из главных проблем цифровой индустрии. В ситуации, когда подавляющее большинство транзакций и процессов происходит онлайн, было бы глупо ожидать, что этим никто не воспользуется. Поэтому важность безопасности веб-сайта или приложения трудно переоценить. Именно поэтому Twinslash предоставляет своим клиентам услуги аудита безопасности. В целом этот процесс включает в себя большой объем работы по разным направлениям, включая оценку политики безопасности, проверку системы на наличие новых проблем, аудит базы данных и кода, создание искусственной нагрузки на сайт/приложение и так далее. На данный момент наша компания занимается аудитом безопасности двух новых криптобирж — Hermesus (рынок США) и Hobit (мировой рынок). Как известно, вопрос безопасности в криптоиндустрии является важнейшей сферой. Twinslash создает механизмы для обеспечения безопасности персональных данных клиентов биржи, в том числе их платежных данных, криптокошельков и так далее.
Crystal — это объектно-ориентированный язык программирования, представленный публике в 2014 году. Первые версии этого языка были написаны на Ruby, но затем были переписаны на Crystal, сделав этот язык самостоятельным. Именно поэтому их синтаксисы имеют много общего, поэтому Twin Solutions решили выделить отдельную команду разработчиков для проектов Crystal.
В начале статьи мы сказали, что наша компания не стояла на месте и с энтузиазмом принимала новые вызовы. Так было принято решение о выделении ресурса для создания отдельного направления - разработки на Кристалле.
Crystal — новый язык программирования, взявший все лучшее от Ruby, C и C++. У него уже есть мощные фреймворки для веб-разработки, которые используются для максимизации производительности продуктов.
Так как это направление в нашей компании совершенно новое, то реализованных проектов пока нет. Впрочем, нам еще есть что показать.
Наши разработчики только начинают свой путь к Crystal, но уже успели создать отладчик для языка. Его основная функция позволяет отладчику LLDB отображать переменные Crystal в более знакомом и обычном стиле C-lang.
На этот момент мы обратили внимание, потому что поддержка отладки была не слишком развита. На форумах слишком мало информации. Другим решением было бы использование GDB (GNU Debugger), но, к сожалению, оно не работает должным образом на MacOS.
Мы хотели бы кратко объяснить, почему мы выбрали эти технологии в качестве нашего основного направления.
Ruby on Rails был создан разработчиками для разработчиков. Поэтому в данном фреймворке учтено большое количество самых частых пожеланий специалистов отрасли. Архитектура MVC (модель, представление, контроллер) превращает RoR в простую структуру на основе базы данных, которая наиболее подходит для стартапов и разработки MVP.
Что касается экономичности, то она прямо следует из предыдущего пункта. Чем меньше времени вы тратите на разработку, поддержку и размещение продукта, тем меньше вы тратите ресурсов, включая деньги.
Код RoR максимально оптимизирован, эффективен и прост для понимания. Существует большое количество библиотек, которые используются для обеспечения качества кода Ruby on Rails. Кроме того, в этом фреймворке также есть множество анализаторов кода, выполняющих различные тесты — от стилизации кода до его безопасности. Среди таких анализаторов Reek, RuboCop и Flay.
Пожалуй, нет более приспособленного для автоматического тестирования фреймворка, чем Ruby on Rails. Дело в том, что есть большое количество драгоценных камней, если на то пошло.
Можно вспомнить Capybara, которая автоматически делает скриншот при каждой ошибке в заданном тестовом скрипте.
Launchy позволяет одновременно запускать тесты кроссплатформенных приложений, не вдаваясь в подробности. Это возможно, потому что различные приложения имеют связанные концепции, которые можно тестировать одновременно во всех приложениях.
Database Cleaner — еще один драгоценный камень, который автоматически очищает вашу базу данных, чтобы вам было проще проводить тестирование.
И более. Сообщество разработчиков постоянно работает над созданием новых решений, в том числе в вопросе автоматизированного тестирования.
RoR позволяет нам использовать инфраструктуру управления облачной инфраструктурой, например Chef. Он также написан на Ruby, и с его помощью можно осуществлять полное управление инфраструктурой с помощью небольшого набора команд. Любое действие - создание новых папок, объединение их в структуры, изменение статуса всей структуры и так далее. Как и в примерах выше, в этом выпуске Ruby on Rails вновь демонстрирует наличие готовых решений для самых насущных проблем.
Развертывание на RoR также происходит быстро благодаря таким решениям, как Heroku или Capistrano.
Масштабируемость приложения указывает на способность продукта выдерживать гораздо более высокие нагрузки. И в этом плане софт, построенный на RoR, легко масштабируется как по горизонтали, так и по вертикали. Помните, что Twitter был создан на Ruby on Rails (хотя в будущем, с таким невероятным увеличением количества запросов в секунду, Twitter пришлось перенести часть своего кода). В любом случае Ruby on Rails покрывает 99% потребностей, если только вы не собираетесь создавать новый Twitter или Facebook и справляться с таким огромным количеством запросов.
Мы уже говорили выше о безопасности кода Ruby on Rails. Сообщество постоянно работает над обеспечением защиты от новых проблем, но, конечно же, нет такого решения, которое защитило бы код от всех возможных проблем.
Результатом всей этой работы стал огромный официальный документ, который мы досконально изучили и к которому постоянно обращаемся, чтобы обеспечить максимальную безопасность нашего кода.