Студент 2 курсу групи КІД-22 кафедри Комп’ютерної інженерії ДУІКТ Артем ТАРАСЕНКО реалізував незвичну, але технічно цікаву ідею — створив застосунок повітряної тривоги Air Alert для операційних систем Windows 95/98 та навіть MS-DOS і поділився своїм проєктом, який виклав на GitHub.
Цей проєкт не лише є яскравим прикладом креативного підходу до програмування, але й продемонстрував глибокі технічні знання студента в галузі роботи з мережами, графікою, дизайном і архітектурою ПЗ. Попри застарілу платформу, застосунок працює і на сучасних системах, що свідчить про високу якість реалізації та сумісність. Ще більш вражаючим є те, що на розробку та реалізацію цього проєкту у нашого студента пішло лише три тижні.
Ми поспілкувались з автором проєкту.
- Наразі є дві гілки розробки - для Windows 95/98 (32bit) та для MS-DOS (16bit). Перша й основна написана на Delphi (Object Pascal), який я знаю ще зі школи, а друга - побудована з нуля на мові C. В моїх очах ця мова є таким собі "еталоном якості" й відмінної сумісності, та й насправді мов під DOS не так вже й багато. В планах також є відкрити код в публічний простір й переписати все на C, однак я думаю спочатку дійти до якогось умовного чекпоінту в розробці.
- Я думаю, як і у всіх розробників початківців, це пошук джерела проблеми. Моя програма написана не без нюансів і, хоч вони вже виправлені, це потребувало часу, але така затримка, наприклад, у комерційних проєктах є неприпустима й цього варто уникати. Найпершою проблемою був пошук доступного web-API, так як не усі ресурси дозволяють ось так взяти дані, а деякі взагалі не підтримуються старими ОС - це насправді й досі викликає занепокоєння, але у мене є кілька ідей щодо альтернативи.
- У більшості, це звісно документація Delphi та C, тобто список усіх команд, запити в гуглі "а як зробити це? те?" і т.д. В процесі не обійшлось без дослідження роботи DOS та її графіки, але, на жаль, робоча машина поки недоступна - доводиться працювати у віртуальних. До речі, код на C писав як раз із MS-DOS 6.22. Також я намагався уникати використання ШІ та чужого коду в розробці, адже, на мою думку, це погіршує якість продукту.
- Звісно, плануються. Дещо буде змінено в косметичному плані, функціональному, але на це теж треба деякий час, якого наразі стало ще менше. Планується все ж таки реалізувати довгоочікувану версію для Windows 3.11 (16bit), з якої все почалось. Ймовірно, це буде нова гілка коду з нуля, або на Delphi, або на C. Інше питання, яким буде логічний кінець програми після війни: про це задумувались й моніторингові канали - думаю переформатувати її в застосунок для прогнозу погоди чи щось таке ;)
- Насправді, версія для Windows 95/98 сумісна з усіма сучасними ОС: від XP, Vista до 10 та 11. Також успішно протестовано роботу під Linux через Wine. Увесь код було написано на Delphi 6 (2001), яка найпершою отримала вбудовані пакети для Інтернет-розробки, для старіших версій це все треба писати вручну. Це й було однією з причин переходу на C для MS-DOS, так як по співпадінню існує сучасний TCP/IP-стек для ретро-ПК. Щодо складності написання, важко відповісти, адже це залежить від здібностей програміста. Звісно, інколи треба було брати до уваги обмежені ресурси та можливості ОС - це не проблема.
- Відповідаючи також і на попереднє питання: моя мотивація в тому, щоб проявити свої здібності та спостерігати, як при цьому розвивається мій проєкт, так як він був абсолютно випадковою ідеєю, яку я вирішив втілити у життя. Я захоплююсь ретро-ПК й іграми того часу, дизайном та ідеями, проте одного дня вирішив додати чогось свого, українського. Над усім працюю я, інколи мої друзі стають тестувальниками.
Важливо! Автор наголошує, що Air Alert — неофіційний застосунок, і його не можна використовувати як основне джерело інформації про тривоги.
"Він має працювати справно, і я над цим працюю, але є речі, які поза моїм контролем. Наприклад, API, яке використовується, є застарілим і не підтримує тривоги по районах — вони відобразяться лише у разі загальної тривоги по всій області. Також немає гарантій стабільності його роботи або довготривалої підтримки. Офіційне API зазвичай обмежується особистими ключами з низькою пропускною здатністю, що непридатно для публічного використання. Як варіант — можу реалізувати self-hosting, який робитиме поодинокі запити та розповсюджуватиме інформацію далі, з додатковими можливостями типу повідомлення про завершення війни", — ділиться Артем.
Завідувачка кафедри Комп’ютерної інженерії Наталія ЛАЩЕВСЬКА висловлює щиру подяку Артему за ініціативність, наполегливість і відданість своїй справі. Подібні проєкти демонструють рівень підготовки наших студентів і підтверджують важливість розвитку практичних навичок ще під час навчання.
ДУІКТ — це місце, де ідеї студентів втілюються у реальні розробки! Ми поруч, щоб підтримати кожну ідею, допомогти у реалізації проєктів та виростити нове покоління кваліфікованих фахівців у галузі ІТ.
Додаткова інформація по вступу за посиланням: allmylinks.com/duikt-kaf-ki