DroidScript
DroidScript
инструменты для мобильной разработки

Памятка пользователя

Thunkable X  
08.01.2020

Предлагаемая памятка позволит обойти большинство проблем и не вляпаться с размаху в "сюрпризы" данной платформы разработки мобильных приложений

Общие моменты

  • Смогу ли я использовать Thunkable X, если ничего не понимаю в программировании? Сможете, но вскоре вы поймёте, что разработчики хотели создать платформу для пользователей, но в результате создали платформу для программистов с хорошим знанием основ JavaScript и не только
  • Thunkable X – это закрытая платформа для энтузиастов. Если вам нужен надёжный, предсказуемый и удобный инструмент для разработки и отладки полнофункциональных, отзывчивых  и быстро работающих мобильных приложений под iOS и особенно Android, то данная платформа вам точно не подойдёт
  • Если вы не планируете создавать приложения для iOS, то не стоит использвать Thunkable X.  Для разработки под Android существуют более стабильные и функциональные решения
  • Изучите функциональность платформы. Лучше вначале потратить неделю на изучение функциональности платформы, чем через 2 месяца упорной работы зайти в тупик из-за отсутствия нужного компонента или его недостаточной функциональности. Поддержки расширений и JavaScript здесь нет, по причине чего нет никаких гарантий того, что нужный компонент или блок будет когда-нибудь добавлен

Узнайте о найденных багах при помощи баг-трекера

Блоки

  • Как можно меньше используйте блоки переменных Variables. Эти искусственные блоки переменных работают в 1000 и более раз медленнее настоящих переменных, создаваемых из параметров функций, а также являются причиной резкого падения производительности редактора блоков. Если нужно сохранить 10 параметров, то вместо 10 stored-переменных создайте одну сложного типа.
  • Фиолетовые и некоторые другие блоки компонентов работаю асинхронно. Эти блоки не обязаны выполняться последовательно друг за другом, и во избежание проблем с данными нужно либо использовать рекурсию, либо производить синхронизацию данных после использования этих блоков в циклах.
  • Используйте функции для устранения повторяющихся блоков. Чем больше блоков, тем больше ошибок.
  • Всегда проверяйте наличие и корректность данных перед выполнением любой операции с ними. Одной из основных ошибок является предположение о том, что данные из любых источников, введённые пользователем или являющиеся результатом какой-либо операции всегда являются корректными
  • Держите на контроле тип данных и особенности их использования в разных операциях. Многие блоки компонентов работают без проверки и защиты от данных неподходящего типа, что приводит к критическим ошибкам.

Не используйте:

  • Любые блоки для работы с app-переменными - Initialize app variable, set app, app и др. App-переменные – это искусственные конструкции, которые  являются источником многочисленных и трудно диагностируемых проблем. Вместо этих блоков используйте однострочный компонент Local DB
  • Блок Wait seconds – при работе с данными использование этого блока говорит об ошибке в алгоритме и непонимании работы асинхронного механизма
  • Блок Forever – этот блок работает в 280 раз медленнее других бесконечных циклов
  • Проблемный компонент Animation. Является источником критических ошибок

Проектирование

  • Проектируйте приложение от данных и набросков на бумаге, а не от дизайна и смутных фантазий в голове. Среда разработки не отличается удобством и функциональностью, а посему переделывать и искать ошибки в десятках непонятно как работающих экранах будет очень непросто
  • Вместо множества однотипных экранов используйте один, с генерацией данных для него из базы. Редактировать один шаблон проще множества однотипных экранов.

Отладка

  • Если что-то не работает, то вначале добейтесь работы приложения (в случае возникновения критического сбоя), а затем используйте пошаговую отладку с выводом значений блоков на экран. Попытки определить причину ошибки на глаз в большинстве случаев приводят к неудачам, особенно с учётом количества системных багов и непонимания основ программирования
Thunkable X  
© 2016-2020  Александр Страшко