Low-code - это подход к разработке программного обеспечения, цель которого - дать возможность любому человеку - даже без опыта программирования - быстро и легко создавать собственные ИТ-приложения и эффективные процессы. Большинство людей, услышав это, поначалу испытывают неприязнь, потому что разработка программного обеспечения обычно включает в себя программирование программ.
В предыдущей статье блога на тему no-code / low-code я уже писал о деталях этого нового подхода к разработке со всеми его преимуществами и недостатками, но эта статья не об этом.
В этой статье я возьму вас за руку и вместе с вами создам ваше первое собственное low-code приложение. Это самый быстрый способ получить представление о том, что на самом деле означает low-code и может ли low-code помочь вам или вашей команде работать более эффективно в будущем.
Будут ли нам вообще нужны разработчики в будущем?
Честно говоря, этого и не следовало ожидать. Даже если low-code сейчас является очень популярным трендом, этот новый подход к разработке не сможет сделать классическое программирование ненужным или заменить его. Позвольте мне вкратце объяснить, как я пришел к этой мысли.
Я твердо убежден, что low-code подходит не для всех видов разработки. Самым большим преимуществом low-code является его простота. Но эта простота также означает, что существуют вынужденные ограничения для развития. На мой взгляд, low-code следует рассматривать как игровую площадку для опробования новых процессов или решений. Как вы увидите через некоторое время, с помощью SeaTable вы можете разработать первый прототип за очень короткое время и затем использовать его для тестирования вашего процесса. Через несколько дней вы и ваша команда быстро получите первоначальное представление: нужен ли вам вообще этот процесс? Нужно ли адаптировать процесс, или, возможно, нам придется перестроить его или подойти к нему совершенно по-другому?
С моей точки зрения, low-code следует рассматривать как игровую площадку для опробования новых процессов или решений.
Конечно, не исключено, что с этими новыми знаниями вы сознательно сделаете выбор в пользу готового специального решения или поручите программирование разработчику.
Важно то, что low-code помог вам реализовать свой процесс и получить опыт работы с ним.
Кстати, вам не обязательно читать этот текст, чтобы разработать свое первое приложение с низким кодом. Если вы предпочитаете смотреть видео вместо того, чтобы читать текст, вы также можете посмотреть следующее видео на YouTube.
Разве уже не существует приложений "Customer Feedback / Feature Request"?
Но, конечно. Приложений для обратной связи с клиентами уже десятки. Вот лишь небольшая подборка наиболее известных онлайн-сервисов:
canny.io
canny.io является одним из самых известных решений для обратной связи с клиентами на рынке. SaaS-платформа привлекает бесплатной начальной ценой, которая включает практически все важные функции, в том числе планирование дорожной карты. Что несколько отталкивает, так это высокая цена - $400 в месяц, если вам нужны дополнительные функции.
fider.io
Нужно очень внимательно присмотреться, чтобы увидеть различия в поверхности fider.io по сравнению с canny.io. Fider.io набирает очки благодаря своему подходу с открытым исходным кодом и возможности самостоятельно размещать программное обеспечение. С точки зрения цены fider.io также значительно дешевле canny.io, хотя вам придется обойтись без некоторых функций, таких как дорожная карта и журнал изменений.
nolt.io
Nolt - еще один поставщик размещенной в Интернете доски отзывов клиентов. A Совет директоров Nolt устанавливается за несколько минут и убеждает своим простым дизайном, который также хорошо работает на небольших разрешениях. Nolt также делает цену чрезвычайно простой, поскольку каждая плата стоит 25 долларов США в месяц. Не больше и не меньше.
Теперь вы можете спросить себя: почему эти решения должны быть воспроизведены с помощью low-code? Ответ довольно прост. Зачем делать что-то самому, если решение уже давно готово?
Потому что, развивая себя, вы можете полностью подчинить процесс своему контролю и затем адаптировать его по своему усмотрению. В то же время, нет лучшего способа научиться чему-то, чем сделать это самому. Итак, давайте начнем.
Что делает хорошее приложение для обратной связи с клиентами?
Неважно, программируете ли вы классически или работаете с платформой с низким кодом, такой как SeaTable. В начале вам следует сесть и подумать о том, чего именно вы хотите достичь.
В разработанном нами приложении "Обратная связь с клиентами" должны быть реализованы следующие четыре требования:
- Сбор всех видов отзывов клиентов в одном месте
- Получение информации из этой обратной связи
- Выявление и внедрение улучшений для вашего продукта
- Постоянно вовлекайте клиентов в обсуждение.
Теперь мы будем постепенно внедрять эти требования в SeaTable. Так что давайте засучим рукава и начнем.
Шаг 1: Обзорная таблица Запросы о возможностях / Отзывы клиентов
Таблица для "Feature Requests
Создайте таблицу с четырьмя столбцами в базе SeaTable Base. Первый столбец содержит Название, т.е. краткое описание требования. Вторая колонка предназначена для более подробное описание. Третья колонка предназначена для Статуспоэтому следует использовать однократное выделение. Для последнего столбца выбираем тип столбца "Создатель", который заполняется автоматически. Разумеется, вы можете свободно выбирать названия столбцов или добавлять свою информацию. Следует помнить, что в дальнейшем все запросы на функциональность будут фиксироваться и заноситься в эту таблицу.
Новые записи через веб-форму
Далее, нам нужен способ, с помощью которого ваши клиенты смогут отправлять вам запросы на новые функции. Это можно сделать с помощью веб-формы, которую SeaTable создает для нас несколькими щелчками мыши. При создании веб-формы вы можете решить, должна ли она быть доступна для всех или только для людей с действующей учетной записью SeaTable. Таким образом, вы сможете контролировать, кто именно будет пользователями вашей новой веб-формы. Теперь вы можете либо опубликовать ссылку на новую веб-форму на своем сайте, либо отправить ее своим клиентам.
Вы уже разработали первое небольшое приложение с низким кодом для сбора отзывов клиентов и пожеланий по функциям. Теперь вы можете опубликовать представление таблицы только для чтения на своем сайте, и ваш проект будет завершен. Но нам этого недостаточно, потому что мы все еще хотим разрешить комментарии и голосование по отдельным запросам функций.
Шаг 2: Комментарии к запросам на функции
Таблица для комментариев
Теперь, когда запросы на функции четко распределены в таблице, мы переходим к комментариям. Идея заключается в том, что все клиенты должны иметь возможность провести обсуждение на основе запросов на желаемые функции. Поэтому мы создаем таблицу именно для таких комментариев. Всего в этой таблице должно быть пять столбцов. Мы используем первый столбец для автоматического присвоения номера комментариям. Во второй колонке записывается комментарий. В третьем столбце автоматически записывается автор. Четвертый столбец - это дата создания, а пятый столбец - это столбец связи с запросами на функции. Важно, чтобы в колонке "Ссылка" можно было указать только ссылку на запрос функции. Не имеет смысла присваивать комментарий нескольким запросам о возможностях.
Веб-форма для ввода новых комментариев
Теперь у нас есть необходимая таблица для добавления комментариев к отдельным запросам на функции. При желании вы можете создать свои первые собственные комментарии прямо в таблице и отнести их к одному из запросов о возможностях. Здесь также имеет смысл создать веб-форму, с помощью которой вы сначала выбираете запрос на функцию, а затем вводите комментарий.
Шаг 3: Таблица голосований
Прикрепление таблицы
Теперь мы переходим к последней таблице в нашем приложении с низким кодом. Таблица Votes очень проста по своей структуре. Мы снова используем автоматическую нумерацию в первой колонке, автоматически заполняемого автора во второй колонке и колонку ссылок на запросы функций. Это все, что нам нужно в этой таблице, потому что мы просто хотим знать, какой человек проголосовал за тот или иной запрос функции. Сделайте первую запись в этой таблице и свяжите с ней любой запрос на функцию.
Если теперь вы переключитесь обратно на первую таблицу, вы увидите, что в нее добавлены два новых столбца. Связи таблиц работают в обоих направлениях, поэтому теперь в таблице можно также увидеть следующее Запросы на функции см. ссылки на другие таблицы в каждом случае. Чтобы создать здесь еще больший обзор, следует добавить еще два столбца формул и использовать формулу countlinks(Spaltenname) подсчитать сумму комментариев и голосов. Вы также можете отсортировать таблицу по этим двум столбцам, чтобы увидеть самые популярные или наиболее горячо обсуждаемые запросы функций в верхней части.
Отдача голосов по кнопке и привязка с помощью автоматизации
Теперь мы лишены возможности подавать голоса. Это можно было бы сделать через веб-форму, но это кажется немного трудоемким, если вам придется открывать веб-форму только для того, чтобы выбрать значение, а затем отправить его. С помощью кнопки это делается гораздо быстрее и проще. Этой кнопке мы присваиваем функцию Копировать строку в другую таблицу. С помощью этой функции копируются все столбцы с одинаковыми именами. Создайте еще один столбец в таблице Votes, который соответствует имени первого столбца из таблицы Feature Requests.
Затем нажмите на кнопку и понаблюдайте за происходящим. В таблице Votes создается новая строка, но автоматическая ссылка на нужный запрос функции по-прежнему отсутствует. Для этого мы используем правило автоматизации, которое автоматически создает "ссылку" на первую таблицу для каждой новой строки. Сразу же протестируйте свое приложение, раздав несколько голосов.
Сценарий Python для удаления дубликатов
Вы сразу заметите, что хотя мы создали очень простой способ голосования, это не мешает человеку голосовать за одну и ту же функцию несколько раз. Конечно, мы хотим предотвратить это и используем для этой цели следующий сценарий Python.
table_name = 'Votes'
view_name = 'Default View'
column_to_compare_a = 'Title'
column_to_compare_b = 'Voter'
## don't change anything below this line ...
from seatable_api import Base, context
server_url = context.server_url
api_token = context.api_token
def remove_duplicates():
# Authentication
base = Base(api_token, server_url)
base.auth()
# variable to save row values for comparison
column_a = ""
column_b = ""
rows = base.query('select * from '+ table_name +' order by '+ column_to_compare_a +','+ column_to_compare_b)
for row in rows:
if row.get(column_to_compare_a) == column_a and row.get(column_to_compare_b) == column_b:
print("Duplicate found at row with the id: " + row.get('_id') + ". Delete this row ...")
base.delete_row(table_name, row.get('_id'))
# store this values for comparison
column_a = row.get(column_to_compare_a)
column_b = row.get(column_to_compare_b)
remove_duplicates()
Мы прикрепляем этот сценарий как дальнейшее действие к только что созданному правилу автоматизации и таким образом обеспечиваем немедленное удаление дубликатов записей. Попробуйте прямо сейчас. Вы увидите, что в таблице голосов создается новая запись, но она тут же снова удаляется.
Оптимизация и визуализация с помощью доски Канбан
На последнем этапе разработки следует оптимизировать таблицы и, например, добавить группировку по статусу или по функциональным запросам. Следует скрыть ненужные столбцы и создать дополнительные представления, например, дорожную карту, содержащую только запросы со статусом "в планах". Кроме того, в таблицах можно ограничить, кто из пользователей имеет право вносить те или иные изменения. Например, с помощью прав доступа к столбцам можно сделать так, чтобы только вы или выбранные вами лица могли изменять статус отдельных запросов.
В качестве последнего шага я рекомендую активировать плагин Kanban, поскольку он предлагает красивое визуальное представление ваших запросов функций в соответствующем статусе. Таким образом, вы, как создатель и администратор этой таблицы, также можете быстро и легко изменить статус с помощью перетаскивания.
Публикация вашего приложения с низким кодом
Это подводит нас к концу разработки вашего приложения с низким кодом. Ваше новое приложение для запроса функций предлагает две веб-формы для создания новых запросов и комментариев, а также простую кнопку для повышения голосов за отдельные запросы функций. С другой стороны, ваше первое приложение все еще имеет большой потенциал для улучшения. Будьте изобретательны и просто пробуйте. Конечно, вы также можете найти это приложение в нашем разделе шаблонов.