Вибір оптимального інструменту для невеликих завдань автоматизації на платформі Windows (власний досвід)

Сучасне середовище Windows надає багато можливостей для автоматизації завдань, які допомагають збільшити продуктивність та оптимізувати робочий процес. При виборі інструменту для автоматизації варто звернути увагу на розмір виконуваних файлів, зручність використання та збалансованість функціональності. У цій статті порівняємо можливості трьох інструментів: pkg для Node.js, pyinstaller для Python та Windows Batch Scripting з використанням iexpress. Всі ці варіанти були випробувані мною не як професійним розробником, а лише ентузіастом у програмуванні при розробці пари задач з автоматизації для особистого використання або використання обмеженим колом користувачів: пакетного стиснення PDF файлів із застосуванням open source бібліотеки (посилання) та створення резервної копії зі стисненням також із застосуванням open source бібліотеки або застосунку (посилання).

Node.js з pkg

Якщо ви використовуєте середовище Windows та маєте досвід роботи з Node.js, а зважаючи на популярність JS це є більш ніж можливим,- pkg може виявитися відмінним варіантом для створення виконуваних файлів з Node.js-програмами. Цей інструмент дозволяє вам упакувати вашу Node.js-програму разом з усіма необхідними залежностями та навіть середовищем Node.js. Однак, при використанні pkg важливо враховувати, що розмір виконуваного файлу може бути значним, мінімум 30 МБ.

Зручність використання pkg полягає у тому, що ви можете створити виконуваний файл, який буде незалежним від наявності зовнішнього середовища Node.js. Це означає, що користувачам не потрібно встановлювати Node.js окремо для запуску вашої програми. Ви можете спростити процес розповсюдження та використання вашої програми. Проте, важливо також враховувати деякі складності при роботі з Node.js на платформі Windows. В окремих випадках може знадобитися розв’язувати питання відсутності деяких залежностей або адаптації коду для правильної роботи під Windows.

Документація для pkg надає ретельний опис інструмента, його команд, параметрів та налаштувань. Ви знайдете докладні пояснення щодо того, як створювати виконувані файли для різних платформ, як управляти залежностями, як включити або виключити файли з пакування та багато іншого.

У цілому, pkg є потужним інструментом для створення виконуваних файлів з Node.js-програмами на платформі Windows. Однак, слід розглянути всі переваги та недоліки перед його використанням, особливо з урахуванням розміру виконуваного файлу та можливих складнощів при роботі з Node.js на Windows.

Python з pyinstaller

Звісно, однією з доступніших мов програмування є Python. Ця мова відома своєю простотою та читабельністю коду. Незалежно від досвіду, Python надає легкий в розумінні синтаксис і якщо ви шукаєте інструмент для створення виконуваних файлів з Python-кодом,- pyinstaller може бути відмінним варіантом. Цей інструмент дозволяє перетворювати Python-код у виконувані файли, які можуть бути запущені навіть без наявності встановленого Python-інтерпретатора.

Одна з ключових переваг pyinstaller — це відносно невеликий розмір виконуваних файлів, навіть при наявності значної функціональності. Зазвичай розмір виконуваного файлу, створеного за допомогою pyinstaller, складає приблизно 10 МБ. Це особливо цінно, коли важливо зберегти об’єм дистрибуційного пакета на мінімальному рівні. Перевагою pyinstaller є також його кросплатформне виконання: ви зможете створювати виконувані файли для різних платформ, включаючи Windows.

Документація для PyInstaller надає ретельний та вичерпний опис процесу пакування Python-програм у виконувані файли для різних операційних систем.

Загалом, Python з pyinstaller — це чудовий вибір, особливо коли вам потрібно швидко створити виконуваний файл для вашої Python-програми. Цей інструмент також виявляється дуже зручним, а може і єдиним прийнятним, якщо є бажання швидко створити простий графічний інтерфейс для вашого додатка, наприклад, з використанням модуля Tkinter та бібліотеки-розширення tkinter.ttk.

Windows Batch Scripting з iexpress

Скажу відверто, що мав досвід успішного використання пакетних файлів ще за давніх часів DOS, що безумовно зробило для мене доступним і доволі нескладним цей варіант реалізації. Для невеликих завдань автоматизації на платформі Windows, особливо коли вони включають обробку декількох команд або запуск інших інструментів, Windows Batch Scripting може бути ефективним варіантом.

Використання iexpress також може мати свої переваги. iexpress — це інструмент, вбудований в операційну систему Windows, з його допомогою ви можете створити виконуваний файл, який включатиме ваші Windows Batch Scripting команди, а також будь-які інші необхідні файли. При запуску цього файлу, він автоматично розпакується та виконає вказані команди, спрощуючи процес автоматизації. Особливо корисно, що використання iexpress дозволяє зберегти розмір виконуваного файлу на дуже низькому рівні, близько 200 КБ (без урахування розміру .ico). Це робить його ідеальним варіантом для невеликих завдань, де ефективність і компактність є ключовими факторами.

У деяких випадках документація до IExpress може бути недостатньою або застарілою. Із застосуванням більш сучасних інструментів та підходів до пакування та розповсюдження програм, існує менше зацікавленості в оновленні та покращенні документації для IExpress. Більш сучасним рішенням є Windows Installer XML (WiX) Toolset — відкритий інструментарій для створення інсталяційних пакетів, який розробляється із підтримкою Microsoft, але зважаючи на значно переускладнений процес використання і зайвий в цьому випадку функціонал, саме IExpress — все ще кращий варіант для нескладних задач.

Таким чином, обираючи Windows Batch Scripting з iexpress для ваших потреб в автоматизації, ви отримуєте зручний інструмент, який допоможе реалізувати ваші завдання ефективно та з мінімальними ресурсами. Нативна підтримка Windows Batch Scripting з невеликими вкрапленнями PowerShell, за необхідності, в операційній системі Windows робить його ще більш потужним і зручним для вас.

Досвід використання Inno Setup Compiler

Під час практики роботи з програмами на платформі Windows, я давно відкрив для себе важливий інструмент для зручного розгортання та видалення програм — Inno Setup Compiler. Цей інструмент, що успішно існує з 1997 року, здатен значно спростити процес створення інсталяторів для програм.

Зокрема, мене вражає використання мови програмування Pascal для створення сценаріїв інсталяції. Це дає мені можливість особисто налаштовувати й контролювати різні аспекти встановлення програми. Я можу впливати на кожен крок розгортання, вставляючи власний код для виконання спеціалізованих дій.

Зараз я користуюсь Inno Setup Compiler для створення інсталяторів своїх програм. Одним зі значущих переваг цього інструмента є гнучкість налаштувань. Я можу змінювати вигляд інсталятора, включати різні компоненти, налаштовувати реєстрацію, деінсталяцію та інші опції, що дозволяють користувачам отримувати оптимальний досвід встановлення програм.

Однією з головних переваг Inno Setup Compiler є його мінімальний вплив на розмір вихідного інсталятора. Використовуючи функцію само розгортального CAB-файлу завдяки iexpress, я можу отримати інсталятор, фінальний розмір якого складає лише 2 МБ. Це дозволяє забезпечити зручне та швидке розгортання програми без зайвих витрат пам’яті.

Загалом, відмічаю, що Inno Setup Compiler — це дійсно ефективний інструмент для створення інсталяторів програм на платформі Windows. Моя власна практика доводить, що він забезпечує зручний досвід розгортання та видалення програми, а також дозволяє заощадити місце завдяки компактному розміру інсталятора.

Висновки

Вибір інструменту для невеликих завдань автоматизації на платформі Windows повинен враховувати багато факторів, включаючи функціональність та розмір виконуваного файлу, особистий досвід та рівень володіння тією чи іншою мовою програмування тощо. Ваш вибір може залежати від ваших потреб та вимог.
Мій особистий досвід показав, що таке просте, але нативне для платформи Windows рішення як Windows Batch Scripting, попри невиправдане забуття все ще дозволяє легко та швидко досягти поставлених задач, до того ж з найефективнішою реалізацією.

Ще раз нагадаю, що ваш вибір залежить від ваших потреб, вимог та можливостей. Нехай ваші рішення з автоматизації завжди будуть ефективними, бажаю успіхів!

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось5
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

стосовно здивування від паскалю — за останній місяць двічі зустрічався з думкою, що серед всього зоопарку для створення кросплатф програм з нативними компонентами наразі найкращим є — сюрприз! — ObjectPascal aka Delphi, compiler FreePascal, IDE Lazarus.

.. І це була думка.... Name him

P. S. Нічого проти Delphi не маю, але хіба ця технологія жива ще?
Хоча звичайно, що для якоїсь автоматизації у офісі — ок
Я на VBA for excel інколи «автоматизую»

Коли у вас є доступ до нативних інструментів Windows, таких як Batch Script та PS, спроможність комбінувати те, що є з «коробки», як зазначив раніше Anton Taranov, дозволяє вам ефективно вирішувати завдання в Windows-середовищі, не вдаючись до додаткових ресурсів та засобів.
Але, звичайно, як то кажуть: на смак та колір всі фломастери різні, тож вибір ваш 😉

треба було хоча б згадати про PowerShell, як потужний інструмент, який присутній у віндозі з коробки)

Повністю згоден! Однак виходив з інструментів, якими володію, виключно особиста думка 🤔

Підписатись на коментарі