webf-quickstart

4
0
Source

Get started with WebF development - setup WebF Go, create a React/Vue/Svelte project with Vite, and load your first app. Use when starting a new WebF project, onboarding new developers, or setting up development environment.

Install

mkdir -p .claude/skills/webf-quickstart && curl -L -o skill.zip "https://mcp.directory/api/skills/download/3024" && unzip -o skill.zip -d .claude/skills/webf-quickstart && rm skill.zip

Installs to .claude/skills/webf-quickstart

About this skill

WebF Quickstart

Note: Building WebF apps is nearly identical to building regular web apps with Vite + React/Vue/Svelte. The only difference is you replace your browser with WebF Go for testing during development. Everything else - project structure, build tools, testing frameworks, and deployment - works the same way.

⚠️ IMPORTANT: WebF Go is for development and testing ONLY. For production, you must build a Flutter app with WebF integration. Do NOT distribute WebF Go to end users.

Get up and running with WebF in minutes. This skill guides you through setting up your development environment, creating your first project, and loading it in WebF Go.

What You Need

Only Node.js is required - that's it!

  • Node.js (LTS version recommended) from nodejs.org
  • You do NOT need: Flutter SDK, Xcode, or Android Studio

WebF lets web developers build native apps using familiar web tools.

Step-by-Step Setup

1. Download WebF Go (For Testing Only)

WebF Go is a pre-built native app containing the WebF rendering engine. It's designed for development and testing purposes only - not for production deployment.

For Desktop Development:

For Mobile Testing:

  • iOS: Download from App Store
  • Android: Download from Google Play

Remember: WebF Go is a testing tool. For production apps, you'll need to build a Flutter app with WebF integration.

Launch WebF Go - you'll see an input field ready to load your app.

2. Create Your Project with Vite

Open your terminal and create a new project:

npm create vite@latest my-webf-app

Vite will prompt you to:

  1. Choose a framework: React, Vue, Svelte, etc.
  2. Choose a variant (JavaScript or TypeScript)

3. Install Dependencies and Start Dev Server

# Move into your project
cd my-webf-app

# Install dependencies
npm install

# Start the dev server
npm run dev

Your terminal will show URLs like:

  VITE v5.0.0  ready in 123 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: http://192.168.1.100:5173/

4. Load in WebF Go

For Desktop:

  1. Copy the http://localhost:5173/ URL
  2. Paste into WebF Go's input field
  3. Press Enter or click "Go"

For Mobile Device: ⚠️ IMPORTANT: Mobile devices cannot access localhost

You MUST use the Network URL instead:

  1. Make sure your computer and mobile device are on the same WiFi network
  2. Use --host flag to expose the dev server:
    npm run dev -- --host
    
  3. Copy the Network URL (e.g., http://192.168.1.100:5173/)
  4. Type it into WebF Go on your mobile device
  5. Press "Go"

Your app will now render in WebF! 🎉

5. Verify Hot Reload

Make a quick change to your code and save. The app should automatically update - this is Vite's Hot Module Replacement (HMR) working with WebF.

6. (Optional) Setup Chrome DevTools

To debug your app:

  1. Click the floating debug button in WebF Go
  2. Click "Copy" to get the DevTools URL (devtools://...)
  3. Paste into desktop Google Chrome browser
  4. You can now use Console, Elements, Network tabs

Note: JavaScript breakpoints don't work yet - use console.log() instead.

Common Issues and Solutions

Issue: "Cannot connect" on mobile device

Causes & Solutions:

  • ✗ Using localhost → ✓ Use Network URL (http://192.168.x.x:5173)
  • ✗ Different WiFi networks → ✓ Put both devices on same network
  • ✗ Missing --host flag → ✓ Use npm run dev -- --host
  • ✗ Firewall blocking port → ✓ Allow port 5173 through firewall

Issue: "Connection refused"

  • Dev server not running → Run npm run dev
  • Wrong port number → Check terminal output for correct port
  • Firewall blocking → Temporarily disable to test

Issue: App loads but doesn't update

  • HMR not working → Refresh the page manually
  • Dev server error → Check terminal for errors
  • Network connection lost → Reconnect WiFi

Production Deployment

⚠️ WebF Go is NOT for production use. It's a testing tool for developers.

For Production Apps

When you're ready to deploy to end users, you need to:

1. Build Your Web Bundle

npm run build

2. Host Your Bundle

  • Deploy to any web hosting (Vercel, Netlify, CDN, etc.)
  • Your bundle will be accessible via URL (e.g., https://your-app.com)

3. Create a Flutter App with WebF Integration

You or your Flutter team needs to:

  • Set up a Flutter project
  • Add the WebF Flutter package to pubspec.yaml
  • Configure the app (name, icon, splash screen, permissions)
  • Load your web bundle URL in the WebF widget

Example Flutter Integration:

import 'package:webf/webf.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return WebF(
      bundle: WebFBundle.fromUrl('https://your-app.com'),
    );
  }
}

4. Build and Deploy Flutter App

  • Build for iOS and Android
  • Submit to App Store and Google Play

Resources:

Development vs Production

AspectDevelopmentProduction
ToolWebF GoCustom Flutter app
PurposeTesting & iterationEnd-user distribution
SetupDownload and runBuild Flutter app
DistributionDon't distributeApp Store/Google Play
RequirementsNode.js onlyFlutter SDK required

Next Steps

Now that you have a working dev environment:

  1. Learn the #1 difference: WebF uses async rendering - see the webf-async-rendering skill
  2. Check API compatibility: Not all web APIs work in WebF - see webf-api-compatibility skill
  3. Add navigation: Multi-screen apps use WebF routing - see webf-routing-setup skill

Quick Reference

# Create new project
npm create vite@latest my-app

# Start dev server (desktop)
npm run dev

# Start dev server (mobile - with network access)
npm run dev -- --host

# Install dependencies
npm install

# Build for production
npm run build

Resources

webf-native-plugins

openwebf

Install WebF native plugins to access platform capabilities like sharing, payment, camera, geolocation, and more. Use when building features that require native device APIs beyond standard web APIs.

20

webf-routing-setup

openwebf

Setup hybrid routing with native screen transitions in WebF - configure navigation using WebF routing instead of SPA routing. Use when setting up navigation, implementing multi-screen apps, or when react-router-dom/vue-router doesn't work as expected.

00

webf-api-compatibility

openwebf

Check Web API and CSS feature compatibility in WebF - determine what JavaScript APIs, DOM methods, CSS properties, and layout modes are supported. Use when planning features, debugging why APIs don't work, or finding alternatives for unsupported features like IndexedDB, WebGL, float layout, or CSS Grid.

00

webf-async-rendering

openwebf

Understand and work with WebF's async rendering model - handle onscreen/offscreen events and element measurements correctly. Use when getBoundingClientRect returns zeros, computed styles are incorrect, measurements fail, or elements don't layout as expected.

10

webf-native-ui-dev

openwebf

Develop custom native UI libraries based on Flutter widgets for WebF. Create reusable component libraries that wrap Flutter widgets as web-accessible custom elements. Use when building UI libraries, wrapping Flutter packages, or creating native component systems.

00

webf-infinite-scrolling

openwebf

Create high-performance infinite scrolling lists with pull-to-refresh and load-more capabilities using WebFListView. Use when building feed-style UIs, product catalogs, chat messages, or any scrollable list that needs optimal performance with large datasets.

50

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

641968

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

590705

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

338397

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

318395

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

450339

fastapi-templates

wshobson

Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.

304231

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.