- О том, как я написал простое приложение для Android/iOS
- План и подготовка
- Android
- Публикация в Google Play
- Публикация в iOS
- Выводы
- 13 популярных эмуляторов Android и iOS для Windows, MAC и Online
- Appetize
- LambdaTest
- Genymotion
- Sauce Labs
- AWS Device Farm
- Bluestacks
- Android Studio
- Redfinger
- BrowserStack
- iPadian
- RunThatApp
- Последнее слово.
О том, как я написал простое приложение для Android/iOS
Хочу сразу отметить, что это не статья от профессионала, скорее взгляд любителя на мобильную разработку, скажем так, «с нуля». Мое основное занятие — это создание сайтов. В данное время я работаю у провайдера интернета и занимаюсь поддержкой внутреннего биллинга/сайта и так далее (PHP и немного Perl), довольно скучное занятие, скажу я вам. В общем, я обычный провинциальный «программист».
В один прекрасный момент у руководства компании возникла идея сделать мобильное приложение для iPhone, которое могло бы показать баланс пользователю, его статус, возможность взять «обещанный платеж», фактически, дублирование личного кабинета, но чтобы приложение. Не зная про мобильную разработку совсем ничего, идею воспринял с большим энтузиазмом, потому что всегда приятно делать/узнавать что-то новое, думаю, это у всех так.
Придя на работу в один из серых скучных дней, я решился и написал в поиске Google «как сделать мобильное приложение». Это было очень наивно. Кажется, я даже попробовал задать вопрос на Toster, «с чего начать разработку под мобильные приложения», тогда я еще не понимал насколько глупым воспринимается этот вопрос профессионалами.
Довольно быстро я разделил для себя разработку на две части, это был Android и iOS, потому что они совсем разные (поиск подсказал.
Как-то я наткнулся на Phonegap, насколько я понял, пишем на Javascript+html+css, а потом получаем готовое приложение для Android/iOS, но почему-то мне не хотелось пользоваться подобными решениями, во-первых: были непонятные отзывы, кто-то хвалил, кто-то ругал, а во-вторых: мне хотелось попробовать как это изнутри, каково это сделать «нативное» приложение.
План и подготовка
Собственно, идея довольно проста:
- Логин экран с логином/паролем
- Основной экран с информацией об абоненте (ФИО, № договора, баланс, статус (Активен, Отключен), есть ли авария на доме, кнопка Активировать обещанный платеж
- Экран с платежами (зачисления на счет)
- Экран со списаниями по счету
Для функционирования приложения я написал простейшее API на PHP, скрипт который по определенному запросу отвечал строкой в JSON-формате. Сделать это оказалось элементарно.
Начать решил с Android.
Android
Начал я с установки Android Studio, первоначально смутило количество кнопочек/иконок, но за пару дней я уже был как рыба в воде. Для начала надо было понять как вообще делаются приложения, очень помогает изначальное «Hello world!» которое создается по-умолчанию. Выглядело все достаточно просто и понятно. Погуглив «Как начать разработку в Android Studio», я понял, что надо скачать SDK. Открыв SDK-manager я не понял вообще ничего, ну, точнее, не понял что именно надо делать, поэтому поставил все галочки и ждал пока все скачается. Для чего оно мне нужно я совсем не понимал, общее представление конечно было «чтобы работала поддержка такой-то версии», но почему надо все отдельно качать и выбирать среди сотен галочек — бррр.
Вторым достаточно сложным этапом было запустить приложение на симуляторе. Погуглив, пришлось повозиться с AVD, конечно, потыкашись как слепой котенок я сделал несколько виртуальных устройств. На одном даже запустилось приложение. Честно сказать, симулятор у Android Studio совсем не User-friendly, очень долго я с ним воевал, пытался запускать по-разному, хотел чтобы кнопки управления были на экране и работали, но почему-то не работали. Видимо, сказывалось отсутствие опыта.
Как оказалось, для Android пишут на Java. Про Java я знал только то, что это язык программирования и это не Javascript.
Решил разбить большую задачу на более мелкие.
Теперь возникла ситуация когда у меня, в принципе, все готово, но я не знал как вообще делается приложение, поэтому, погуглив, я понял что никакой нормальной информации на русском языке мне не найти (либо я плохо искал). Информация либо устаревшая, либо не то что мне требуется. Спас меня youtube и знание английского языка. Сделав несколько запросов в ютюбе можно найти массу информации, да еще и с самим процессом — это очень помогло, если бы не обучающие видео, думаю, приложение я бы делал несколько месяцев.
Выбирая минимальную версию Android я остановился на 4 что-то там 🙂 (Охват аудитории 90%+ если верить Google).
Опять же разбив свои задачи на более мелкие я искал туториалы в youtube, например: «how to get json in android» или «menu in android studio». Конечно, пришлось пересмотреть штук 30 разных видео и все они были на английском (одно на немецком и одно на китайском — когда показывают не так сложно самому дойти что же говорят :)).
Разработка под Android заняла примерно неделю с момента установки Android Studio. После чего отобрав планшет у сына я смог протестировать свое приложение на реальном устройстве — просто подсоединив его к компьютеру.
Публикация в Google Play
Сначала я думал что будет очень сложно и даже переживал, но как оказалось всего 25$ и фактически без каких-либо серьезных проверок приложение попало в Google Play и через несколько часов было доступно в поиске, публикация заняла около одного дня.
Отдохнув пару дней и поразмыслив, решил что пора реализовать тоже самое приложение под iOS. Но, оказалось, что бесплатная среда разработки xCode может быть запущена исключительно в среде Mac. Пришлось скачать образ виртуальной машины MAC OS Yosemite и запустить ее через VMWare. Сделать это было очень просто и фактически не требовало от меня никаких телодвижений кроме как «ждать».
После чего я скачал xCode и начал разбираться, дело пошло быстрее, так как разработка под мобильные устройства что для Android, что для iOS примерно схожа в своих идеях.
Язык программирования выбрал Swift. Версию iOS минимум 7.1+
В принципе разработка под iOS была более простой, хотя баги симулятора присутствовали, но весь процесс оказался более удобным, нежели под Android. Опять же я открыл youtube и смотрел видео/читал руководства о том, как сделать какую-то вещь. Например, нагуглил прекрасный скрипт который делает slide menu, которого у меня не было в Android. В общем, еще один марафон и за неделю было готово улучшенное приложение, добавил возможность пополнить счет с помощью карты предоплаты и совместил платежи/списания в одно окно.
Использовал тоже самое API (тот же скрипт, что и для Android).
Публикация в iOS
Тут все оказалось не так радужно и просто как в Android. Во-первых, оказалось, что мне требуется реальное устройство для тестирования приложения, а без него никак не опубликоваться. Пришлось искать iPhone и привязать его к профилю тестирования.
Опять же, при создании аккаунта был выбор между «компания» и «индивидуальный разработчик», но начитавшись страшилок про 4+ месяца проверки компаний я решил регистрироваться как индивидуальный разработчик. Сделать это было не сложно, главное оплатить 99$ за аккаунт разработчика iOS со своей кредитной карты чтобы имя совпадало (подсказал поиск). Платеж проходил 2 дня.
После чего пришлось искать целое видео «how to publish in app store» и следовать инструкции, настолько там все непонятно. Какие-то сертификаты, туда — сюда. В общем, не очень удобно, хотя и сделать надо лишь один раз :).
Приложение ушло на проверку и ждало очереди около полутора недель. После чего было принято. Кстати, как показали логи, проверка была примерно такая: Логин -> Баланс -> Платежи -> Баланс. И все, хотя была еще страница «Пополнить баланс», но ее не проверяли (а зря, я там накосячил и пришлось выкладывать новую версию программы 1.1 которую тоже проверяли больше недели).
Выводы
1. Как оказалось это не сложно даже для человека который никогда не использовал Java/Swift/Mac OS.
2. Много новой информации заставляло мой мозг просто переполняться в первые дни и зависать. Помогал только сон, после него я более четко понимал что делать дальше. Не надо бояться таких этапов. Иногда мне казалось что «я вообще ничего не понимаю», были ощущения что я бьюсь головой в бетонную стену. Но на следующий день я решал проблему. Например, в Android, в самом начале у меня возникла ситуация «ничего не работает», когда я подключался к серверу и должен был получать информацию, оказалось, надо было это делать в асинхронном потоке. Потратил целый день.
3. Очень быстрое устаревание руководств/видео уроков. Платформы настолько быстро развиваются, что надо сразу проверять актуальность информации. На русском языке ее очень мало, после нескольких попыток я даже бросил искать и сразу начал штудировать stackoverflow и англоязычный интернет. Youtube со своими видео-уроками просто спас меня! Я открывал видео на одном мониторе и работал на втором. Без базового английского — никуда.
4. Сервисы вопрос-ответ реально помогают! Иногда, впадая в ступор я задавал вопросы и почти сразу получал ответы — очень удобно если находишься в тупике.
5. Apple более чутко относится к публикации приложений, но особых проблем кроме длительного времени я не заметил. Android же делают все очень быстро (зато пускают всех подряд, как я понял).
6. В общей сложности я потратил почти месяц (на разработку около двух недель с перерывами). Стоило ли оно того — думаю да, было очень интересно. Если у вас есть желание — попробуйте, все оказалось не так сложно. У меня нет смартфона Android/iPhone, но и без них все оказалось просто. Симуляторы работают достоверно.
Приложение называется dagotel, но оно создано для клиентов, поэтому дальше логина не пустит. Разве что посмотреть скриншоты.
Понятия не имею, зачем я написал эту статью и какие цели преследовал, но раз написал, решил опубликовать.
Источник
13 популярных эмуляторов Android и iOS для Windows, MAC и Online
Будь то LG, Samsung или Huawei, 90% мобильных телефонов работают на Android. Учитывая такой огромный рост на рынке разработки мобильных приложений, в широком масштабе проводится множество тестов на совместимость, но разработчики из-за растущей рабочей нагрузки не имеют времени для тестирования проблем совместимости функций мобильных приложений.
Помимо временных ограничений, существуют проблемы с наличием достаточных ресурсов для выполнения тестов для каждой функции разнообразных приложений. В результате использование эмуляторов приобрело популярность, позволяя оптимизировать и упростить процесс тестирования, чтобы сделать его более легким и менее утомительным.
Прежде чем двигаться дальше, давайте сначала прочно освоим термин «эмулятор». Так что же это?
Ну, для начала, эмулятор, по определению, является инструментом, имитирующим операционную систему Android на настольном компьютере. Разработчики создают эмулятор, чтобы помочь пользователям или программистам, которые хотят использовать Android, не проходя через хлопоты установки.
Это программа, которая работает в компьютерной системе, эмулируя архитектуру устройства гостя. Например, вы можете легко использовать большинство игр, таких как PUBG или Pokemon Go, на вашем компьютере, не устанавливая их. Круто, не правда ли?
Теперь, когда мы знаем, для чего предназначен этот инструмент, давайте посмотрим, как он помогает в тестировании приложений.
Мы стали свидетелями значительного всплеска в разработке мобильных приложений. Постепенно эти мобильные приложения, возможно, стали точкой опоры нашего существования и будут продолжать расти, поскольку использование мобильных телефонов становится еще более распространенным. Будь то домашнее хозяйство, покупка продуктов или развлекательные мероприятия, такие как игры, — теперь все просто за один клик.
Говоря об этом, чтобы что-то работало без проблем, это должно быть на должном уровне.
Поэтому каждое приложение должно пройти строгую фазу тестирования, чтобы отследить любые отклонения, прежде чем оно будет отправлено пользователям. Следовательно, для всех разработчиков это действительно находка, учитывая то, как она определяет неожиданные или необычные поведенческие паттерны на этапе тестирования мобильного приложения.
Прежде чем приступить к обсуждению различных эмуляторов, давайте немного рассмотрим, как он работает и что заставляет пользователей выбирать такой инструмент.
Приложение Android или iOS или браузер эмулируется в операционной системе, которая считается определенной, такой как Mac и Windows. Он устанавливает виртуальные аппаратные условия устройства Android или iOS. После этого мы используем его для тестирования помимо отладки. Как и все в этом мире, эмулятор также имеет свои ограничения.
Мы не можем отрицать, насколько дорого устанавливать и поддерживать настоящую лабораторию для Android-устройств, потому что не приходится тратить время на регулярное обслуживание, кроме частых обновлений устройств. Поэтому онлайн-эмуляторы Android и iOS являются популярным выбором среди пользователей, и это справедливо!
Давайте начнем, ребята!
Appetize
Appetize — это браузерный эмулятор, который хорошо сочетается с HTML5 и JavaScript.
Учитывая, что для эмуляторов iOS для ПК и Mac нет или ограничены возможности, Appetize служит лучшим решением, поскольку самое большее, что он просит вас, — это загрузить приложение на веб-сайт, и с этого момента вы готовы к работе. Он эффективно обслуживает как Android, так и iOS.
LambdaTest
С выбором из более чем 2000 различных комбинаций браузера и среды ОС LambdaTest гарантирует, что веб-сайты и все приложения избавятся от каждой ошибки и будут работать без сбоев. Встроенные инструменты разработчика являются шлюзом для отладки, что тоже в режиме реального времени.
Это облегчает кросс-браузерное тестирование в нескольких мобильных браузерах, таких как Safari, Mozilla и Google Chrome. Функция Lambda tunnel предоставляет дополнительное преимущество тестирования как локальных, так и частных страниц.
Genymotion
Этот простой в использовании и настройке многофункциональный эмулятор. Он поставляется в бесплатной и платной версии.
Genymotion выделяется из-за его способных графических карт OpenGL. Это делает его одним из лучших и быстрых эмуляторов Android. Он поставляется с плагинами для Eclipse и Android Studio.
Помимо этого, он доступен в нескольких операционных системах Windows, Linux и OS X. Он также позволяет использовать веб-камеру для эмулируемого устройства в качестве камеры. Команды ADB также могут выполняться с использованием туннеля ADB.
Sauce Labs
Симуляторы Saucelab’s для Android и iOS — это экономичный подход к проведению тестов на мобильных приложениях. Их эмуляторы позволяют проводить кросс-браузерное тестирование с привлекательной скоростью при меньшей стоимости реальных устройств.
Подводя итог, можно сказать, что они, вероятно, являются лучшими в том чтобы обеспечить хорошее сочетание эмуляторов, симуляторов в сочетании с реальными устройствами для достижения наилучшего результата, когда речь идет о мобильной автоматизации тестирования.
AWS Device Farm
AWS Device Farm помогает запускать веб-приложения и мобильные приложения с помощью тестов, распространяемых на широкий спектр браузеров для настольных компьютеров, таких как Chrome, Internet Explorer, Firefox и реальные мобильные устройства. Это сделано для того, чтобы приложение функционировало одинаково независимо от среды его браузера.
При автоматическом тестировании проблемы выявляются и группируются, чтобы можно было сначала сосредоточиться на самом важном. Они анализируются и фиксируются с помощью интенсивного использования видео, журналов действий и консолей, а также журналов webdriver.
Bluestacks
Bluestacks, уместно упомянуть о том, насколько он популярен в выборе именно для Android-эмуляторов. Почему это так?
Ну, для начала, Bluestacks — это один эмулятор рабочего стола, который хорошо сочетается как с Windows, так и с Mac. Хотя он спроектирован так, что может запускать любое приложение для Android, его функции лучше всего работают для улучшения игровых возможностей Android-видеоигр на Windows.
Так что, если вы любите игры с высокой графикой, то это для вас! Самое существенное преимущество, которое он имеет, заключается в том, что здесь абсолютно нет потери графического качества и не стоит забывать о его замечательной совместимости с большинством игр на Android.
Это эмулятор Android, предназначенный для улучшения вашего опыта видеоигр. Он прост в использовании, поскольку не требует изменения или корректировки каких-либо сложных настроек. Все, что требуется, это установка. Subway Surfers, Geometry Dash и Minion Rash — это некоторые игры, которыми вы можете наслаждаться от всего сердца, используя этот эмулятор.
Помимо этого, MEmu стало исключением, поскольку оно поддерживает Lollipop, Android Jelly-bean, а также Kitkat. MEmu рекомендуется из-за его выдающейся производительности, а также бесплатного использования.
Это еще один эмулятор Android, специализирующийся на видеоиграх и поддерживающий несколько версий Android. Он разработан и создан BigNox и обслуживает такие игры, как PUBG и Clash of Clans. Он поставляется с расширенными функциями, такими как раскладка клавиатуры. Эта функция дает вам преимущество по сравнению с другими игроками, поскольку отклик клавиатуры быстрее.
Многопользовательский режим позволяет одновременно запускать одну игру в разных окнах, что позволяет переключаться между несколькими играми одновременно. Он является бесплатным для загрузки и используется на Windows 10 и Mac. Кстати говоря, его легко скачать и установить, как и любое другое программное обеспечение.
Android Studio
Android studio поставляется с различными инструментами, которые помогают разработчикам разрабатывать и создавать игровые приложения и игры, исключительно для Android. Точно так же, он поставляется со встроенным эмулятором, который помогает тестировать вашу игру или приложение.
Однако настройка довольно сложна и может занимать много времени. Это может создать большие трудности для начинающих, в то же время он может быть идеальным выбором для разработчиков. Это интеллектуальное программное обеспечение и поддерживает Kotlin, Java, кроме языков C / C ++.
Redfinger
Redfinger — один из самых удобных и легких эмуляторов. У него нет требований к оборудованию, а потребление памяти является минимальным, поэтому оно идеально подходит для начинающих и пользователей, которые хотят не беспокоиться о ресурсах компьютера.
Это обеспечивает интерфейс Android, который на 100% нативный. Имеет кроссплатформенный эмулятор, позволяющий запускать все приложения Android из Windows или macOS.
BrowserStack
BrowserStack — это уникальное и инновационное убежище для мобильных эмуляторов Apple iOS и Google Android, которые на 99% похожи на реальные устройства.
BrowserStack является самой надежной платформой для веб и мобильного тестирования. Он позволяет запускать тесты на нескольких устройствах и в браузерах настольных компьютеров, чтобы гарантировать, что программное обеспечение выйдет далеко за рамки организационных и потребительских ожиданий. Оснащенный гибким, удобным и универсальным интерфейсом в сочетании с потрясающим API, он значительно облегчает работу.
Вы можете легко переключаться между мобильным, ПК или MAC.
iPadian
Существует довольно много инструментов, похожих на iPadian, которые обеспечивают работу iPad или iPhone как на Mac, так и на ПК, но они не позволят вам загружать приложение или код для запуска тестов. Поэтому, если вы хотите использовать эмулятор iOS, имитирующий аппаратное обеспечение оборудования iOS, на рабочем столе Windows, то iPadian — то, что вам нужно.
Уместно упомянуть, что на самом деле это не полностью эмулятор, скорее, он имитирует пользовательский интерфейс iOS с операционной системой Windows 7 или выше, открывая новое окно и используя приложения и аппаратные средства Windows. Он поставляется с настраиваемым интерфейсом в сочетании со многими интересными приложениями.
RunThatApp
RunThatApp позволяет беспрепятственно запускать мобильные приложения в браузерах, позволяя пользователям тестировать и продвигать приложения. Это снижает стоимость на большую скорость, учитывая, что он использует эмуляцию устройств. Используемая платформа настолько уникальна, что поддерживает практически все устройства и браузеры.
Последнее слово.
Мы надеемся, что списки, которые мы курировали, окажутся полезными для вас, когда вы решите выбрать эмулятор для себя.
Источник