ПРИМІТКИ
На початку, для демонстрації погоди з головної сторінки сайту, ми користувалися адаптивним віджетом WeatherWidget.io, який, своєю чергою звертався до сервісу DarkSky для отримання прогнозної інформації.
Виявилося, що університетська мережа NUSTA не завжди показує віджет погоди клієнтам, який пропонує сайт WeatherWidget.io
Можливо, це пов'язано з безпекою і хвилює системного адміністратора, тому сторонні скрипти не всюди виконуються на комп'ютерах університету, то ж ми не стали з ним сперечатися.
Проте, віджет настільки вдало вписався в задум, та показав переваги перед іншими в плані адаптивності, що ми вирішили розробити його самостійно, з приблизним функціоналом, трохи змінивши дизайн. Більше того, зареєструвавшись на головному сайті Dark Sky
ми отримали 1000 безкоштовних запитів на день і вважаємо, що як для ресурсу з невеликою авдиторією, того цілком достатньо. Результат:
Тепер, маючи DarkSky Forecast API
, та невеликий досвід у написанні скриптів PHP разом з CSS, ми можемо змінювати параметри інформера, й перестанемо хвилюватися про його відображення в подальшому. Що цікаво, стала помітна різниця в отриманні даних, які виявилися точнішими за рахунок меншого часу кешування результату запиту, в порівнянні з віджетом від WeatherWidget
Для реалізації адаптивності і сторінки вцілому, ми скористувалися CSS Berry4.0 на платформі Albireo, власне, віджет був реалізований як snippet, саме до цього фреймворку.
На майбутнє:
Код PHP не оптимізований, і ми його доопрацюємо пізніше. В першу чергу, це стосується геокодування, для визначення місця розташування гостей, щоб вони мали можливість бачити погоду у своїй місцевості.
Особливості:
Наш сервер знаходиться в Nederland, і обробляє мітки часу як Unix timestamps в зоні GMT
, що приводить до некоректного зображення дат в зоні Europe/Kiev
. На локалхості цього не помітно, тому ми були трохи здивовані цим фактом після перенесення скрипта на сервер. Після уважного вивчення документації, знайдене просте рішення - встановлення місцевого часу функцією РНР : date_default_timezone_set("Europe/Kiev");
так що "проблема" була вирішена невдовзі.
На превеликий жаль, після такої цікавої роботи, нас попередили листом, що DarkSky АРІ була 30.03.2020р продана компанії Apple Inc. і перестане працювати безплатно, за виключенням користувачів безпосередньої підписки на АРІ.
Тобто, обслуговування підписки буде продовжено до кінця 2022р, при тому, що нових клієнтів більше не реєструватимуть. Ми вдало вскочили в останній вагон і маємо ключа, принаймні, до кінця 2022-го року, сподіваємось, що політика нового власника зміниться надалі.
Ідеї та матеріали для роботи запозичені:
The DarkSky Company | сервер прогнозу погоди |
Weather Icons | CSS піктограми для погоди, які створив Erik Flowers |
Using the DarkSky API with PHP | навчальний відеокурс (ENG) по використанню API від Peter Medina |
DarkSky Forecast API | приклад використання від Tobias Redmann |