Зеленые ИТ

Зеленые ИТ: устойчивый подход к разработке приложений

8 принципов экологичных ИТ, применяемых при разработке приложений

В связи с изменением климата и глобальным потеплением среди других экологических проблем в 21 веке зеленые ИТ становятся все более и более важным подходом. Вот 8 основных принципов, которые сделают ваши приложения экологичнее.

Но сначала, что такое Green IT?

Зеленые ИТ, также называемые устойчивостью ИКТ, представляют собой исследование и практику экологически устойчивых вычислений и ИТ. Цели этого подхода аналогичны целям, используемым в химии (Зеленая химия), который заключается в сокращении использования опасных материалов, максимальном повышении энергоэффективности и возможности вторичного использования.

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

Этот зеленый подход в области информационных технологий был в основном инициирован в 1992 году, когда Агентство по охране окружающей среды США ввело в действие знак Energy Star.

ИТ вносят основной вклад в эти экологические проблемы, но они также представляют их решение.

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

  • Это улучшает имидж компании.
  • Соавторы более вовлечены.
  • Это источник экономии за счет сокращения бесполезных расходов.

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

Вот 8 основных принципов, которые сделают ваши приложения экологичнее

1. Выберите зеленого хостинга.

Центры обработки данных невероятно энергоемки, и это одна из причин, по которым потребление энергии центрами обработки данных, как говорят, в 2025 году составит около 3,2% мировых выбросов углерода - больше, чем в авиационной отрасли. Считается, что хостинг веб-сайта производит примерно такой же углеродный след на 10 000 посетителей, как проезд на 5 000 миль на новом автомобиле ».

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

2. Определите эффективную политику кеширования.

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

Одна вещь, которую можно сделать, - это добавить поддержку как в ваших приложениях, так и в API-интерфейсах поля заголовка If-Modified-Since с HTTP 304 Not Modified. Это гарантирует, что ваш сервер будет отправлять данные только в том случае, если ваше приложение не обновлено. Когда ваш сервер отвечает этим кодом, он отправляет только требуемые заголовки и не отправляет текст, поскольку он не нужен.

Кроме того, хороший подход к сокращению использования данных - это сжатие данных и доведение их до конечных пользователей, например, с помощью сервисов CDN.

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

3. Оптимизируйте свои медиа и изображения.

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

Для не векторных ресурсов вам следует оптимизировать размер ваших ресурсов в соответствии с требованиями вашего приложения. Если ваше приложение будет отображать изображение размером 60 пикселей @ 3x, нет необходимости использовать изображение побольше. Изменив размер ресурсов, они будут меньше весить, а также быстрее загружаться на пользовательские устройства.

4. Уменьшите объем данных, передаваемых между вашим сервером и вашим приложением.

Два предыдущих пункта подводят нас к этому: зеленый подход включает сокращение объема данных, необходимых для приложения, которые будут отправляться вашим сервером.

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

Кроме того, рекомендуется реализовать отложенную загрузку - и не только с точки зрения экологичных ИТ. Загружая ресурсы в ваше приложение только тогда, когда это необходимо, вы не только сокращаете объем передаваемых данных, но и повышаете скорость, скорость реакции и общее впечатление пользователя от вашего приложения.

5. Удалите неиспользуемые функции из вашего приложения.

Чем насыщеннее и сложнее интерфейс, тем больше он будет весить и потреблять энергию. Согласно Отчету о хаосе за 2015 год от Standish Group, 45% запрошенных функций не используются или используются редко. Цель здесь - определить полезность каждого контента и каждой функции. Это можно сделать на этапе разработки, но это также и непрерывный процесс, который состоит из анализа данных об использовании каждой функции в вашем приложении. Хороший подход заключается в том, что если более 5% ваших пользователей используют функцию, было бы интересно сохранить ее. В противном случае было бы неплохо его переосмыслить и реорганизовать, а в крайнем случае - отказаться от него.

6. Следуйте лучшим практикам в области энергоэффективности для своего приложения.

Как сказано в Руководстве по энергоэффективности для приложений iOS, для хорошего взаимодействия с пользователем требуется длительное время автономной работы, отличная скорость, отзывчивость и крутое устройство. Следующие принципы относятся к использованию вашим приложением технологий, связанных с устройствами. Один из хороших подходов, о которых следует помнить, - это адаптировать поведение вашего приложения в соответствии с режимом питания устройства. Используйте API устройства, чтобы проверить, включен ли режим низкого энергопотребления, и соответствующим образом адаптировать использование ресурсов. Например, вы можете уменьшить частоту обновления данных, если включен режим низкого энергопотребления.

ProcessInfo.processInfo.isLowPowerModeEnabled

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

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

7. Оптимизируйте использование служб геолокации.

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

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

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

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

8. Настройте использование таймеров и уведомлений.

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

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

Локальное уведомление - хороший способ инициировать события, зависящие от времени, и он также работает, если ваше приложение убито. Если вашему приложению требуются уведомления на основе времени без внешних данных из Интернета, рекомендуется использовать локальные уведомления.

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

Для удаленных уведомлений всегда следует отдавать предпочтение отложенному методу доставки для вторичных уведомлений. Метод отложенной доставки ожидает энергоэффективного времени для доставки уведомления.

Xcode предлагает различные инструменты, помогающие разработчикам контролировать использование энергии и наблюдать утечки энергии, такие как Energy Gauge. Для получения дополнительной информации об этих инструментах см. Документацию Apple.

Устойчивое развитие приложений: социальный и экологический подход

Если зеленые ИТ в разработке программного обеспечения - это подход, который может быть источником снижения энергопотребления и потребления ресурсов, это также более широкий социальный подход, который состоит в достижении этих трех целей:

  • Экодизайн для экологического измерения
  • Доступность для социального измерения
  • Качество для уменьшения технического долга

Резюме

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

1. Выберите зеленого провайдера хостинга

2. Определите эффективную политику кеширования

3. Оптимизируйте свои медиа и изображения

4. Уменьшите объем данных, передаваемых между вашим сервером и вашим приложением

5. Удалите неиспользуемые функции из своего приложения

6. Следуйте рекомендациям по энергоэффективности для своего приложения

7. Оптимизируйте использование служб геолокации

8. Настройте использование таймеров и уведомлений

Вам также может понравиться эта статья: