Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Контролировать работу VDS со смартфона не всегда удобно. Маленькие экраны не позволяют нормально работать с сайтом хостера и в этом случае на выручку приходит приложение.
![](https://habrastorage.org/webt/-a/on/tz/-aontzohl9r9mbl1nw0vpthj1ia.jpeg)
Оптимизация сайта для мобильных телефонов — задача непростая. Небольшая диагональ экрана серьезно ограничивает возможности веб-разработчика, к тому же сценарии использования одного и того же сервиса с разнотипных устройств существенно отличаются между собой. Мы решили развивать сайт с прицелом на браузеры для настольных компьютеров и планшетов, а для смартфонов создать отдельное приложение. Такой подход сейчас популярен и он неплохо себя зарекомендовал. Пока доступна только программа для Android, в которой реализованы самые необходимые клиентам функции — со временем их станет больше.
RuVDS Client можно скачать бесплатно в магазине Google Play. Отметим, что в данный момент программа для работы требует минимум прав на устройстве.
![](https://habrastorage.org/getpro/habr/post_images/e1f/682/35e/e1f68235ecba7069d068dfcd5f09d66f.png)
Для подключения в настройках личного кабинета необходимо разрешить внешнюю авторизацию. Обратите внимание, что двухфакторная аутентификация при работе через API пока недоступна и эта настройка несколько снизит безопасность вашей учетной записи. Пароль от неё не должен использоваться на других сервисах, а хранить его необходимо в надёжном месте. После включения опции на привязанный к аккаунту адрес придёт электронное письмо с уведомлением.
Пока в RuVDS Client реализована только самая необходимая функциональность. В приложении можно быстро узнать баланс лицевого счёта, посмотреть историю пополнений и списаний, а также проверить состояние серверов и управлять их работой.
![](https://habrastorage.org/getpro/habr/post_images/bdc/043/f24/bdc043f24d57b18ba5050fa91b2ffd4f.png)
Помимо основных характеристик сервера, в мобильном клиенте RuVDS доступна статистика использования ресурсов процессора, накопителей и сети. С помощью специальной вкладки администратор может увидеть, как чувствуют себя подопечные машины, в какое время с ними возникали проблемы и из-за чего они возникали. Ещё одна вкладка позволяет выполнять основные команды: останавливать и перезапускать сервер, в т.ч. аварийно, если он не откликается. Создание и удаление VPS мы пока добавлять в приложение не стали по соображениям безопасности — это лучше делать в личном кабинете на сайте.
![](https://habrastorage.org/getpro/habr/post_images/e2a/b9f/459/e2ab9f4590b43842a9848743f257b655.png)
В основе RuVDS Client лежит паттерн MVP, реализованный с помощью библиотеки Moxy. Такой подход мы сочли оптимальным, хотя можно также использовать MVVM или MVI — это вопрос личных предпочтений и наличия у корпоративных разработчиков необходимого опыта. Наш продукт построен на Single Activity Application: главный плюс здесь — жизненный цикл приложения равен жизненному циклу activity, а кроме того работать с фрагментами гораздо удобнее. Навигация реализована при помощи Cicerone — это одна из лучших подобных библиотек, пригодная для создания мобильных программ любой сложности. Также важным для нас стал вопрос выбора DI: поскольку приложение написано на Kotlin, рассматривались Dagger2 и Koin. В итоге мы остановились на последнем варианте, поскольку хотелось попробовать что-то более простое.
В нынешней версии нет каких-то сложных решений, но её архитектура позволяет быстро создавать новую функциональность или изменять существующую. Хотелось бы добавить двухфакторную аутентификацию через API, заказ и удаление серверов, изменение их конфигураций, а также доступ к консоли (экран, клавиатура, мышь). Возможно стоит написать версию для планшетов. Чтобы сделать программу удобнее, мы хотим получить фидбек от клиентов и поэтому решили провести небольшой опрос.
![](https://habrastorage.org/webt/-o/2e/tu/-o2etuqogwhmdnmysb9_vivc9v4.png)
![](https://habrastorage.org/files/1ba/550/d25/1ba550d25e8846ce8805de564da6aa63.png)
![](https://habrastorage.org/webt/-a/on/tz/-aontzohl9r9mbl1nw0vpthj1ia.jpeg)
Оптимизация сайта для мобильных телефонов — задача непростая. Небольшая диагональ экрана серьезно ограничивает возможности веб-разработчика, к тому же сценарии использования одного и того же сервиса с разнотипных устройств существенно отличаются между собой. Мы решили развивать сайт с прицелом на браузеры для настольных компьютеров и планшетов, а для смартфонов создать отдельное приложение. Такой подход сейчас популярен и он неплохо себя зарекомендовал. Пока доступна только программа для Android, в которой реализованы самые необходимые клиентам функции — со временем их станет больше.
Установка и подключение
RuVDS Client можно скачать бесплатно в магазине Google Play. Отметим, что в данный момент программа для работы требует минимум прав на устройстве.
![](https://habrastorage.org/getpro/habr/post_images/e1f/682/35e/e1f68235ecba7069d068dfcd5f09d66f.png)
Для подключения в настройках личного кабинета необходимо разрешить внешнюю авторизацию. Обратите внимание, что двухфакторная аутентификация при работе через API пока недоступна и эта настройка несколько снизит безопасность вашей учетной записи. Пароль от неё не должен использоваться на других сервисах, а хранить его необходимо в надёжном месте. После включения опции на привязанный к аккаунту адрес придёт электронное письмо с уведомлением.
Возможности программы
Пока в RuVDS Client реализована только самая необходимая функциональность. В приложении можно быстро узнать баланс лицевого счёта, посмотреть историю пополнений и списаний, а также проверить состояние серверов и управлять их работой.
![](https://habrastorage.org/getpro/habr/post_images/bdc/043/f24/bdc043f24d57b18ba5050fa91b2ffd4f.png)
Помимо основных характеристик сервера, в мобильном клиенте RuVDS доступна статистика использования ресурсов процессора, накопителей и сети. С помощью специальной вкладки администратор может увидеть, как чувствуют себя подопечные машины, в какое время с ними возникали проблемы и из-за чего они возникали. Ещё одна вкладка позволяет выполнять основные команды: останавливать и перезапускать сервер, в т.ч. аварийно, если он не откликается. Создание и удаление VPS мы пока добавлять в приложение не стали по соображениям безопасности — это лучше делать в личном кабинете на сайте.
![](https://habrastorage.org/getpro/habr/post_images/e2a/b9f/459/e2ab9f4590b43842a9848743f257b655.png)
Стек технологий
В основе RuVDS Client лежит паттерн MVP, реализованный с помощью библиотеки Moxy. Такой подход мы сочли оптимальным, хотя можно также использовать MVVM или MVI — это вопрос личных предпочтений и наличия у корпоративных разработчиков необходимого опыта. Наш продукт построен на Single Activity Application: главный плюс здесь — жизненный цикл приложения равен жизненному циклу activity, а кроме того работать с фрагментами гораздо удобнее. Навигация реализована при помощи Cicerone — это одна из лучших подобных библиотек, пригодная для создания мобильных программ любой сложности. Также важным для нас стал вопрос выбора DI: поскольку приложение написано на Kotlin, рассматривались Dagger2 и Koin. В итоге мы остановились на последнем варианте, поскольку хотелось попробовать что-то более простое.
Перспективы
В нынешней версии нет каких-то сложных решений, но её архитектура позволяет быстро создавать новую функциональность или изменять существующую. Хотелось бы добавить двухфакторную аутентификацию через API, заказ и удаление серверов, изменение их конфигураций, а также доступ к консоли (экран, клавиатура, мышь). Возможно стоит написать версию для планшетов. Чтобы сделать программу удобнее, мы хотим получить фидбек от клиентов и поэтому решили провести небольшой опрос.
![](https://habrastorage.org/webt/-o/2e/tu/-o2etuqogwhmdnmysb9_vivc9v4.png)
![](https://habrastorage.org/files/1ba/550/d25/1ba550d25e8846ce8805de564da6aa63.png)