Книга посвящена вопросам использования интерпретатора Python, фрейморка Kivy и библиотеки KivyMD для создания приложений, которые способны работать на любом устройстве (настольный компьютер, планшет, смартфон, мини-компьютер) и в любой операционной системе (Windows, Linux, MacOS, Android, iOS). Эти приложения адаптированы к работе на устройствах с сенсорным экраном, кроме того, они позволяют и обычный монитор настольного компьютера или ноутбука превратить в сенсорный экран.
Почти библейская история. Обосновались на горе Олимп три компьютерных бога, и звались они: Google, Apple и Microsoft. У каждого бога был свой Эдемский сад, в котором обитали их сыновья: у Google сын Android, у Apple братья Ios и Macos, у Micrisoft сын Windows. И могли сыны божьи гулять, каждый по своему саду, и рвать плоды любые, и торговать ими. И росло в тех садах дерево познания. Но заповедал каждый бог своему сыну: от всякого дерева в саду ты будешь рвать, а от дерева познания, не рви и не ешь с него, ибо в день, в который вкусишь с него, или сорвешь и продашь с него, станешь ты мне не угодным. А у подножья горы, в долине обитал простой люд, и у каждого простолюдина было свое имя, но боги обращались к ним по общему прозвищу — Linux. И не имели право простолюдины заходить в сады и плоды вкушать. А могли они только покупать плоды всякие из садов божьих, кроме плодов с дерева познания. А на дереве познания сидел хитрый змий. И видел он, несправедливость, как боги наживались на простолюдинах, продавая им плоды садов своих. Однажды набрал он плодов с дерева познания и раздал их простолюдинам. И вкусивши плодов от древа познания, прозрели простолюдины, и поняли, что могут сотворить свои сады. И стали они сами сады возделывать, и плоды растить, и угощать друг друга плодами своими, и дарить, и менять, и торговать ими. И перестали они зависеть от прихотей компьютерных богов. Имя того змия был Python, а имя плода запретного Kivy.
Одна из особенностей Python заключается в том, что для оформления блоков кода вместо привычных фигурных скобок, как в C, C ++, Java, используются отступы (или табуляция). Отступы — важная концепция языка Python и без правильного их оформления в программе будут возникать ошибки.
Примечание. Следует обратить внимание, что некоторые из требуемых зависимостей могут быть не включены в устанавливаемый пакет (это зависит от типа и версии операционной системы вашего компьютера и от версии Python). Если возникнут проблемы при запуске написанных программных модулей, то вы можете использовать следующие дополнительные команды для установки необходимых отсутствующих библиотек, чтобы исправить возникающие ошибки: pip install kivy-deps.angle; pip install kivy-deps.glew; pip install kivy-deps.gstreamer; pip install kivy-deps.sdl2.
Если интересно только итоговый отзыв - вам в самый конец, где подводится итог. Начал изучать данную книгу. Какой-то опыт программирования у меня был, когда-то программировал Arduino, в колледже и в универе были пары с программированием на С, сейчас работаю инженером и пересекаюсь с программистами в части программирования ПЛИС, то есть общее представление есть. Начал изучать с мыслью разобраться, как пишутся программы для приложений. Прочитал пока только 1 главу и отработал все примеры. Текст и объяснения написаны доступным языком, все понятно, не много определений, что для кого-то может быть плюсом, а для кого-то - минусом. В одной из программ написано про замену значка приложения, тут пришлось постараться, тк значок не подгружался, а пояснений в этой части не особо было, только " иконку помещаем в корневую папку проекта", но требований к иконке нет( возможно это можно найти в интернете, я просто не искал), оказалось что зависит от размера , нашел другую иконку с компа(где-то в Windows через поиск) и она подгрузилась нормально. Сейчас приступил к изучению 2 главы. Во второй главе больше программ, на примере которых идет разбор языка, вначале были проблемы в плане набора(часто допускал ошибки) + заметил несколько ошибок (например в листинге 2.7 второй "def ...." находится на уровне "class....", а для корректной работы он должен быть на след уровне( на уровне 1 "def...") , в принципе благодаря этому приходится вникать в код и больше понимать его, чтобы преодолеть нерабочий листинг. Дошел до листинга 2.33, все доступно объясняется, обычно по 2 примера (на Питоне и на языке Kivy, удобно сравнивать похожий функционал и оптимизацию кода) Постепенно дойдя до листинга 2.80, начинаешь осознавать, как примерно это можно использовать в интерфейсе, например проходя некоторые виджеты понимаешь , что вот этот подходит для создания меню в начале игры, другой можно использовать для создания контекстных кнопок для умений(как в МООРПГ), добавив логику какие можно использовать для создания легких головоломок, что-то для создания описания квеста с прокручиванием текста, создание карусели фото, несколько экранов и переключение между ними, в общем постепенно начинаешь понимать, как эти виджеты можно использовать на практике, однако, сама книга только не много подсказывает в этом направлении (возможно из-за того, что еще только теория идет и в будущих главах будет больше практики и фактического применения). Глава 2 акцентирует внимание на Фреймворке kivy и подробно разбирает функции делая акцент больше на работу на мобильных устройствах, чем на ПК, хотя и их тоже затрагивает (+ ссылается на официальную документацию Kivy, но я пока не искал ее) 3 глава акцент делает на библиотеке KivyMD и на основных сведениях, не сильно углубляясь. Сама глава достаточно маленькая , основные темы (несколько экранов / цвета/иконки / шрифты). Есть 2 листинга, которые не представлены в книге(идет ссылка на CD диск идущий в комплекте с книгой, но тут не представлен данный диск) 4 глава достаточно короткая и рассказывает о виджетах контейнерах, информации не много и усваивается легко. 5 глава достаточно большая, но при этом там описывается много функций из библиотеки KivyMD, каждая функция описывается достаточно поверхностно, без лишнего углубления, что в принципе и полезнее, кто хочет добрать до самой глубины - техническое описание библиотеки можно найти в интернете. В данной главе представлены основные функции, которые вы скорее всего будете использовать в работе. К каждому параграфу есть свои примеры. В 6 главе приведены примеры "из жизни", которые могут быть похожи на реальные задачи , например создание простого приложения по вычислениям, создание меню магазина (пицца и электроника) , работа с видео и камерой, к каждому примеру есть пояснение + это хорошие примеры взаимодействия нескольких функций между собой. В 7 главе рассказывается о создании установочных файлов для телефона и ПК - с помощью каких программ , что и как надо установить, что нажимать в процессе.
Итог: книга познавательная, без лишнего технического языка. Если вы пришли просто почитать, как обычную книгу, тогда это пустая затея - где-то треть книги это листинги, которые надо на практике проверять, чтобы вникнуть в них. Если вы новичок в программировании и пришли просто написать небольшую программу, чтобы похвастаться перед друзьями - книга однозначно для вас, вы сможете реализовать то , что захотите и каких-то трудностей не предвидеться. Если вы уже работали с программированием, и читаете для повышения знаний, то книга вам подойдет , если вы не знакомы с Kivy, если хотя бы общее представление есть, тогда можно использовать книгу, как справочник - обращаться к конкретной главе к конкретным функциям За объяснение, доступность, полезность и остальные критерии к подобной книге 4 балла - все доступно и просто(мне как технарю хотелось бы большего углубления, а не просто нажмите это , введите этоти получите это)
Наверное это чуйка или опыт .... Сразу не стал делать примеры из книги. Стал перелистывать просматривать и дошёл до .... "полный код есть на диске". Человек прилежно дойдёт до середины книги, повторяя примеры и ... что дальше - код не найти. Да что то можно подчерпнуть , для себя выписать, но полагаться на такое не советую. Лучше поискать полный вариант. Понятно что книга тут не причем.
Зачем выкладывать такую книгу? Если нет дополнительных материалов - не повторяй как автомат , придумай своё? Глупо - тут как раз обучение на примерах.