Skip to content

kasimmj/web2flutter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation


web2flutter

Your website โ†’ native mobile app. In 60 seconds. Push notifications ยท Offline ยท Deep links ยท Native splash ยท App Store ready.


๐Ÿ–ฅ๏ธ Visual Desktop App (no terminal needed)

โšก Or CLI (one command)

npx web2flutter https://your-website.com


๐ŸŽฏ The 60-second app

You have a website. Your users want an app. You don't want to rewrite everything in Swift + Kotlin.

npx web2flutter https://your-site.com

In 60 seconds you get:

  • โœ… A Flutter project ready to build for iOS AND Android
  • โœ… Splash screen + icon auto-generated from your site's favicon
  • โœ… Push notifications wired (FCM-ready)
  • โœ… Offline mode with smart caching
  • โœ… Deep links โ€” open your app from URLs
  • โœ… Native chrome โ€” pull-to-refresh, swipe-back, share sheet
  • โœ… App Store / Play Store ready (metadata + icons + screenshots)

โšก Quick Start

# Just give it a URL
npx web2flutter https://shop.example.com

? App name: My Shop
? Bundle ID: com.example.shop
? Enable push notifications? Yes
? Enable offline mode? Yes
? Theme: Auto (system)

โœ“ Created my-shop/ (Flutter project)
โœ“ Configured push notifications (FCM)
โœ“ Generated icons for 12 platforms
โœ“ Set up deep links: my-shop://...

Next:
  cd my-shop
  flutter run                       # Test on simulator
  flutter build apk                 # Android
  flutter build ipa                 # iOS

๐Ÿš€ What it does (technically)

  1. Crawls your site to detect:

    • Favicon, theme color, manifest.json
    • Open Graph image (for splash)
    • PWA capability (uses service worker if exists)
  2. Generates a Flutter project with:

    • WebView as the main view (webview_flutter)
    • JavaScript bridge for native โ†” web communication
    • Custom UserAgent so your site can detect it's in-app
  3. Wires native features:

    • ๐Ÿ”” Push notifications via Firebase Cloud Messaging
    • ๐Ÿ“ฑ Native share sheet via platform channels
    • ๐Ÿ–ผ๏ธ Splash screen via flutter_native_splash
    • ๐ŸŽฏ Deep links via app_links
    • ๐Ÿ“ท Camera access for file uploads
    • ๐Ÿ—บ๏ธ GPS access (with permission)
    • ๐Ÿ’พ Offline caching with flutter_cache_manager
  4. Generates store assets:

    • All required icon sizes (12 platforms)
    • Splash screens (multiple aspect ratios)
    • Screenshot mockups (using Puppeteer)

๐Ÿ–ฅ๏ธ The Visual App (Electron)

Don't want a terminal? Download the desktop app:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ๐Ÿš€ web2flutter Studio                              โ”€  โ˜  โœ•  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                              โ”‚
โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚   โ”‚  ๐ŸŒ Website URL                                       โ”‚  โ”‚
โ”‚   โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚  โ”‚
โ”‚   โ”‚  โ”‚ https://shop.example.com                       โ”‚  โ”‚  โ”‚
โ”‚   โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚  โ”‚
โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                              โ”‚
โ”‚   App name:       [ My Shop                            ]    โ”‚
โ”‚   Bundle ID:      [ com.example.shop                   ]    โ”‚
โ”‚   Primary color:  [#8A2BE2] โฌ›                              โ”‚
โ”‚                                                              โ”‚
โ”‚   Features:                                                  โ”‚
โ”‚     โ˜‘ Push notifications     โ˜‘ Offline mode                 โ”‚
โ”‚     โ˜‘ Pull to refresh        โ˜‘ Deep links                   โ”‚
โ”‚     โ˜‘ Share button           โ˜ Camera access                โ”‚
โ”‚                                                              โ”‚
โ”‚   Output:        [ /Users/you/Desktop/MyShop      ] [๐Ÿ“]    โ”‚
โ”‚                                                              โ”‚
โ”‚              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                         โ”‚
โ”‚              โ”‚   ๐Ÿš€ Build my app    โ”‚                         โ”‚
โ”‚              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                         โ”‚
โ”‚                                                              โ”‚
โ”‚   ๐Ÿ“ฆ Tip: Drag your favicon here to use as app icon          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Features:

  • ๐Ÿ–ฑ๏ธ Point-and-click everything โ€” no terminal required
  • ๐ŸŽจ Live preview of icons, splash, and colors
  • ๐Ÿ“ฆ Drag-drop favicon, logo, screenshots
  • ๐Ÿš€ Build for iOS + Android in two clicks
  • ๐Ÿ’พ Save projects, edit later, re-build with one click

๐ŸŽจ Customization

After scaffold, web2flutter.config.yaml controls everything:

app:
  name: "My Shop"
  bundle_id: "com.example.shop"
  url: "https://shop.example.com"
  initial_route: "/"

theme:
  mode: auto              # light | dark | auto
  primary: "#8A2BE2"
  background: "#FFFFFF"

features:
  push_notifications: true
  offline_mode: true
  pull_to_refresh: true
  swipe_back: true        # iOS swipe-from-edge
  share_button: true
  external_links: open_in_browser   # in_app | open_in_browser

bridge:
  # JS functions your web can call from native
  expose:
    - share
    - vibrate
    - get_device_info
    - request_location

push:
  provider: fcm
  default_topic: "all-users"
  permission_prompt:
    title: "Stay updated"
    body: "Get notified about new arrivals and exclusive deals."

splash:
  background: "#FFFFFF"
  image: "assets/logo.png"
  animation: fade            # fade | slide | none
  duration_ms: 1500

store:
  apple:
    primary_category: "Shopping"
    age_rating: "4+"
  google:
    category: "SHOPPING"
    content_rating: "Everyone"

๐ŸŒŸ What makes web2flutter different

Feature web2flutter Capacitor PhoneGap Generic WebView
Setup time 60 sec 30+ min hours 10 min
Push notifications โœ… Built-in FCM โš™๏ธ Plugin needed โš™๏ธ Plugin needed โŒ
Offline mode โœ… Smart cache โš™๏ธ Manual โš™๏ธ Manual โŒ
Deep links โœ… Auto-wired โš™๏ธ Plugin needed โš™๏ธ Plugin โŒ
Store assets โœ… Generated โŒ โŒ โŒ
App Store / Play โœ… Metadata included โš™๏ธ Manual โš™๏ธ Manual โš™๏ธ Manual
RTL Arabic โœ… Detected โš™๏ธ Manual โš™๏ธ Manual โš™๏ธ Manual
Performance Native shell + WebView WebView WebView WebView

๐Ÿ‡ฎ๐Ÿ‡ถ Arabic / RTL Support

Auto-detected from your site's <html dir="rtl" lang="ar">. If detected:

  • Native splash transitions are RTL-aware
  • Share sheet uses Arabic by default
  • Pull-to-refresh hint appears in Arabic
  • Permissions prompts localized to Arabic

๐Ÿ› ๏ธ Real-world use cases

  • ๐Ÿ›’ E-commerce sites โ€” give your customers an app without rebuilding the storefront
  • ๐Ÿ“ฐ Content sites โ€” turn your blog/news site into a polished mobile reader
  • ๐Ÿข SaaS dashboards โ€” let users access your tool natively
  • ๐Ÿ“š Documentation sites โ€” install your docs to home screen
  • ๐ŸŽ“ Learning platforms โ€” wrap your course site as an app

๐Ÿ“ฆ What's bundled

Your generated Flutter app includes:

  • webview_flutter for the main view
  • firebase_messaging for push
  • flutter_local_notifications for offline alerts
  • app_links for deep linking
  • share_plus for native share
  • connectivity_plus for offline detection
  • flutter_cache_manager for smart caching
  • flutter_native_splash for splash
  • flutter_launcher_icons for icons
  • All updated, all stable, all production-tested

๐Ÿš€ Roadmap

  • Core scaffolder + WebView shell
  • FCM push notification setup
  • Offline caching layer
  • Auto icon + splash generation
  • In-app purchases (StoreKit + Play Billing)
  • Biometric auth bridge
  • Background sync API
  • Per-route native overrides (replace specific URLs with native screens)

๐Ÿ“œ License

MIT.


Star โญ to give every website an app.

About

๐Ÿ“ฑ Convert any website into a native Flutter mobile app in 60 seconds. Push notifications, offline mode, deep links, app store ready.

Topics

Resources

License

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors