ArcaneJaspr Codex
Documentation
Why Jaspr?
When to choose Jaspr over Flutter for web development

Why Jaspr + Arcane Jaspr?#

This guide helps you understand when Jaspr is the right choice for your web project, especially compared to Flutter web.

The Core Difference#

Flutter Web renders your UI to a canvas element. The browser sees a single <canvas> tag, not your buttons, text, or links.

Jaspr renders to semantic HTML. Your button is a <button>, your text is a <p>, your link is an <a>. The browser understands your content.

This fundamental difference affects everything.


SEO and Discoverability#

Search Engine Indexing#

AspectFlutter WebJaspr
Google CrawlingCannot read canvas contentFull HTML indexing
Page TitlesManual meta tagsAutomatic per-page
Meta DescriptionsComplex setupSimple frontmatter
Sitemap GenerationManualAutomatic
Structured DataVery difficultStandard implementation

Social Media Sharing#

AspectFlutter WebJaspr
Link PreviewsRequires pre-renderingWorks automatically
Open Graph TagsComplex workaroundsSimple meta tags
Twitter CardsComplex workaroundsSimple meta tags
WhatsApp/Telegram PreviewsOften brokenWorks correctly

Bottom Line: If people need to find your site via Google or share it on social media, Jaspr is the clear choice.


Performance#

Initial Load#

MetricFlutter WebJaspr
Bundle Size2-5MB+100-500KB
Time to First Paint2-5 secondsUnder 1 second
Time to Interactive3-8 secondsUnder 2 seconds
Core Web VitalsOften failsTypically passes

Why This Matters#

  • Bounce Rate: Users leave slow sites. Every second of load time increases bounce rate by 7%.
  • SEO Ranking: Google uses Core Web Vitals as a ranking factor.
  • Mobile Users: Large bundles hurt users on slower connections.
  • Conversion Rate: Faster sites convert better.

Runtime Performance#

AspectFlutter WebJaspr
60fps AnimationsYes (Skia)Depends on CSS
Complex UI UpdatesExcellentGood
Memory UsageHigherLower
CPU UsageHigherLower

Note: Flutter has better runtime performance for complex animations, but most websites do not need this level of performance.


Developer Experience#

Debugging#

ToolFlutter WebJaspr
Browser DevToolsLimited (canvas inspection)Full DOM/CSS inspection
Element InspectionNot possibleNative support
CSS DebuggingNot applicableFull support
Network TabWorksWorks
Performance TabLimitedFull support

Common Web Features#

FeatureFlutter WebJaspr
Browser Find (Ctrl+F)Does not workWorks
Text SelectionCustom implementationNative
Right-click Context MenuCustom implementationNative
Browser Password ManagerOften brokenWorks
Browser TranslateDoes not workWorks
Screen ReadersRequires extra workSemantic HTML helps

Use Case Comparison#

Choose Jaspr When Building:#

Use CaseWhy Jaspr
Marketing websitesSEO is critical
Documentation sitesContent discoverability
BlogsSocial sharing, SEO
Landing pagesFast load times, conversions
E-commerce storefrontsProduct SEO, performance
Portfolio sitesShareability, speed
Company websitesProfessional presence
SaaS marketing pagesLead generation

Choose Flutter When Building:#

Use CaseWhy Flutter
Cross-platform appsiOS, Android, Desktop, Web
Complex data visualizationCanvas performance
GamesSkia rendering
Offline-first appsNative capabilities
Apps with heavy animations60fps guaranteed
Internal toolsNo SEO needed

Arcane Design System Comparison#

Both platforms use the Arcane design system, but implementations differ:

Shared Features#

FeatureFlutter ArcaneJaspr Arcane
Theme Presets18+ colors18+ colors
Dark ModeBuilt-inBuilt-in
Component Library100+ widgets75+ components
Consistent DesignYesYes

Implementation Differences#

AspectFlutter ArcaneJaspr Arcane
StylingWidget propertiesArcaneStyleData + CSS
ThemingThemeDataCSS variables
Custom StylesWidget parametersRaw CSS escape hatch
ResponsiveMediaQueryCSS media queries
AnimationsAnimation controllersCSS transitions

Migration Considerations#

From Flutter Web to Jaspr#

If you have a Flutter web app that needs better SEO:

  1. Evaluate Complexity: Simple UIs migrate easily. Complex custom painting does not.
  2. Identify Components: Most Arcane widgets have Arcane Jaspr equivalents.
  3. Plan Routing: jaspr_router uses different patterns than Navigator.
  4. Test SEO: Verify Google can index your new site.

Keeping Both#

Many teams use both:

  • Flutter for native mobile/desktop apps
  • Jaspr for marketing site, docs, blog

The Arcane design system ensures visual consistency across both platforms.


Getting Started#

Ready to build with Jaspr + Arcane Jaspr?

# Install Oracular
dart pub global activate oracular

# Create a new project
oracular create app --template arcane_jaspr_app --name my_site

# Start developing
cd my_site
jaspr serve

See the Installation Guide for detailed setup instructions.