Pull to refresh

qml: могущество и простота

Reading time2 min
Views4.4K
Мой брат большой поклонник компьютерных игр и всего что с ними связано. Он рыщет по всему интернету в поисках информации о старых, редких, первых изданиях игр, названия которых я даже не знаю (и даже называет себя «Историком Игр»). Недавно он пришёл с просьбой написать небольшой просмотрщик для одного из сайтов в интернете, занятого этой тематикой. Задача была просмотреть информацию обо всех играх по жанрам начиная с 1950, и для этого на сайте есть достаточно удобный функционал, но в обычных списках представлена только общая информация (из «шапки») и нет скриншотов, поэтому приходилось открывать каждую страничку вручную и тратить кучу времени на просмотр и выуживание нужной информации.

Бегло оглядев задачу, я сказал «давай сделаем это!». В следующий час (с небольшим) было написано несколько скриптов на python, чтобы распарсить сайт и заполнить нужной информацией небольшую SQLite базу. В данном случае это оправданное решение, поскольку каждый раз пробегать по страничкам сайта из просмотрщика долго, а информация по большей части игр не меняется. Новые игры добавляются редко, да и то только те, что вышли недавно.

После того, как скрипты были оттестированы и готовы мы запустили их на выполнение и пошли пить чай (с плюшками). Подождав пару часов и скоротав время за партией в Age of Wonders, у нас в руках оказалась полная база со всей необходимой информацией. Как инженер, на этом этапе я уже был полностью удовлетворен, поскольку если ты располагаешь всеми необходимыми данными, что тебе еще нужно? Однако, брат обратился за просмотрщиком, поэтому мы не стали останавливаться на достигнутом и продолжили работу.

К этому времени я уже достаточно давно занимался разработкой UI на Qt и изучал Qml, поэтому не стал долго размышляя над тем, какой фрэймворк или технологию выбрать для претворения стоящей задачи в жизнь. Я был приятно удивлен, как всего несколькими росчерками пера, буквально за пару минут (менее часа или около того) у нас получился красивый просмотрщик (дизайн понравился жене, а это говорит о многом) с нужным нам набором функционала (фильтрация по годам, по темам, по названиям и т.д., выгрузка информации в отдельный файл и т.д.).

После этой истории я подумал, как хорошо, что в эпоху когда Microsoft и Apple пытаются выжать из своих пользователей каждый доллар существуют такие компании и инструменты как Qt, которые с одной стороны предоставляют «мощные средства по разумной цене» для профессионалов, а с другой те же средства предоставляют каждому желающему для личного пользования, с, в общем то, небольшими ограничениями со стороны лицензии. За это ребятам большой респект и уважуха и низкий поклон. Спасибо.

Код проекта выложен здесь, бинарник для Windows можно скачать здесь.

P.S.: В целом, просмотрщик можно свободно использовать, в том числе с другими объектами и для других целей. Мы с братом будем рады, если кому-то проект будет полезен кроме нас двоих. Не забывайте только при случае ставить ссылку на авторов. Спасибо.
Tags:
Hubs:
Total votes 16: ↑9 and ↓7+2
Comments27

Articles