
Выбор языка программирования и стека технологий для веб-приложений стал таким же противоречивым, как национальная политика, и для меня эти дебаты почти такие же скучные, как недавние президентские. Многие люди в техническом сообществе являются сторонниками определенного языка или платформы. Причины этого обычно эгоцентричны: знакомство, гордость или деньги занимают первые места в списке. Когда мы сосредотачиваемся на себе, а не на помощи другим, разговор неизбежно сводится к пустой политической риторике.
Правда в том, что вы можете создать потрясающее приложение практически на любом современном языке. Вы определенно можете создать ужасное приложение на любом языке.
Twitter и Netflix используют множество технологий на основе Java. Facebook сильно зависит от PHP. PayPal и Instagram много используют Python. Все они довольно успешны. Вместо того, чтобы эгоистично зацикливаться на языке или структуре дня, великие технологические лидеры сосредотачиваются на людях, использующих их приложения.
Сегодняшняя веб- и мобильная разработка начинается и заканчивается пользовательским опытом. Неправильный опыт и детали реализации не имеют значения — никто не будет использовать ваше приложение. Создайте отличный опыт, который удовлетворит важную потребность, и большинство людей смирятся с некоторыми проблемами роста на этом пути. Это верно как для потребительских, так и для корпоративных приложений.
Недавно я столкнулся с этим с приложением, которое я использую каждый день, под названием unroll.me, которое объединяет мои многочисленные подписки на электронную почту в один ежедневный дайджест. Это освобождает меня от беспорядка в почтовом ящике и решает реальную проблему в моей жизни. Недавно компания столкнулась с некоторыми техническими трудностями и в течение нескольких дней в наши почтовые ящики попадали нежелательные письма. Был ли поток людей к выходам? Нет, потому что приложение настолько хорошо спроектировано, что остается полезным даже тогда, когда оно перегружено. Также не помешало то, что компания была прозрачна в отношении своих проблем, но это тема для другого дня.
Не поймите меня неправильно, профессионалу важно выбрать правильный инструмент для работы. К счастью, в нашем распоряжении есть много хороших инструментов. Модель событий Node.js отлично подходит для неблокирующего ввода-вывода. Вы можете добиться аналогичных результатов в Java с помощью Spring Boot и проекта Reactor. Akka Actors сделает свое дело в Scala, Java и даже в .NET. Все это приведет к отличному пользовательскому опыту, если будет реализовано правильно. Примите решение, основываясь на людях, культуре и инфраструктуре.
О себе: Джон Джейкобс — главный архитектор Credera. Он помогает клиентам создавать потрясающие приложения на Java, Scala, .NET или чем-то еще. Подробнее о точке зрения Кредеры читайте здесь.
Первоначально опубликовано на www.linkedin.com.