Desktop App English: Tauri and Cross-Platform Development (англійською)
Master English vocabulary for Tauri desktop development — webview, IPC, command handlers, plugins, code signing, application bundles, and more explained.
Introduction
Tauri — це фреймворк для створення стільничних програм з використанням веб-технологій для інтерфейсу користувача і Rust для сервера. Його словник поєднує поняття з веб-розробки, системного програмування і розповсюдження робочого столу — три області з власною окремою англійською термінологією. Якщо ви створюєте програми Tauri, а англійська мова не є вашою основною мовою, такі терміни, як « IPC bridge » або « code signing », буде важко знайти у документації, якщо ви не знаєте правильних слів для пошуку. Цей пост дає вам ці слова, з контекстом і прикладними реченнями.
Кросплатформена ціль і Native Webview
** Крос- платформне призначення ** це операційна система або поєднання апаратних засобів, на яких буде запускатися ваша програма. Коли розробники кажуть, що програма «націлена на декілька платформ», вони мають на увазі, що вона розроблена для роботи на Windows, macOS і Linux (іноді мобільних операційних системах).
«Ми визначили три крос-платформені цілі в нашому конвеєрі збирання: Windows x64, macOS arm64 і Linux x64» «Крос-платформена розробка завжди включає в себе компроміси — деякі рідні поведінки відрізняються між цільовими і вимагають умовного коду»
Tauri відображає інтерфейс користувача програми за допомогою ** native webview ** - веб-відтворення рушія, вбудованого в саму операційну систему. На Windows це WebView2 (заснований на Chromium), на macOS це WKWebView, а на Linux це WebKitGTK.
Оскільки Tauri використовує рідний webview, бінарний файл програми є крихітним у порівнянні з Electron, який поєднує в собі власний браузер «Тестування на всіх цільових платформах важливо, тому що рідний webview поводиться трохи по-різному на кожній операційній системі»
Слово « native » у цьому контексті означає « належить до операційної системи », не написане спеціально для цієї програми. Це одне з найбільш перевантажених слів у програмному забезпеченні — завжди перевіряйте контекст.
IPC: Інтерпроцесна комунікація
IPC означає міжпроцесне спілкування — механізми, які дозволяють окремим процесам надсилати дані і повідомлення один одному. У Tauri, інтерфейс (ваш веб- інтерфейс, запущений у webview) і сервер (ваш код Rust) є окремими процесами. Вони спілкуються через IPC мостик.
«Фронтенд відсилає команду через IPC-мостик, а бекенд Rust обробляє її і повертає відповідь» «Зрозуміти IPC є важливим для розвитку Tauri — всі комунікації між вашим JavaScript UI і Rust логікою проходить через нього»
Слово “bridge” з’являється в багатьох контекстах (React Native також має один). У всіх випадках, це означає проміжний шар, який з’ єднує два різні середовища.
Командні пункти
У Tauri ** обробник команд ** — це функція Rust, позначена символом #[tauri::command], яку інтерфейс може викликати за допомогою мосту IPC. « Обробник » — це дуже поширене слово у програмуванні — це означає функцію, яка відповідає за відповідь на певну подію або запит:
«Ми написали обробник команд, який читає файл з локальної файлової системи і повертає його вміст до інтерфейсу JavaScript.» «Кожен обробник команд перевіряє його вхід перед виконанням будь-якої операції — ніколи не довіряйте даним, що надходять з фронтенду»
Дієслово ** « викликати » ** зазвичай поєднується з командами:
«Фронт-енд викликає обробник команд
read_file, передаючи шлях до файлу як аргумент»
** « Викликати » ** є більш формальною, ніж « викликати », і використовується, коли один шар системи запускає функцію в іншому шарі.
Плагіни і додатки
Додаток Tauri ** розширює можливості платформи, додаючи нові команди, слухачів подій або власні інтеграції. Додатки можуть бути офіційними (супроводжуються командою Tauri) або створені спільнотою.
«Ми додали додаток Tauri Shell, щоб дозволити програмі відкривати URL-адреси в типовому браузері.» «Плагін сповіщення обгортає API сповіщення рідної ОС, тому ми можемо надсилати сповіщення на робочому столі з нашого JavaScript-коду»
** Sidecar ** це додатковий бінарний файл, який Tauri збирає і керує разом з головною програмою. Термін походить від бічного вагона, приєднаного до мотоцикла — окремого, але залежного транспортного засобу.
«Ми використовуємо Python sidecar для обробки логіки обробки даних, і програма Tauri спілкується з нею через стандартний вхід/вихід» «Sidecars є корисними, коли вам потрібно запустити існуючі виконувані файли разом з вашою програмою Tauri без переписування їх в Rust»
Пакет програм і оновлювач
** Пакет програм ** (або просто « пакет ») — це пакована форма вашої програми, готова до розповсюдження. На macOS це каталог .app; на Windows це встановлювальний файл .msi або .exe; на Linux це може бути пакунок .AppImage або .deb.
«Робочий процес випуску створює пакет застосунків для кожної цільової платформи і завантажує їх на GitHub release» Перед публікацією збірки, перевірте, що розміри файлів є розумними — несподівано великий збір часто означає, що зневаджувальні символи не були зняті
Tauri також включає updater — вбудований механізм для доставки оновлень програм безпосередньо користувачам.
«Ми налаштували оновлювач, щоб перевіряти нові версії при запуску і запитувати користувача встановити їх.»
Підписання коду
** Підписування коду ** — це процес застосування криптографічного підпису до пакунка програми. Операційні системи та магазини додатків використовують підпис для перевірки того, що програмне забезпечення походить з надійного джерела і не було змінено.
«Без підписання коду, Windows показує попередження SmartScreen, коли користувачі встановлюють програму, що зменшує довіру» «Ми отримали сертифікат підписання коду від сертифікаційного органу і інтегрували його в поток дій GitHub.»
Слово “сертифікат” тут означає цифровий документ, який доводить ідентичність — подібно до ідентифікаційної карти, але для програмного забезпечення.
Ключовий словник
| Term | Definition |
|---|---|
| cross-platform target | An operating system or hardware combination the app is built to run on |
| native webview | The web rendering engine built into the OS, used by Tauri to display the UI |
| IPC (inter-process communication) | Mechanisms for separate processes to exchange data and messages |
| IPC bridge | The layer in Tauri through which the JS frontend and Rust backend communicate |
| command handler | A Rust function that the frontend can invoke over the IPC bridge |
| sidecar | An additional binary bundled and managed alongside the main application |
| application bundle | The packaged, distributable form of the application for a specific platform |
| code signing | Applying a cryptographic signature to verify an app’s origin and integrity |
Практичні поради
- Прочитайте README додатка Tauri і визначте всі терміни з цього повідомлення. Потім напишіть коротке резюме у два речення про те, що робить цей додаток, використовуючи принаймні два слова зі списку, наведеного вище.
- Вправляйтеся зі словом « invoke » — воно постійно з’ являється у документації Tauri. Напишіть три речення, у яких використано слово « invoke » у різних контекстах: виклик команди, виклик зворотнього виклику, виклик додатка.
- Коли ви налаштовуєте підписування коду для проекту, напишіть коротке пояснення англійською мовою, що описує, * чому * це необхідно. Писати виправдання англійською вчить вас думати мовою, а не просто читати її.
- Погляньте на налаштування списку дозволених Tauri і прочитайте документацію з безпеки. Словниковий запас списку дозволених — «дозволити», «заборонити», «обсяг», «дозвіл» — перетинається з Deno і багатьма іншими сучасними інструментами, тому вивчення його раз платить дивіденди через декілька технологій.
Conclusion
Tauri знаходиться на перетині веб-розробки, програмування систем Rust і дистрибуції настільних комп’ютерів, що означає, що її словниковий запас є незвичайно широким. Освоєння таких термінів, як « нативний веб- вигляд », « місток IPC » і « підписування коду », надає вам можливість обговорювати рішення щодо архітектури з колегами і ставити цілеспрямовані запитання, коли щось не так. Чим краще ви володієте цим словником англійською мовою, тим ефективніше ви зможете вивчати документацію, повідомлення про помилки і форуми спільноти, де обговорюється тема Tauri.