Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Svelte hololive fan booth project

Daniils Petrovs
October 10, 2023
380

Svelte hololive fan booth project

This deck was made for a talk at the Svelte Vienna meetup in October 2023.

Daniils Petrovs

October 10, 2023
Tweet

Transcript

  1. Who am I? https://danpetrov.xyz Frequent con goer, traveller, landscape and

    cosplay photographer, video game streamer, coffee nerd etc.
  2. Bit more background - Some basic knowledge of React -

    Pretty decent at TypeScript - Started with a small hobby project in Svelte before once 1.0 of Kit was released - Went on to mostly make some promo websites - Mostly spend my work time in the backend side of things
  3. About DoKomi Germany’s largest anime and japan expo (~155K visitors

    this year). Organized since around a decade ago. Largely community and volunteer driven.
  4. What? VTuber? Hololive Production is a virtual YouTuber agency owned

    by Japanese tech entertainment company Cover Corporation. A virtual YouTuber (streamer) that uses face and body tracking technology to stream games and other activities online.
  5. Requirements Convention network can be spotty and unreliable. 1 2

    3 Primary target is smartphones, which can be ancient Android devices. Strict deadlines and limited human resources. Offline first Fast and lightweight Good DevX
  6. Offline - Progressive Web App (PWA) Options 1 2 3

    Fast and lightweight - Svelte DevX - Svelte
  7. Features - QR code scanning and validation - Information about

    each rally vendor and how to find them - Real time events - An online leaderboard - Bonus “gacha” game! First implementation included core features like the QR scanner, other things added later.
  8. Phoenix.js Why Phoenix Channels? - Already existing experience in Elixir

    and Phoenix - Incredible flexibility in pubsub configuration - All benefits of Elixir like remote shell for remote debugging Easily integrate with Phoenix Channels using your custom client!
  9. PWAs! What is mostly supported now? - Asset and request

    caching - Background sync - Over the air updates - “Installable” Progressive Web Apps (PWA) have become nearly as fully featured as native apps in past years.
  10. How to PWA in SvelteKit then? Start with making sure

    your src/service-worker.js exists. There are a few options, for example: a) SvelteKit low level boilerplate b) Use workbox directly yourself
  11. Don’t do it from scratch! Introducing: workbox Set of modules

    that massively simplify work with service workers. SvelteKit doesn’t include it by default!
  12. Conclusions? - SvelteKit is great for SSR, as well as

    client-focused PWAs - Ecosystem not as huge as for React/Vue, but good enough for most projects - Very great metrics out of the box, fantastic documentation - Built in animations are fantastic! - Using Phoenix JS client directly is not so scary! - Not sure about a new stack? Try it out in a smaller project first, and scale from there!