Что мне не нравится в OutSystems

Долгожданное продолжение «Что мне нравится в OutSystems»

Вступление

Для меня OutSystems - лучшая платформа с низким кодом. И не только я думаю, но и Forrester и Gartner со мной согласны. Приятно видеть, что инструмент, с которым я работаю вот уже 13 лет ежедневно, получает заслуженное признание, и я горжусь тем, что до сих пор участвовал в этом пути. Так что, как вы понимаете, это не будет статья, подвергающая критике OutSystems (извините, Mendix).

Это продолжение моей первой статьи под названием Что мне нравится в OutSystems. Итак, по какой причине я написал такую ​​статью? Речь идет о балансе; Есть много статей OutSystems, религиозно односторонних. Важно иметь свободу и смелость, чтобы указать области возможных улучшений. Этакий подход ретро, который хорошо сочетается с продуктом Agile.

Раздел идей

Некоторое время назад OutSystems представила раздел «Идеи» - возможный способ сообщить о ваших пожеланиях по улучшению в Service Studio. Я был очень доволен этим, и я был не единственным. Разработчики OutSystems активно добавляли функции, которые им не хватало при работе с инструментами.

Но, к сожалению, со временем стало ясно, что с этими идеями мало что сделано. Да, некоторые идеи были учтены и реализованы, но в целом раздел «Идеи» оказал довольно слабое влияние на платформу OutSystems. Есть несколько прекрасных идей и пожеланий, которые лежат на полке уже много-много лет. Такой подход не создает у сообщества впечатления причастности к продуктам OutSystems.

Поисковая система на OutSystems.com

Чтобы быть тупым; если я что-то ищу, я не могу найти это через поиск на сайте OutSystems. В последние годы OutSystems приложила немало усилий для расширения возможностей передачи знаний, и это продемонстрировало: на веб-сайте и на форумах доступно множество знаний. И если вы спросите что-то на форумах, произойдет большая перемена, на ваш вопрос сообщество ответит в очень короткие сроки. Но найти ответ через поисковую систему может быть непросто. Иногда проще и лучше использовать Google, чем напрямую использовать поисковую систему OutSystems.

Моделирование или каждый бит кода - это слишком много кода

Если вы читали мою предыдущую статью, то вы знаете, что моя основная причина выбрать OutSystems заключалась в том, что это был лучший программный разработчик, работающий на тот момент (и я думаю, что он до сих пор). Однако с самого начала я жаловался на кодирование в ОС; Я не имею в виду программирование расширений на C # (это очевидный выбор для программирования), но я имею в виду любой текстовый код, основанный на самой Service Studio. Меня не волнует, что он генерирует страницы aspx, HTML и CSS или добавляет javascript: я просто не хочу видеть его и меньше программы в нем!

И если мне придется с этим иметь дело, я хочу, чтобы он был как можно более нетекстовым и с интерфейсом моделирования. Например, приятно наконец-то получить подсветку синтаксиса с помощью JavaScript после стольких лет, но почему бы не использовать для этого пользовательский интерфейс логического моделирования?

Есть проблеск надежды: теперь у CSS есть интерфейс моделирования в одном из обновлений OS 10!

В некотором смысле OutSystems за эти годы претерпела множество изменений. Я начал использовать OutSystems с точки зрения моделирования программного обеспечения, и с этой точки зрения я немного разочарован; С точки зрения моделирования, за 13 лет ничего не изменилось.

Мой идеальный образ OutSystems был и остается инструментом моделирования, не зависящим от кода, который можно использовать для любых целей.

Младший код

Пару лет назад OutSystems начали называть свой продукт RAD-инструментом. Я был очень удивлен, когда увидел эти баннеры. Я даже начал писать небольшой фрагмент под названием «Я чувствую запах RAD», но прежде, чем я успел его закончить, OutSystems удалила утверждения RAD, и теперь инструмент стал называться платформой Low-Code.

Ясно, что OutSystems упорно трудилась, чтобы сделать свой продукт известным на более широком уровне, и, хотя у меня нет проблем с этим, я не уверен в том, какое название было выбрано. Это кажется очень изобретательным, но, что более важно, сбивает с толку. Хуже того: в основном это ничего не говорит. Low-code: что это такое? что это предлагает?

Создает ли OutSystems меньше кода? Указывает ли это на то, что вы можете создавать расширения с помощью C #? А если я им не воспользуюсь, значит, у меня нет кода? Указывает ли это на возможности кодирования HTML / JavaScript / CSS? (Кроме того, эти возможности не следует принимать во внимание, как я указываю в параграфе «Моделирование»). Клиенты спрашивали, означает ли это, что он может создавать только небольшие приложения ... Или приложения с очень небольшим кодом? Или мне нужно запрограммировать какой-то код, иначе ничего не произойдет?

Я уже привык к этим терминам, но все еще сталкиваюсь с клиентами и пользователями, которых смущает этот нечеткий термин.

Личное окружение

Что мне нравится в Java и .Net, так это то, что вы можете получить среды разработки бесплатно (выбор - оплата). Вы можете создать целый стек, используя только бесплатное программное обеспечение. Если вы хотите попробовать такую ​​вещь, вы можете просто скачать кое-что и попробовать. И это все твое; вы владеете источниками и можете хранить их вечно. Возможности безграничны. А пока вы осваиваете новые навыки, которые можете использовать на других должностях.

В случае с OutSystems дело обстоит иначе. Хотя у них есть бесплатная личная учетная запись, где вы можете поиграть с последней версией в облаке, на самом деле она вам не принадлежит. Если вы вернетесь через некоторое время, вы обнаружите, что ваше место спит или «прибрано». В последнем случае они отправят вам электронное письмо с вашими источниками. А если вы хотите владеть своими творениями, вам нужны лицензии, а для частного использования они недоступны.

Многие из нас к своему ужасу испытали, что личное облако заблокировано. Если вы работаете на клиента, и по какой-то причине серверы клиента не работают, не думайте о переходе в свою личную среду и развитии функциональности поверх там. Невозможно использовать то, что вы разработали, в личной среде (хотя для этого есть хаки, о которых я не буду здесь рассказывать).

Независимые разработчики - это не тот тип клиентов, на котором фокусируется OutSystems, поэтому мы должны быть рады иметь хотя бы вариант «Личное пространство». Но по сравнению с вариантами Microsoft / Oracle / Open Source это довольно бледное предложение.

Архитектура

Если вы хотите создавать гибкие и масштабируемые приложения, вам следует использовать архитектурный подход. OutSystems продвигает это в своих руководствах с примерами - как использовать архитектуру. Проблема в том, что инструмент не поддерживает конструкцию «построение программного обеспечения в слоях». Для создания такой архитектуры нужно все делать самому.

Еще один связанный с этим момент - довольно древний подход к управлению доступом в форме публичных и непубличных модулей. Вы можете повторно использовать общедоступные модули, что хорошо, но использование общедоступных модулей в вашей общей среде - не лучшая идея. А работа с архитектурным слоем построения зависит от использования общедоступных модулей.

Это грязно; Было бы неплохо иметь хотя бы возможность ограничить диапазон доступа используемых модулей в вашем приложении с помощью дополнительной настройки управления доступом. Таким образом, создание архитектурной структуры в вашем приложении не означает автоматического публичного доступа к ней. Потому что вы храните его внутри своего приложения. А если вы хотите поделиться некоторыми частями своего приложения публично, поместите его в дополнительный модуль (API) и установите для общего доступа значение «общедоступное».

Пользовательский интерфейс по-прежнему является слабым местом, или OutSystems не является инструментом FrontEnd

Насколько я помню, среда разработки изначально была WYSIWYG (в отличие от некоторых конкурентов). OutSystems в эти годы также уделяла много внимания исследованиям и разработкам операционных систем; добавление дополнительных возможностей и упрощение. В частности, введение Silk UI сделало большие вещи для пользовательского интерфейса.

Это также очень хорошо для привлечения клиента, но неизбежно, клиент хочет свой собственный дизайн, собственные цвета и т. Д. Борьба начинается, когда он хочет иметь свой собственный дизайн. Иногда это просто, и вы можете использовать настройщик тем или существующий виджет и настроить его. Однако в других случаях вам нужно делать всю работу самостоятельно, не являясь фронтенд-разработчиком.

Позволить дизайн-бюро заниматься графическим дизайном - это хорошо. Предоставление им возможности создавать HTML и CSS - настоящий бонус (большинство дизайнерских бюро, которых я встречал, избегают «кода»). Однако получить его в OutSystems - проблема, поскольку для этого нет импорта или мастера. Вам нужно сделать это вручную, а добавление внешнего CSS может или будет конфликтовать с существующим CSS, вызывая всевозможные непрозрачные ситуации с ошибками.

Контроль версий

Вы знаете Git, CVS, Tortoise или что-нибудь в этом роде? Базовый уровень, филиалы, развилки, регистрация отъезда и регистрация заезда? В ServiceStudio ничего подобного нет; каждая публикация - это версия. Если есть проблема, вам нужно перейти к списку версий, чтобы выяснить, где находится ваша недостающая или желаемая функциональность, открыв версии одну за другой и проверив ее. Поскольку нет указания, открыта ли у вас последняя версия другой версии, это может сильно сбить с толку.

Заключение

Я вполне доволен средой OutSystems: я бы не работал с ней 13 лет ежедневно, если бы это было не так. Однако есть некоторые области для улучшения, как и в случае с любым продуктом.

Если вам понравилась эта статья, пожалуйста, проверьте Пределы OutSystems, чтобы узнать о некоторых реакциях клиентов, с которыми я столкнулся по поводу работы с OutSystems.

~ Если вам понравилась статья, хлопните в ладоши, чтобы ее увидело больше людей! Кроме того, вы можете подписаться на меня на Medium, чтобы получать новости о будущих статьях! ~