Large Scale Apps with Svelte and TypeScript
Build Large and Scalable front-ends that leverage component isolation, a centralized state manager, internationalization, localization, Custom Component Libraries, API-client code that easily can switch between mocked data and live data and more.
About
About the Book
Build Large and Scalable front-ends with a large organized code base that is easy to expand and maintain using technique like:
- Development of UI components in isolation using an API client that can easily serve live data or mocked data
- Centralized state manager
- Create Custom Component Libraries
- Internationalization and Localization for language translation and number/dates formatting according to a specific culture
- TypeScript type-checking at development time to decrease run-time bugs or errors
- Directory structure, file, and code naming conventions
- Unit tests for models and components
- Container Components
- Composition architecture (hooks)
- And more
Packages
Pick Your Package
All packages include the ebook in the following formats: PDF, EPUB, and Web
The Book: Single License
Minimum price
Suggested price$19.99With this package you get 1 copy of the book, including any of its future updates.
$9.99
The Book: Team License
Minimum price
Suggested price$49.00With this package you get 3 copies of the book, including any of its future updates.
$29.00
This book is also available in the following packages:
The Book: Enterprise License
With this package you get 10 copies of the book, including any of its future updates.
- Minimum price
- $79.00
- Suggested price
- $99.00
Author
About the Author
Damiano Fusco
Web Developer with 20 years of experience.
Specialties: VueJS, Svelte, React, TypeScript, JavaScript, HTML, SCSS, Microfrontends, and more.
Working as a freelance consultant, after 20 years of employment work. Hire my services to help your company get unstuck from the drawbacks of your current legacy frontend, and start moving forward at much higher speed and quality.
Follow me on GitHub, Twitter (X), LinkedIn
Personal website: www.damianofusco.com
Applications:
Contents
Table of Contents
LARGE SCALE APPS WITH SVELTE AND TYPESCRIPT
Preface
- Goal
- Audience
- Text Conventions
- Thanks
- About me
Prerequisites
Companion Code
Chapter 1 - Setting Up The Project
- Create Project Wizard
- Chapter 1 Recap
Chapter 2 - Your First Component
- The Items List
- ItemsList Component Requirements
- ItemsList Component Code
- App.svelte
- Chapter 2 Recap
Chapter 3 - Data Model Interfaces
- Models Directory
- Interface ItemInterface
- ItemsList Component
- App.svelte
- Chapter 3 Recap
Chapter 4 - Adding Events To the Items Component
- ItemsList Component
- Chapter 4 Recap
Chapter 5 - Intro to Unit Testing While Refactoring a Bit
- ItemComponent
- Add unit tests support to our project
- ItemComponent Unit Tests
- ItemsList component
- Chapter 5 Recap
Chapter 6 - State Management
- Store Interfaces
- Store Implementation
- Items.view.svelte
- App.svelte
- Web Browser
- ItemsList.component.svelte
- Back to the Web Browser
- Loader Component
- Chapter 6 Recap
Chapter 7 - Api Client
- API Client Overview
- Domains
- The Main ApiClient
- Items domain Api Client
- Mock and Live Api Clients
- Environment Variables
- Api Client Provider
- Store Instance updates
- Alternatives
- Chapter 7 Recap
Chapter 8 - Enhance the Api Client
- HttpClient Interfaces and Models
- UrlUtils Unit Tests
- HttpClient: Unit Tests
- ItemsApiClientModel Update
- Chapter 8 Recap
Chapter 9 - App Configuration
- vite-env.d.ts updates (or env.d.ts)
- .env files updates
- Config Interface
- Config files
- tsconfig.json updates
- Config files map
- Config provider
- Unit Tests
- HttpClient code updates
- Api Client code updates
- Chapter 9 Recap
Chapter 10 - Localization and Internationalization - Language Localization
- Plugins: i18next, svelte-i18n
- Config updates
- Translation JSON data
- API Client updates
- Updates to ApiClient.interface.ts
- Updates to ApiClient instances
- i18n initialization and useLocalization hook
- App.svelte updates
- Browser
- Chapter 10 Recap
Chapter 11 - Localization and Internationalization - Number and DateTime Formatters
- Directory localization/formatters
- Chapter 11 Recap
Chapter 12 - Adding Tailwind CSS
- Chapter 12 Recap
Chapter 13 - Intro to Primitives
- Atomic Design and Similar Approaches
- Conventions
- General Strategies
- Text Elements
- Primitives View
- Chapter 13 Recap
Chapter 14 - More Primitives
- Button Elements
- Primitives View - update
- Toggle/Checkbox Elements
- Primitives View - one more update
- Chapter 14 Recap
Chapter 15 - A Primitive Modal
- Icon: ElIconAlert
- Interface ModalProps
- File ElModal.svelte
- File useModal.ts
- Updates to Primitives.view.svelte
- Browser
- Chapter 15 Recap
Chapter 16 - Higher-level components
- Item Component - updates
- ItemsList Component - updates
- Summary
- Chapter 16 Recap
Chapter 17 - Creating Component Libraries
- Create my-component-library
- Chapter 17 Recap
Chapter 18 - Creating a JavaScript library
- Create my-js-helpers
- Chapter 18 Recap
Chapter 19 - Publish a library as a NPM package
- Create an NPM user account
- Create an Organization under your NPM profile
- Update my-js-helpers package.json
- Publishing the library
- Consuming your NPM package
- Chapter 19 Recap
(More Chapters Coming Soon)
Naming Conventions
- Coding Standards
Resources
- Websites
- Tutorials
- Blogs
- Books
Get the free sample chapters
Click the buttons to get the free sample in PDF or EPUB, or read the sample online here
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them
Write and Publish on Leanpub
You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!
Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.
Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.