«Язык как будто в подвале со скуки изобрели». Программисты обсудили плюсы и минусы Salesforce
25.06.2018 11:46
—
Разное
|
Количество вакансий для Salesforce-разработчиков в Беларуси постепенно растёт. Не менее десятка минских компаний создают веб-продукты на платформе Salesforce, а разработчики проводят тематические митапы. dev.by побывал на одной из таких встреч, где обсуждали, почему Salesforce, защищая платформу от дураков, добавляет работы умным людям. Apex: нужно ли было создавать новый язык программирования?Бэкенд-разработчик Алексей Шруб начал с критики: по его мнению, в основе Salesforce лежат некачественные технологии. Основная его претензия относится к Java-подобному языку Apex, который используется пользователями системы для разработки.
Apex нельзя рассматривать абстрагированно от платформы, считает менеджер группы разработки iTechArt Дмитрий Черник. — Если мы рассматриваем Apex в отрыве от платформы и сравниваем его, например, с Python, то, конечно, доводов в пользу первого у меня нет, — аргументирует свою позицию Дмитрий. — Apex — это скорее инструмент для решения определённых задач, а не обособленный язык программирования. Можно ли было вместо него взять, например, Java? Сложно ответить, мы не знаем, сколько бы стоило создателям Salesforce интегрировать Java или Python в платформу. Поэтому в разрезе платформы Apex — однозначно хороший инструмент. Изменения в архитектуре — баг или фича?Бэкенд-разработчика Алексея смущает тот факт, что недавно в Salesforce-платформе кардинально изменилась архитектура. Речь идёт о выводе нового интерфейса под названием Lightning. Для пользователя это просто внешний вид системы, однако под капотом — js-фреймворк, кардинально отличающийся от предыдущей версии системы. Это значит, что изначально CRM была сделана на коленке, считает Алексей.
Сергей, напротив, считает, что кардинальные изменения в фреймворке произошли не из-за ошибки в проектировании, а потому, что технологии утрачивают актуальность.
Да, технологии недолговечны, соглашается Алексей и приводит в пример COBOL — так и Salesforce однажды уйдёт с рынка. Хотя до этого «кто-то успеет купить машину или дом». Лимиты в Salesforce — плюс или минус?На замечание о том, что в Salesforce много лимитов (на общение с внешними системами, работу с базой данных и пр.), технический директор Twistellar Сергей Кочановский отвечает так: — Как платформа, Salesforce обязана обеспечивать стабильность системы. Поэтому компания старается её обеспечить даже на «низком уровне». Чтобы разработчики не имели шанса построить архитектуру, которая свалит систему. По мнению Сергея, эти лимиты ,— скорее плюс. Они учат хорошему стилю программирования. Если какая-то компания решит, что ей мало предоставленных ресурсов, то она всегда может их докупить. Например, можно увеличить хранилище данных, суточный объём внешних API-запросов и пр. Бэкенд-разработчик Алексей с этим не согласен: защищая стабильность системы от дураков, Salesforce добавляет работы умным людям.
Совсем другое отношение к лимитам у разработчика из iTechArt. Он предлагает рассмотреть несколько конкретных кейсов с лимитами. — Давайте для примера возьмём лимит с количеством API Calls (максимум — 15 тысяч). Моё мнение: если за сутки две системы используют больше 15 тысяч взаимодействий, значит, они плохо спроектированы. Salesforce это видит и присылает нотификации с просьбой пересмотреть систему: что-то у вас не в порядке, раз вы столько запросов делаете извне. То же самое с лимитом выборки из базы данных. Мне сложно представить интерфейс, которым удобно пользоваться, если у него больше 10 тысяч записей (я бы вообще разрешал не больше 100 записей). Если вам не хватает записей, возможно, у вас проблема с требованиями, либо вы используете не ту систему. Интеграция с фреймворкамиSalesforce позволяет делать великолепные интеграции и добавлять в платформу различные фреймворки, уверяет специалист из Twistellar. Если предоставляемые built-in технологии не устраивают, можно взять React, AngularJS и пр. — они встраиваются в Salesforce.
Также можно создавать свой собственный API и настраивать любые интеграции. Для работы с Big Data, AI (вы же не будете использовать сейлсфорсовский Oracle DB для таких приложений) можно построить связующее программное обеспечение, сделать сервер на Python и соединить его с Salesforce. Всё это позволяет использовать Salesforce как часть большей архитектуры, не превращая использование платформы в самоцель. При этом основные компоненты обработки данных могут находиться на других серверах и быть связаны с Salesforce в единое целое. Salesforce по умолчанию предоставляет разработчикам инструменты, которые позволяют стилизовать код и делать его структурно корректным. Также есть возможности, которые позволяют обходиться без хардкода. На мой взгляд, хардкод — это просто бич современности, всем нравятся магические цифры, их любят вставлять в код, и от этого потом болит голова у всех. Salesforce это знает и на платформенном уровне позволяет интегрировать в код кастомные метки, настройки, структуры для хранения значений и использования их в коде. Алексей с этими аргументами не соглашается:
Низкий порог входа для разработчиков?Специалист из Twistellar подчёркивает низкий порог входа в Salesforce-разработку: чтобы начать работать с Aрex, достаточно понимания основ программирования.
Дмитрий возражает: — Некоторые думают, что в Salesforce низкий порог входа: почитал про синтаксис Apex — и можно пилить сайты. С таким же успехом можно говорить о любом другом языке программирования. Другое дело, что Java уже обросла множеством фреймворков, а Salesforce только идёт к этому. С выходом Lightning Salesforce-разработку уже можно приравнять к JavaScript. Если вы считаете, что на JavaScript низкий порог входа, значит, и на Salesforce тоже. У него вызывает улыбку суждение о том, что Salesforce не позволяет программистам развиваться.
Для Алексея программирование на Salesforce равнозначно разработке на 1C. — Это ниша, в которой разработчик находится ближе к бизнесу и автоматизации, чем к программированию. Соответственно, специалисты имеют разную квалификацию. И прежде, чем выбирать технологию, человек должен задуматься, кем он хочет быть: продажником или программистом, — категорично заявил бэкенд-разработчик. Если человеку интересно решать, например, алгоритмические задачи, связанные с математикой, статистикой и т.д., то Salesforce не для него. — Salesforce — это про бизнес, — дополнил Дмитрий из iTechArt. — Связь с бизнесом здесь гораздо более тесная, чем в других технологиях. Нужно глубокое погружение в предметную область. Мне, например, это нравится. Платформа для стартапов, про которые, правда, не напишет TechCrunchПо количеству доступных современных технологий в платформе Salesforce обгоняет всех на рынке B2B, уверен директор Twistellar Дмитрий Лейчик. Например, CRM открыта к таким современным технологиям, как IoT, AI.
Поддерживает его руководитель из iTechArt: «В плане rocket science на Salesforce сделать что-то сложно. Но вполне возможно решать те специфические задачи, которые требуются бизнесу». Salesforce постепенно превращается в ERP, считает Алексей Шруба. По его мнению, спрос на Salesforce-разработчиков в 4 раза ниже, чем на Java. Правда, за последнее время вакансий стало больше. Дмитрий Черник считает, что в 21 веке не обязательно искать компанию в Минске. В Штатах спрос большой, он растёт, как и сам рынок — можно работать удалённо. При этом получают Salesforce-разработчики не меньше, чем разработчики, специализирующиеся на конкретных языках. Итоги дискуссии: плюсы
И минусы
Фото: dev.by Чтобы разместить новость на сайте или в блоге скопируйте код:
На вашем ресурсе это будет выглядеть так
Количество вакансий для Salesforce-разработчиков в Беларуси постепенно растёт. Не менее десятка минских компаний создают веб-продукты на платформе Salesforce,...
|
|