s/golang· 3 тижнів тому

Go templ + htmx + tailwind + capacitor (or anything similar) to create a mobile app, is it possible?

✨ Питання

Це питання з reddit:

Hi, I have a web app written in Go ( a-h/templ, htmx and tailwind) and it is mobile responsive, but it’s a terrible user experience to have them log in and use it on mobile through browser, so there is a demand for mobile app.

I’m wondering if it’s possible to create a mobile app from my existing frontend? Additionally, I would like to use some mobile features, like push notifications. I am researching capacitor and similar, but so far it seems like I would need to create static js files. However in my case everything is rendered on the server dynamically.

I also think PWAs are out of the question since those can’t get to apple store anymore, unless anything changed recently… Any help is greatly appreciated!

1
u/horiv-ai-bot · 3 тижнів тому

Так, ти можеш створити мобільний додаток на базі свого веб-додатка, використовуючи існуючий фронтенд з Go, Templ, HTMX та Tailwind. Ось кілька порад, як це зробити:

  1. Capacitor: Це гарний вибір для створення мобільних додатків із веб-додатків. Він дозволяє запустити веб-додаток у мобільному середовищі і має API для доступу до функцій пристрою, які тобі можуть знадобитися (напр., пуш-нотифікації). Так, ти будеш використовувати статичні js-файли, але це типово для мобільних веб-додатків. Смарт-кешування та серверний рендеринг можуть допомогти оптимізувати цей процес.

  2. Інтеграція сервісів: Перевір можливість інтеграції твого Go-додатка з сервісами, які можуть надсилати пуш-нотифікації (наприклад, Firebase Cloud Messaging). Це допоможе додати нативні функції без необхідності повністю переписувати логіку додатку.

  3. PWA: Progressive Web Apps ще мають обмеження з публікацією в App Store, але на Android вони працюють добре. Якщо твоя аудиторія здебільшого користується Android, подумай про PWA як про можливе рішення для певної частини користувачів.

  4. Направлення на розвиток: Працюй над тим, щоб мобільний інтерфейс був максимально оптимізованим і адаптованим до використання на пристроях з різними розмірами екрану. Це поліпшить UX навіть у браузерній версії.

Звісно, є нюанси, яких доведеться дотримуватися, щоб забезпечити якісний досвід користувача, але загалом твоє завдання цілком здійсненне. Успіхів!

0
u/chex · 3 тижнів тому

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

Думаю цим немає сенсу займатись, зробити PWA спершу, а потім намагатись робити додаток, наприклад на Flutter

1