Есть два вопроса: какой телефон купить, чтобы писать на нём код, и какой — чтобы тестировать там мобильные приложения. Вот ответы на эти вопросы по состоянию на февраль 2020 года.
Кое-как писать — любой смартфон
Для всех мобильных платформ есть необходимый минимум, чтобы писать код: специализированные текстовые редакторы, некоторые инструменты для работы с сетью, примитивные графические редакторы. На самом базовом уровне всё есть.
Из минусов:
- Дьявольски неудобная мобильная клавиатура — очень тяжело ставить скобки и нужные кавычки.
- Писать код можно, а исполнять кто будет? Не на все языки и не на все платформы есть интерпретаторы или компиляторы кода.
Если нужен «несгораемый» вариант, берите Андроид с поддержкой USB Host (то есть к самому устройству можно подключать флешки и другую USB-периферию). Подключаете к такому смартфону клавиатуру и пишете код.
У Самсунга есть технология Dex: она позволяет подключить смартфон к большому монитору, клавиатуре и мыши и использовать телефон как некое подобие стационарного компьютера. Отличие от обычного подключения в том, что интерфейс Андроида растягивается на большой экран, появляется поддержка многооконного режима. Технологии уже три года, но толкового софта под неё мало. Пока что не взлетело.
Хитрый вариант с Айпадом
Если вам нужно максимально мобильное решение, рассмотрите такую связку:
- Берёте iPad Pro последнего поколения с USB-C.
- Берёте Raspberry Pi четвёртого поколения, желательно в корпусе.
- Устанавливаете на Raspberry Pi нужные вам среды разработки, компиляторы и интерпретаторы (скорее всего, они и так будут в вашей сборке).
- При необходимости устанавливаете на Raspberry Pi программу VNC Server — она позволяет управлять Raspberry Pi в режиме удалённого монитора.
- На Айпаде устанавливаете VNC Client.
- Соединяете проводом Айпад и Raspberry Pi. Когда последний загрузится, стучитесь к нему через VNC (придётся погуглить, как назначить ему правильный IP-адрес).
- У вас получается почти полноценный Линукс с экраном и клавиатурой от Айпада.
Подробнее вот у этого дядьки (по-английски):
Для тестов на iOS
Основной телефон — iPhone X. Если вы серьёзно решили программировать под iOS, то лучше сразу всё тестировать на телефоне с «чёлкой» и свайпами для управления. Нет смысла брать более дорогие модели, ведь технически в них будет всё то же самое, но дороже.
Исключение — когда вы пишете AR-приложение или софт для трёх камер: в этом случае лучше взять топовый аппарат и убедиться, что всё работает как нужно. Берите на Авито у брошенных парней.
Дополнительный — iPhone 6S. У большинства пользователей не будет на руках самой последней модели айфона. Скорее, это будет что-то из предыдущих поколений. Большой цикл обновлений, хорошее железо и много сервисных центров в каждом городе — всё это продлевает телефонам жизнь, а значит, нужно рассчитывать на то, что вашей программой будут в основном пользоваться на устройствах двух-трёхлетней давности.
В 2020 году стандарт — iOS 13, поэтому вам нужно минимально рабочее устройство, которое поддерживает эту операционную систему — iPhone 6S.
Планшет. Подойдёт любой планшет с поддержкой iPadOS. На нём вы будете проверять, как выглядит ваша программа на большом экране, всё ли в порядке с масштабированием и правильно ли отображается интерфейс. С точки зрения кода отличия минимальные. С планшетами на Android, кстати, то же самое: подойдёт любой планшет, на котором можно оценить внешний вид на большом экране.
Android
Так как Android ставится на множество разных устройств, то здесь с минимальным набором будет сложнее. Для того, чтобы полностью протестировать своё приложение под Android, лучше использовать несколько устройств.
Samsung A-серии. Это линейка телефонов начального уровня, но в ней есть почти все технологии, которые Самсунг использует в других устройствах: вырез под камеру на экране, жесты, своя система уведомлений.
Huawei. Из-за разногласий компании Huawei с Google эти телефоны могут лишиться поддержки сервисов Google, а главное — магазина приложений. Чтобы убедиться, что ваше приложение будет работать, протестируйте его, например, на Huawei Mate 30 Pro. Если всё работает — можете покорять китайский рынок. Заодно потренируетесь работать с датчиком отпечатка пальца, встроенным прямо в экран.
Meizu/Xiaomi. Эти аппараты попали в список из-за агрессивной работы с памятью. Даже в стандартном режиме они выгружают приложения из рабочей памяти, чтобы сократить энергопотребление устройства и увеличить время до подзарядки. Когда включается режим энергосбережения, всё становится ещё печальнее — иногда даже не приходят уведомления или сообщения в чат.
Если постоянная выгрузка из памяти может повлиять на работу вашего приложения — лучше выяснить это заранее.
Irbis/Jinga/Fly/Digma/Vertex. Напоследок — любой китайский телефон за 3–5 тысяч рублей. Он нужен для того, чтобы понять, как будет вести себя ваша программа на непредсказуемом и слабом железе. Если всё хорошо — мы вас поздравляем, вы умеете писать качественный и стабильный код с большим запасом прочности.