Запрашиваемой страницы нет на сайте
08.01.2020
Предлагаемая памятка позволит обойти большинство проблем и не вляпаться с размаху в "сюрпризы" данной платформы разработки мобильных приложений
Общие моменты
- Подходит ли Thunkable X для создания качественных коммерческих мобильных приложений? Нет. Практика показывает, что релизы Thunkable Live в магазинах приложений на самом деле являются бесконечными альфа-версиями, которые зачастую выпускаются даже без минимального объёма их тестирования, в результате чего обновление платформы может привести даже к крашу "отлаженного" в прошлом приложения.
Данная платформа подойдёт лишь для обучения и для создания набросков небольших персональных приложений для своей модели телефона. Попытка создать на ней публичное приложений приведёт к большим проблемам, так как понятия отлаженного приложения в ней не существует по определению, а есть понятие приложения, работающего в данный период времени на данном устройстве.
- Смогу ли я использовать Thunkable X, если ничего не понимаю в программировании? Сможете, но вскоре вы поймёте, что разработчики хотели создать платформу для пользователей, но в результате создали платформу для программистов с хорошим знанием основ JavaScript, алгоритмов, отладкии и всего прочего. Вот только программисты не будут использовать эту платфору по причинам, описанным выше.
- Thunkable X – это закрытая платформа для энтузиастов.
Если вам нужен надёжный, предсказуемый в работе и удобный инструмент для разработки и отладки полнофункциональных, отзывчивых и быстро работающих мобильных приложений под iOS и особенно Android, то данная платформа вам точно не подойдёт.
- Если вы не планируете создавать приложения для iOS, то не стоит использвать Thunkable X.
Для разработки под Android существуют более стабильные и функциональные решения
- Изучите функциональность платформы
Узнайте о найденных багах при помощи баг-трекера
Блоки
- Как можно меньше используйте блоки переменных Variables. Эти искусственные блоки работают непонятно как.
- Фиолетовые и некоторые другие блоки компонентов работаю асинхронно. Эти блоки не обязаны выполняться последовательно друг за другом, и во избежание проблем с данными нужно либо использовать рекурсию, либо производить синхронизацию данных после использования этих блоков в циклах.
- Используйте функции для устранения повторяющихся блоков. Чем больше блоков, тем больше ошибок.
- Всегда проверяйте наличие и корректность данных перед выполнением любой операции с ними. Одной из основных ошибок является предположение о том, что данные из любых источников, введённые пользователем или являющиеся результатом какой-либо операции всегда являются корректными
- Держите на контроле тип данных и особенности их использования в разных операциях. Многие блоки компонентов работают без проверки и защиты от данных неподходящего типа, что приводит к критическим ошибкам.
Не используйте:
- Любые блоки для работы с app-переменными - Initialize app variable, set app, app и др. App-переменные – это искусственные конструкции, которые являются источником многочисленных и трудно диагностируемых проблем. Вместо этих блоков используйте однострочный компонент Local DB
- Блок Wait seconds – при работе с данными использование этого блока говорит об ошибке в алгоритме и непонимании работы асинхронного механизма
- Блок Forever – этот блок работает в 280 раз медленнее других бесконечных циклов
- Проблемный компонент Animation. Является источником критических ошибок
Проектирование
- Проектируйте приложение от данных и набросков на бумаге, а не от дизайна и смутных фантазий в голове. Среда разработки не отличается удобством и функциональностью, а посему переделывать и искать ошибки в десятках непонятно как работающих экранах будет очень непросто
- Вместо множества однотипных экранов используйте один, с генерацией данных для него из базы. Редактировать один шаблон проще множества однотипных экранов.
Отладка
- Если что-то не работает, то вначале добейтесь работы приложения (в случае возникновения критического сбоя), а затем используйте пошаговую отладку с выводом значений блоков на экран. Попытки определить причину ошибки на глаз в большинстве случаев приводят к неудачам, особенно с учётом количества системных багов и непонимания основ программирования