Топ 14 лучших онлайн-курсов разработки мобильных приложений — Все Курсы Онлайн

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн Гаджет

Что нужно знать, чтобы стать android-разработчиком

Весь процесс создания программного продукта проходит в среде Android Studio — профессиональном ПО разработчиков. Android Studio доступен для бесплатного скачивания на официальном сайте андроида.

Языки программирования. Для работы в Android Studio разработчик должен владеть языками Java и Kotlin. Java — классический, официальный язык программирования, поддерживаемый Android Studio. Kotlin — предпочтительный язык программирования для Android-приложений по версии Google.

Разработчику Androidнеобходимо изучать оба языка программирования. На Kotlin пишут большинство новых приложений, но на Java созданы десятки миллионов давно работающих программ.

С 2021 г. компания Google выбрала Kotlin в роли главного языка программирования для ОС Андроид. Научиться программировать на нём помогут курсы из подборки «ТОП-8 онлайн-курсов для Kotlin-разработчиков»

Дополнительные навыки. Вот,что нужно знать андроид-разработчику помимо среды Android Studio и языков Java и Kotlin:

  • особенности ОС Android и правила её настройки;
  • правила оформления кода и вёрстку, языки HTML, CSS и XML;
  • инструменты контроля и управления версиями файлов Git и сервис для совместной разработки и хранения файлов Github;
  • основы графического дизайна, алгоритмизации, тестирования;
  • библиотеки и фреймворки;
  • технический английский язык.

Этих базовых навыков достаточно для начала работы. Дополнительные  навыки можно освоить уже в процессе работы. Разработчик не перестаёт учиться никогда. В программировании изменения происходят настолько часто, что без постоянного обучения разработчик рискует потерять квалификацию.

4 февраля 2020

Читатели возрастной категории «около 30», возможно, помнят школьные уроки информатики, где программирование (если оно вообще было) преподавалось на допотопных языках, вроде Basic и Pascal. Люди постарше, возможно, даже вспомнят языки «Алгол» и «Рапира».

И если с последними вроде бы уже никто не сталкивается, то вот «Паскаль» де-факто до сих пор является самым популярным языком для обучения детей программированию в школах, несмотря на его возраст – ровно 50 лет. И «Бейсик», который на пару лет старше, встречается, хоть и реже.

И казалось бы, что в этом плохого? Ведь детишки должны научиться алгоритмированию, а не созданию прикладных программных продуктов. Это как сравнивать основы физики с сопроматом. Однако, есть между этими науками есть различие. За весь процесс обучения в школе физика как наука не меняется (ну, почти), а вот в разработке ПО появляется что-то новое чуть ли не каждую неделю.

И ученики, ни разу не сталкивавшиеся с современным воплощением программирования, не могут сразу применить свои знания на практике. Будь они хоть трижды победителями школьных олимпиад по информатике. И вот тут им, а особенно их родителям, на помощь приходят различные дополнительные кружки по программированию, секции по робототехнике, приложения и игрушки для самостоятельного обучения кодингу.

Fisher price code-a-pillar

Небольшое отступление в конце, посвященное тем, кто в силу возраста пока тянет только на звание «погромиста», а не программиста. Развивающая игрушка от американской компании Fisher Price представляет из себя гусеницу, голова которой является основным движущим элементом.

Присоединяя к ней «хвостовые» элементы, ребенок может заставлять её делать определенные действия: повернуть в нужную сторону, развернуться, включить свет, сыграть музыку определенного настроения, или воспроизвести звук. Каждая команда выполняется по очереди, от головы до хвоста. И как только гусеница выполнит все упражнения, она сыграет радостную мелодию.

Сегменты присоединяются друг к другу с помощью удобного разъема, при этом собрано все неплохо и явно рассчитано на детишек самого маленького возраста. Первокласснику такая штука быстро надоест, поэтому самым подходящим возрастом для этой гусеницы будет 3-5 лет.

Благо тут речь идет как раз-таки не о программировании как таковом, а об умении создавать алгоритмы и заставлять игрушку двигаться по своему желанию. Покупка такой гусеницы на Amazon обойдется в сумму около шести тысяч рублей с доставкой в РФ.

Raspberry pi

Ну и для совсем уж взрослых испытателей электроники можно посоветовать одну из самых лучших платформ для создания практически чего угодно. Хотите домашний сервер, скачивающий по вашему указанию файлы с (кхе-кхе) файлообменных сайтов? Пожалуйста. Елочную гирлянду, которая может пропеть и написать буквами «С новым Годом»?

Благодаря огромной распространенности и дешевизне, одноплатный компьютер «малинка» (так переводится слово Raspberry) в своей третьей версии стал уже чуть ли не символом современного самодельщика, наряду со схожим (но менее мощным) компьютером Arduino.

На нее существует куча различных дистрибутивов операционных систем, скетчей, программ и многого-много прочего, что потянет на несколько немалых статей. Главное – лишь бы была фантазия и желание рукоделить. А уж в интернете наверняка найдется парочка-другая пошаговых гайдов для вашей цели.

Кстати, о стоимости. В отличие от предыдущего мини-компьютера с обвязкой из многочисленных кусочков пластика, компьютеры Rspberry Pi имеют довольно демократичный ценник. Понятно что для полноценного творчества вам одного лишь компьютера не хватит, но все же официальная цена за одну плату около 3,5 тысяч рублей (с доставкой в РФ) даже с дополнительными тратами запросто уложит компьютер от LEGO «на лопатки».

К слову, четвертая версия (около 4,5 тысяч рублей) вышла относительно недавно, и поэтому не получила еще пока такого широкого распространения. Её преимущества пока избыточны для большинства любительских проектов, но работать она будет все же пошустрее.

К тому же, на Raspberry существуют и неофициальные «клоны» по еще более привлекательным ценам, например – Orange Pi. Приобрести это поделие китайских инженеров (кстати, весьма неплохое по качеству), можно в районе полторы тысячи рублей с доставкой в Россию. При этом, большинство софта, написанного под «малинку», отлично работает и на «апельсинке».   

Skillbox

Будущие

iOS-разработчики

, обучаясь на уровне 1, изучают 17 тем. Среди них переменные и константы, управление потоком данных, функции, Xcode, UI-компоненты, анимация, обзор iTunes connect. Уровень 2 — это более глубокое погружение в разработку, где предстоит изучение Rх-библиотек, особенностей асинхронного программирования, «фишек» языка Objective С и паттернов проектирования, а также создание скайнета, редактирование видео- и фотоконтента.

На данный момент на Сикллбокс предлагают еще два вида обучения по теме с помощью в трудоустройстве:

Geekbrains

Sphero bolt

В статье про гаджеты для фанатов Star Wars я уже упомянул пластиковых «колобков» Sphero, управляемых со смартфона. Это отличные игрушки как для детей, так и для взрослых, и даже для их домашних питомцев.

Но в Sphero решили, что фокус на простой «развлекухе» и бесцельных играх не приведут компанию в долгосрочной перспективе к хорошим бизнес-показателям, потому что игрушкам свойственно надоедать. А вот обучение и контракты с образовательными учреждениями – дело совершенно другое.

Подумали, да и сделали одного из своих «колобков» прозрачным (чтобы было видно внутреннее устройство), и поддающимся дрессировке, то бишь программированию. Модель назвали SPRK и начали договариваться с различными школами и кружками о том, чтобы дети учились программированию и азам робототехники на этих устройствах. После этого была модель SPRK , а самым последним творением американской компании стала модель Bolt.

И надо сказать, роботы получились весьма неплохим именно с образовательной точки зрения. Прозрачный дизайн (у них даже зарядка прозрачная!) действительно может наглядно показать внутреннее устройство игрушки без необходимости её разбора.

У версии Bolt, по сравнению со старыми, добавились дополнительные датчики (ИК, датчик света, магнитный датчик) и светодиодный матричный дисплей внутри. Но все-таки главное преимущество здесь в фирменном приложении Sphero Edu – оно позволяет юным программистам составлять простейший «код» на визуальном языке Scratch, а также писать настоящий код на очень распространенном языке Javascript.

Поле для возможностей здесь довольно обширное. Благодаря богатому набору датчиков и возможности двигаться абсолютно в любом направлении на плоскости, роботы Sphero являются отличным первым шагом для дальнейшего освоения инструментов с ЧПУ (числовым программным управлением): станков, граверов, 3Д-принтеров, и так далее.

Гаджет:  Мясников объяснил связь между гаджетами и риском рака // Смотрим

Для старта в проектировании беспилотного наземного транспорта подобный опыт тоже будет полезен. А если у вас есть несколько Bolt, то вы можете научить их «общаться» посредством ИК-излучателя и приемника.  Да и встроенный экранчик не будет лишним – на него можно выводить интересную анимацию и соотносить ее с движением, что уже создает задачу для юных проектировщиков интерфейсов. Кстати, к телефону устройство подключается по Bluetooth, здесь ничего нового.

Игрушку можно официально купить в России у некоторых крупных ритейлеров, и даже в онлайн-магазине Apple. Но если хочется сэкономить, то лучше все-таки приобрести его на площадке Amazon – с доставкой в Россию такой обойдется около 10 тысяч рублей. К слову, роботы BB-8, BB-9E и R2D2 из прошлой подборки про Star Wars тоже совместимы с приложением Sphero Edu, хоть и имеют меньше возможностей по программированию.

Вне категории

Storyteller
  1. Binpress — рынок для покупки скриптов и компонентов для разработки.
  2. UploadCare — сервис для загрузки и хранения кода.
  3. Eden — библиотека PHP для быстрого прототипирования.
  4. Appbackr — краудфандинговая платформа для мобильных приложений.
  5. Modkit — программирование для чего угодно.
  6. Hosted Graphite — информация в виде понятных графиков и диаграмм.
  7. Divshot — создание интерфейсов для веб-приложений. Быстрое прототипирование на HTML 5.
  8. Expanz — помогает с разработкой приложений для бизнеса.
  9. RepoDrop — приватный репозиторий для кода.
  10. Architexa — помогает понять сложные части кода в Java.
  11. Coder Bounty — устанавливайте награду за решение проблем в коде.
  12. Last5 — отслеживание времени и продуктивности для разработчиков.
  13. XtGem — система для создания сайтов.
  14. uTest — тестирование приложений.

За сколько можно стать android—разработчиком

Насколько быстро можно овладеть профессиональными навыками, зависит от формы обучения. В вузе на программах бакалавриата учатся 4 года, на программах специалитета — 5 лет. 

Длительность обучения на онлайн-курсах зависит от образовательной программы и набора компетенций, который получит выпускник. У каждой программы обучения есть свои особенности и дополнительные преимущества. При выборе курсов обращайте внимание не только на содержание программы, но и на бонусы, которые важны именно вам.

Сравним несколько программ обучения:

Курс

Чему научат

Длительность, мес.

Стоимость, руб.

«Разработчик Android. Углублённый уровень» от Otus Писать качественный код, проектировать архитектуру и обеспечивать безопасность работы приложения

5

65 000

«Андроид разработчик» от НетологииПроектировать приложения на Java и Kotlin, адаптировать интерфейсы, использовать push-уведомления, геолокацию и инструменты машинного обучения

10

70 740

Профессия «Андроид-разработчик 2021» от Skillbox Программировать на Kotlin, проектировать экраны и программировать логику приложений,  делать необычные переходы в приложении, тестировать работу приложения и релизить свои проекты в Google Play

20

145 440

Интеграция и развёртывание

Travis CI
  1. Travis CI — интеграция и развёртывание для мобильных приложений.
  2. CircleCi — интеграция и развёртывание для веб-приложений.
  3. Railsonfire — интеграция и развёртывание для софта на Ruby.
  4. Wercker — платформа для создания и интеграции приложений.
  5. Hostedci — интеграция и развёртывание для приложений на iOS и OS X.

Как я стал android-разработчиком

«Я закончил колледж по специальности «Информационные системы и сети» в 2021 году. Четыре года работал системным администратором в налоговой инспекции. Но перспектив там у меня никаких не было, зарплата не зависела от нагрузки, зато нагрузка росла постоянно. Начинать своё дело мне было не на что, так что оставалось или дальше «тянуть лямку» или переучиваться

Я решил переучиваться и осваивать программирование на языке Java. Сначала самостоятельно, по учебникам в интернете. Потом закончил дистанционные курсы, после которых мне и ещё нескольким выпускникам предложили стажировку — нужно было поучаствовать в создании мобильного приложения для банка. Вот здесь я и познакомился с настоящими профессионалами

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

Сейчас я зарабатываю плюс-минус 80 000 руб. в месяц и это не предел. Знаю ребят, которые и по 200 000 руб. получают. Так что мне ещё есть куда стремиться. Сейчас планирую освоить Kotlin, потому что есть перспектива устроиться в одну зарубежную компанию, но нужны дополнительные навыки.  Ещё ни разу не пожалел, что сменил профессию» 

Игорь, системный администратор, программист Java

Книги для юных программистов: изучаем язык, пишем игры и укрощаем гаджеты — папамамам — миф

Олеся Ахмеджанова
Олеся Ахмеджанова

Программисты — крутые. Они делают такие штуки, от которых дух захватывает: пишут программы, приложения, двигают планету вперед. И сегодня у них праздник. Поздравляем!

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн
Источник

Мы приготовили подборку книг для подрастающего поколения — детей, которые уже лучше нас разбираются в технологиях. Эти книги помогут освоить язык программирования, написать парочку веселых игр и провести время за гаджетами с пользой.

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн

«Swift для детей» рассказывает, как написать приложения для iPhone, iPad или iPod touch. Swift — это язык, на котором пишут все мобильные приложения для Apple. В книге авторы объясняют основы, с помощью которых школьники смогут сделать самостоятельно программу, которая напоминает о днях рождениях друзей, и напишут анимированную игру.

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн

Книгу выпускается совместно с издательством Nostarch. Nostarch — это специалисты, которые легко и понятно рассказывают про сложные технические темы: кодирование, веб-дизайн, компьютерную безопасность.

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн

Книга знакомит с популярным языком программирования Python, предлагая читателю постигать его на практике. Чтобы делать это было интереснее, авторы приводят примеры интересных программ, дают к ним блок-схемы, примеры кода и пошаговые инструкции.

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн

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

В книге много примеров, однако авторы призывают ребенка придумывать и собственные апгрейды.

Такая тренировка подарит уверенность в своих силах и желание создавать собственные уникальные программы.

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн

Книга написана для детей от 10 лет, а также всех, кто хочет начать программировать с нуля или не мыслит жизни без Minecraft. Она позволит творить эти и многие другие чудеса с помощью Python — языка программирования, которым пользуются миллионы людей — от профи до новичков!

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн

Изучая книгу, читатель:

— научится сохранять в переменных разные типы данных;

— освоит принцип действия функций;

— узнает, как проверять условия при помощи булевых значений, операций сравнения и логических операций;

— познакомится с циклами while и for;

— поработает со списками, кортежами и словарями;

— научится создавать файлы, записывать и считывать из них данные;

— поймет, в чем прелесть объектно ориентированного программирования.

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн

Ещё один самоучитель по одному из самых востребованных на сегодняшний день языков программирования — Python. Начиная с самых простых действий, шаг за шагом ребенок будет постигать тонкости этого языка. Свои знания можно сразу проверить — на забавных примерах и уморительно смешных заданиях, справиться с которыми помогут прожорливые монстры, секретные агенты и воришки-вороны.

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн

Читатель узнает, как использовать основные элементы Python — списки, функции, модули. Научится рисовать при помощи встроенных инструментов, анимировать изображения.

А также напишет настоящие игры — «Прыг-скок!» и бродилку «Человечек ищет выход», где нужно прыгать по платформам, чтобы добраться до выхода.

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн

Scratch — простой, понятный и невероятно веселый язык программирования для детей. В нем нет кодов, которые нужно знать назубок и писать без ошибок. Все, что требуется, — это умение читать и считать. Как из конструктора, при помощи Scratch можно собирать программы из разноцветных «кирпичиков» — блоков.

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн

В программу можно вносить любые изменения в любой момент, и сразу видеть, как она работает. Подробные объяснения, разобранные по шагам примеры и множество упражнений помогут освоить Scratch без труда.

Эта книга подойдет детям от 8 лет (и их родителям!), а также всем, кто хочет научиться программировать с нуля.

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн

Эта книга подойдет тем, кому еще нет 10 лет. Она пошагово учит создавать свои программы на Java. Обучение проходит весело: примеры сопровождают смешные иллюстрации. В конце книги — рекомендации о том, куда можно развивать полученные навыки и как использовать язык.

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн

Английские термины, которые встречаются в программировании, вынесены на поля. Это делает книгу крайне удобной в использовании и помогает учить язык. Самое интересное — ребенок сможет сам написать игру. Например, «Змейку» или «Виселицу».

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн

Иллюстрированный, подробный и интересный справочник рассказывает, что такое скрипты, какие бывают языки программирования и чем они отличаются. Прочитав книгу, школьник сможет создать собственные игры: например, игрушки «Убеги от дракона!», «Бешеные обезьяны» и «Дом с привидениями».

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн

В книге вы найдете:

  • Описания возможностей программных языков.
  • Простые инструкции по созданию игр и анимации.
  • Многочисленные советы и рекомендации от программистов.
  • Полезную информацию об устройстве компьютера.

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн

Роботы окружают нас везде — дома, в школе и на улице, в офисах и больницах, в небе и на земле. Они помогают человеку, но мало кто знает, как роботы устроены.

Отправляйтесь в путешествие по истории робототехники — от подающих чай кукол в древней Японии до современных марсоходов.

Гаджет:  Гаджет слежения за компьютером и системой Computer Status

Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн

Вы узнаете, кто придумал первого робота, чем робот отличается от дрона, как устроены простые и сложные домашние помощники, как работает марсоход, как запрограммировать робота и многое другое. А главное, эта книга может стать вдохновением для нового поколения инженеров и программистов роботов!

Обложка freepik

Коротко о главном

  • Андроид-разработчик создаёт программы и приложения для мобильных устройств, Smart TV, гаджетов и ноутбуков, которые работают на операционной системе Android
  • Чтобы стать андроид-разработчиком, нужно пройти обучение — самостоятельно, в вузе, колледже или на специализированных курсах. 
  • Андроид-разработчик должен знать языки программирования Java и Kotlin, уметь работать в среде Android Studio, проверяет качество написанных программ в Git, тестировать приложения, разбираться в дизайне и следить за новыми тенденциями.
  • На учёбу в вузе уйдёт около пяти лет, на онлайн-курсах можно обучиться базовым навыкам за полгода.

Кто такой android-разработчик и чем занимается

Андроид-разработчик создаёт программы и приложения для Smart TV, гаджетов и ноутбуков, смартфонов от крупных брендов, например, Samsung, Huawei, Xiaomi, и других телефонов, которые работают на операционной системе Android. 

Профессиональные обязанности разработчика включают:

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

В зависимости от сложности поставленной задачи андроид-разработчик может работать над проектом сам или в составе команды. 

Коллективы разработчиков обычно создают сложные программные продукты для банковской сферы, а ПО для фитнес-браслетов или простенькая мобильная игра по силам и одному андроид-разработчику

Обратная связь, мониторинг и багтрекинг

Crashalytics

Обучение программированию

Treehouse

Пишем гаджет windows sidebar с нуля

Недавно мне понадобилось создать гаджет для Windows Sidebar. Навыков в этом у меня не было, поэтому, немного погуглив и почитав

документацию

, приступаем.

Сразу покажу то, что получилось в итоге
Топ 14 лучших онлайн-курсов разработки мобильных приложений - Все Курсы Онлайн

Гаджет будет получать информацию с сайта в виде xml, парсить и, собственно, отображать. Также гаджет будет проверять наличие новых версий, и в случае их присутствия, отказываться работать 🙂
Изначально, ради получения опыта, хотел написать гаджет полностью на VBScript (так как с ним еще не имел дела), но в конечном итоге пришлось делать вставки на JavaScript.
Перейдем непосредственно к коду. Весь код здесь я рассматривать не буду, покажу лишь основные моменты. Ссылка на готовый гаджет – в конце статьи.
Главный файл гаджета – его манифест – файл Gadget.xml. Он должен называться именно так и располагаться в корне нашего архива (гаджет есть ни что иное, как архив ZIP с расширением .gadget).

<?xml version="1.0" encoding="utf-8" ?>
<gadget>
 <name>Weather from Info.Denms.Ru</name>
 <version>1.0.1232</version>
 <hosts>
  <host name="wdenms">
   <base type="HTML" apiVersion="1.0.0" src="main.html" />
   <permissions>Full</permissions>
   <platform minPlatformVersion="1.0" />
  </host>
 </hosts>
  <icons>
    <icon width="64" height="64" src="icon.png" />
  </icons> 
 <author name="cvs">
  <info url="http://info.denms.ru" />
 </author>
 <description>Weather Widget (Info.Denms.Ru)</description>
</gadget>

Рассмотрим его более подробно.
Элемент <base> должен содержать apiVersion, равный 1.0.0 (на данный момент), а также атрибут src, в котором указан главный файл нашего гаджета;
<permissions> — разрешения для гаджета. Устанавливаем равным full;
<platform> — минимальная версия Widows Sidebar. На данный момент – 1.0;
Параметры <name> — имя гаджета, <version> — версия, <author> — информация об авторе, <info> — ссылка на страницу с гаджетом, <icon> — иконка гаджета и <descrtiption> будут отображаться на панели установленных гаджетов.

Файл main.html – обычный html файл, приводить его полностью не буду, остановлюсь лишь на некоторых моментах.
С помощью элемента g:background задается фон гаджета. Сделаем его прозрачным.

<g:background id="background" style="position:absolute; z-index:-1; top:0; left:0;" opacity="0"></g:background>

Гаджет может находиться в двух состояниях – docked (слева на скрине выше), и undocked (справа). Будем хранить текущее состояние гаджета в переменной JavaScript docked.

<SCRIPT Language="VBScript">
'Вызов функции JavaScript из области VBS
function isDocked
    isDocked = isDockedJS()
End Function    
</script>
<script src="main.vbs" type="text/vbscript"></script>

<SCRIPT Language="JavaScript">
    docked = 0;
    function isDockedJS() { 
      return docked;
    }
</SCRIPT>
<script type="text/javascript" src="main.js"></script>

Функция-обертка isDocked потребуется нам в дальнейшем, чтобы из VBScript узнать текущее состояние гаджета (как я не старался, но реализовать это на чистом VBScript не смог). Еще одно замечание – скрипты корректно работают именно в этом порядке, т.е. сначала описываем скрипты VBScript, потом JavaScript.

Остальные элементы в main.html представлены элементами DIV с абсолютным позицированием. Впоследствии из скриптов мы будем обращаться к ним по их id.

  <div id="small_needupdate"></div>

С помощью JavaScript зададим состояния docked и undocked для гаджета, а так же укажем файл настроек (main.js)

System.Gadget.onDock = resize;
System.Gadget.onUndock = resize;
System.Gadget.settingsUI = "settings.html";
System.Gadget.onSettingsClosed = SettingsClosed;

docked=0; //начальное состояние гаджета
resize(); //инициализация

Как видно из листинга выше, при смене состояний гаджета будет вызываться функция resize().

function resize() {

 bd = document.body.style;
 System.Gadget.beginTransition();

 if (System.Gadget.docked) {
   // small state
    bd.width=148;  //устанавливаем размеры гаджета
    bd.height=201;
    docked = 1;
    bd.background='url(images/gadget.png) no-repeat'; //устанавливаем фон
   //далее следует перенос значений из состояния undocked в docked и обнуление элементов для состояния undocked
    document.getElementById("small_needupdate").innerHTML = document.getElementById("big_needupdate").innerHTML;
   document.getElementById("big_needupdate").innerHTML = "";
   //...
} else {
    // big state
    bd.width=230;
    bd.height=160;
    bd.background='url(images/gadgeth.png) no-repeat';
    docked=0;
    //перенос значений из состояния docked в undocked и обнуление элементов для состояния docked
   document.getElementById("big_needupdate").innerHTML = document.getElementById("small_needupdate").innerHTML;
   document.getElementById("small_needupdate").innerHTML = "";
   //...
}
System.Gadget.endTransition(System.Gadget.TransitionType.morph,1);
}

Также можно описать функцию сохранения настроек. В моем гаджете их нет, но для примера покажу как это делается

function SettingsClosed(event) {
 if (event.closeAction == event.Action.commit) {
  //alert System.Gadget.Settings.readString('test');
 }
}

readString – читает ранее сохраненную строку, writeString, соответственно, записывает.
Методы System.Gadget.beginTransition(); и System.Gadget.endTransition(); нужны для “плавного» изменения размера гаджета. В Windows Seven они игнорируются, но я все же оставил их для обратной совместимости.

Как уже говорилось выше, сервер предоставляет нам информацию о погоде в формате xml.

<?xml version="1.0"?>
<all>
  <day id="today">
  <temp>1.7</temp>
  <cloudyim>41</cloudyim>
  <cloudy>пасмурно</cloudy>
  <air>снег</air>
  <humidity>87</humidity>
  <wind_direction>Ю-З</wind_direction>
  <wind_speed>5</wind_speed>
  <min>-3</min>
  <max>-1</max>
</day>
<day id="ПТ">
  <min>-1</min>
  <cloudyim>26</cloudyim>
  <max>1</max>
</day>
  <day id="СБ">
  <min>-9</min>
  <cloudyim>41</cloudyim>
  <max>0</max>
</day>
…
</all>

Скачивать и парсить xml будем на VBScript.

Sub DownloadXML2
    Set objXML = CreateObject("Microsoft.XmlHttp")
    objXML.Open "GET", "http://info.kovonet.ru/weather.xml", True
    objXML.OnReadyStateChange = GetRef("objXML_onreadystatechange")
    objXML.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
    objXML.Send
    iTimeoutID = window.SetTimeout("mySleep", 1000)
End Sub

Функция mySleep будет проверять наше соединение на таймаут.

Sub mySleep
  if bRespReceived = "false" then 'ответ еще не получен
    iTimeout = iTimeout   1
    if (iTimeout > 30) then  'таймаут
       timerFirstRun = window.SetTimeout("Update", 60000) 'попытка повторного обновления через минуту
    else 'таймаут еще не достигнут, продолжаем считать секунды
      iTimeoutID = window.SetTimeout("mySleep", 1000)
    end if
   end if
End Sub

В случае успешного скачивания objXML.readyState будет равен четырем, а статус (objXML.status) вернет значение 200.

Function objXML_onreadystatechange()
  If (objXML.readyState = 4) Then
    'msgbox objXML.statusText
    If (objXML.status = 200) Then
      bRespReceived=true
      SaveFile(objXML.responseText)
    else 
      timerFirstRun = window.SetTimeout("Update", 60000) 'попытка повторного обновления через минуту
    End If
  End If
End Function

В этом случае сохраняем файл во временную папку Windows

Function SaveFile(what)
  Set fso = CreateObject("Scripting.FileSystemObject")
  tempFolder = fso.GetSpecialFolder(2)
  filepath = tempFolder "weather.xml"
  Dim fso1, tf
  Set fso1 = CreateObject("Scripting.FileSystemObject")
  Set tf = fso1.CreateTextFile(filepath, True, True)  'rewrite, unicode
  tf.Write(what) 
  tf.Close
  ParseXML
End Function

и начинаем парсить файл.

Sub ParseXML
  Set fso = CreateObject("Scripting.FileSystemObject")
  tempFolder = fso.GetSpecialFolder(2)
  filepath = tempFolder "weather.xml"
  Set xmlDoc = CreateObject("Msxml2.DOMDocument") 
  xmlDoc.async="false"
  xmlDoc.load(filepath)
  'главная нода – в нашем случае <all>
  Set currNode = xmlDoc.documentElement
  'дни недели – <day>
  Set dayNode = currNode.firstChild
  While Not dayNode Is Nothing
    Set currNode = dayNode.firstChild
    While Not currNode Is Nothing
      if currNode.parentNode.getAttribute("id") = "today" then 'сегодняшний день
      if currNode.nodeName = "temp" then document.getElementById(prefix "maintemp").innerHTML = currNode.childNodes(0).text Chr(176)
      'отображаем остальные элементы
    Else 'не сегодняшний день, отображаем более мелко
      '...
    end If
    Set currNode = currNode.nextSibling
    Wend
  Set dayNode = dayNode.nextSibling
Wend
End Sub

Проверка на новые версии производится точно таким же способом.
Не забываем создать файл настроек — settings.html, о существовании которого мы объявили выше.

<html>
 <head>
  <title>Настройки</title>
  <style type="text/css">
  body { width:220px; height:120px; }
  </style>
 </head>
 <body>
  <div style="text-align:center">
   <strong>Weather from Info.Denms.Ru<br/><script type="text/javascript">document.write(System.Gadget.version);</script></strong><br/>
   © cvs, 2021<br/>
   <a href="http://info.denms.ru">http://info.kovonet.ru</a><br/><br/>
  </div>
 </body>
</html>

Вот, собственно, и все. Буду рад, если моя (первая :)) статья оказалась кому-то полезной.

Использованные источники:
http://www.script-coding.com/XMLDOMscripts.html;
http://msdn.microsoft.com/en-us/library/bb508511(v=VS.85).aspx;
VBScript Programmers Reference, 3rd Edition;
ну, и, конечно, http://google.com.

Ссылка на гаджет – http://info.kovonet.ru/test.gadget.

Платформы для разработки

Heroku

Разное

AppNeta

Разработка игр

Viximo
  1. Viximo — платформа для дистрибуции социальных игр.
  2. XNA — инструменты для разработки игр от Microsoft.
  3. Yodo1 — платформа для дистрибуции игр в Китае.
  4. Game Closure — SDK для игр на JavaScript.
  5. FTW — синхронизация сохранений, счёта и друзей между устройствами.
  6. Storybricks — создание собственной MMO.
Гаджет:  Змеиный гаджет" - читать онлайн бесплатно, автор Дарья Донцова | Флибуста

Разработка мобильных приложений

Codiqa
  1. AppCooker — генератор мокапов для мобильных приложений.
  2. Apptentive — обратная связь для мобильных приложений.
  3. AppCod.es — SEO и маркетинг в App Store.
  4. Chupa Mobile — рынок для компонентов мобильных приложений.
  5. Appboy — аналитика, CRM и прочее.
  6. Flurry — аналитика, трафик и монетизация.
  7. Octopod — платформа для разработки мобильных приложений.
  8. Little Eye — слежение за потреблением батареи для приложений на Android.

С чего начать

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

Что касается профессиональных компетенций, то освоить их можно несколькими способами.

Самостоятельное обучение. В сети есть литература, специализированные сайты и ютуб-каналы и бесплатные курсы для начинающих разработчиков. Самостоятельный путь — самый сложный и длительный. Они помогут разобраться в теории, но чтобы разобраться во всех тонкостях android—разработки без наставников, уйдут годы кропотливого труда.

Высшее образование. Можнообучитьсяпо специальностям «Программирование и цифровые технологии», «Программирование и интернет-технологии» и «Технологии разработкимобильныхприложений». 

Обучение в вузе или колледже даст фундаментальные теоретические знания и необходимый объём практики. Но стоит учитывать, если у абитуриента уже есть высшее образование, то второе он сможет получить только платно. Не в каждом городе есть учебные заведения с подобным профилем, а обучение занимает несколько лет и практические навыки, которые дают здесь, зачастую устаревают раньше, чем выпускники успеют ими воспользоваться.

Онлайн-курсы. На бесплатных курсах можно разобраться, подойдёт ли вам профессия, познакомиться с терминологией и принципами программирования, изучить языки и освоить программные среды.

Вот что могут вам дать платные курсы android—разработки:

Курсы андроид-разработки есть в нескольких вариантах — для новичков, начинающих разработчиков и профессионалов, повышающих квалификацию.

В подборке «ТОП-8 курсов по андроид-разработке» вы подробно познакомитесь с лучшими программами обучения, их особенностями и  узнаете об актуальных акциях и скидках 

Системы контроля версий

GitHub
  1. GitHub — хостинг для IT-проектов.
  2. Pixelapse — сервис, который показывает, как выглядел код в прошлых версиях.
  3. Bitbucket — бесплатный хостинг для кода.
  4. Versions — Mac-клиент для сервиса Subversion.
  5. SourceTree — бесплатный Mac-клиент для систем Git и Mercurial.
  6. OFFSCALE — управление версиями баз данных.
  7. Tower — Git-клиент для Mac.

Смотри и учись

Среди нескольких видеокурсов по созданию mobile apps, предлагаемых платформой Смотри и Учись, на общем фоне выделяется

лекторий

Павла Лебедева — российского топ-эксперта по маркетингу. Отличается как манера подачи материала, так и его направленность. В курсе нет сложных технических составляющих, скорее, ощущается неожиданный уход в область аналитики и психологии. Спикер рассказывает, в частности, о том, почему отдельные многообещающие мобильные приложения не стали популярными, об альтернативах mobile apps, выборе платформы для их создания и поведении пользователей, использующих гаджеты.

Топ 14 лучших онлайн-курсов разработки мобильных приложений

Говоря о мобильных устройствах, большинство рядовых пользователей подразумевает под таковыми смартфоны, смарт-часы, фитнес-браслеты и планшеты. Однако представители IT-индустрии легко расширят этот список в несколько раз, дополнив его компонентами интернета вещей или исследовательских систем на базе компактных гаджетов, разноплановыми научными аппаратами и не только.

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

Однако знаний, которыми они должны обладать, также потребуется огромный, регулярно обновляемый багаж. В отличие от программирования иных направленностей, создавать mobile apps в обычных вузах практически не учат. Эту образовательную брешь заполнили интернет-площадки, предлагающие получить соответствующие навыки в онлайн-формате.

Управляемые модели lego

А еще в той же подборке мы рассмотрели набор LEGO, тоже посвященный Звездным Войнам. Этот набор, как и другие из линейки Boost, позволяет собирать различные движущиеся модели роботов, машин и даже гитару. Этими моделями можно управлять со смартфона, и даже программировать их на выполнение простейших задач, предусмотренных конкретной моделью.

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

Но если простейшие задачки для незамысловатых роботов вашему ребенку уже не подходят, то у LEGO есть более подходящая серия – Mindstorms. Это название известно, пожалуй, любому уважающему себя гику, и вполне возможно, что при покупке такого набора играть им чаще всего будет именно родитель, а не ребенок.

Текущее поколение этой серии имеет название EV3, и хотя изначально он поставляется как набор для сборки конкретного робота, здесь на самом деле нет никаких ограничений. Свобода, как в обычном LEGO, только с «умным» функционалом : хочешь, строй железную дорогу с поездами, идущими по расписанию, а хочешь – бульдозер, автоматически собирающий в кучу все предметы, что он видит на полу.

Или ходячую собачку, наподобие Sony Aibo. Или еще что угодно – конструктора здесь ограничивает только воображение и количество деталек. К слову, детальки здесь совместимы с «обычным» LEGO, так что не обязательно покупать каждый раз такие наборы для создания больших конструкций.

Школа ios-разработчиков

Среди опубликованных видео есть блоки лекций о программировании в Xcode, языке Swift, паттернах проектирования, особенностях выполнения тестовых заданий для заказчиков. Самый объемный плейлист включает многие десятки ответов на вопросы разработчиков — начинающих и опытных.

Смотри и учись

Среди нескольких видеокурсов по созданию mobile apps, предлагаемых платформой Смотри и Учись, на общем фоне выделяется

лекторий

Павла Лебедева — российского топ-эксперта по маркетингу. Отличается как манера подачи материала, так и его направленность. В курсе нет сложных технических составляющих, скорее, ощущается неожиданный уход в область аналитики и психологии. Спикер рассказывает, в частности, о том, почему отдельные многообещающие мобильные приложения не стали популярными, об альтернативах mobile apps, выборе платформы для их создания и поведении пользователей, использующих гаджеты.

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

Заключение, или немного о здравом смысле

Словосочетание «войти в айти» уже успело стать мемом. Модные профессии, связанные с разработкой, пытаются освоить все: и стар, и млад. И когда у взрослых не получается стать программистом или дизайнером интерфейсов, они направляют свои усилия на то, чтобы уж хотя бы их дитятко в этой области преуспело.

Зачастую родители ведут своих детей в подобные кружки, даже не задумываясь о том, а нужно ли это ребенку, и хочет ли он этого. Как заведенные, они твердят мантры о том, что «у программистов зарплаты высокие» и «за этим будущее». Люди с более широким кругозором даже приводят в пример слова Стива Джобса о том, что каждый человек должен учиться программированию, чтобы научиться «думать».

Да вот только эти люди не вспоминают, что Стив сказал сразу после: «Это как учиться юриспруденции. Не все люди после этого должны становиться юристами, но это учит вас думать по-особенному». И да, многие знают, что из «двух Стивов» (Джобс и Возняк) как раз-таки Джобс был не силен в программировании. Что не помешало ему стать значимой персоной.

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

https://www.youtube.com/watch?v=5Z1gfgM7kzo

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

Оцените статью
GadgetManiac
Добавить комментарий