GitHub 저장소jamesblasco/flutter_showcase

flutter_showcase

Flutter | 간단하고 빠르며 세계와 당신의 Flutter 프로젝트 또는 모크업을 공유하는 쉬운 방법

flutter_showcase 프로젝트 이미지
스타
49
포크
14
최근 푸시(UTC)
2020. 4. 22.
프로젝트 상태
활성

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

Flutter Showcase

A simple, fast and easy way to share you flutter project or mockups with the world. Demo

Intro

Flutter Showcase is a project that helps you share flutter your project online. While building your project as a website is enough, this package aims to empower your demo. You can can have different appareances, actionable links and social metadata.

Flutter Showcase is only displayed when building the web project. When compiling to other platforms your project will still look as before.

Right now there is only SimpleTemplate but the goal is to provide multiple options to share your project so you can choose the one that fits for you.

Check the web demo with the awesome vignettes from @gskinnerTeam

Getting Started

  1. Install package Check last version

  2. Wrap your app around a Showcase widget

runApp(Showcase(
  title: 'My Awesome Project',
  description: 'Hello World! Welcome to my awesome Flutter Project',
  app: MyApp()
))
  1. Add the frame builder inside Material App
MaterialApp(
  ....
  builder: Frame.builder,
  ....
)

Why is this needed? This builder is used to set new MediaQuery params with mobile size

  1. Run Flutter build web

  2. Publish the web project: See this cool articles on how to publish your app

That easy? Yess!!!

Keep reading for more detailed features

Customize my showcase

  1. Choose the template you perfer from the class Templates.

  2. Add actianable links

Showcase(
  // Add LinkData.github, LinkData.pub or create your custom LinkData()
  links: [
    LinkData.github(
      'https://github.com/jamesblasco/flutter_showcase'),
    LinkData.pub(
    'https://github.com/jamesblasco/flutter_showcase')
  ],
  //Add your brand logo next to the Flutter logo
  logoLink: LinkData(
      icon: Image.asset('assets/jaime_logo.png',
          fit: BoxFit.fitHeight),
      url: 'https://github.com/jamesblasco')
)      
  1. Create your custom theme
Showcase(
  theme : TemplateThemeData(
    brightness: Brightness.dark,
    backgroundColor: Colors.black,
    titleTextStyle: TextStyle(
      fontFamily: 'WorkSans',
      fontWeight: FontWeight.bold,
      color: Colors.white,
      height: 1.1,
      letterSpacing: 5),
    descriptionTextStyle: TextStyle(
        fontFamily: 'WorkSans',
        color: Colors.white70,
        fontWeight: FontWeight.w400,
        letterSpacing: 2),  
    flutterLogoColor: FlutterLogoColor.white,
    frameTheme: FrameThemeData(
      frameColor: Colors.white,
      statusBarBrightness: Brightness.dark,
    ),    
    buttonTheme: ButtonThemeData(
      buttonColor: Colors.white,
      shape:
          RoundedRectangleBorder(borderRadius: BorderRadius.circular(50)),
      textTheme: ButtonTextTheme.accent,
      padding: EdgeInsets.all(16),
    ),
    buttonTextStyle: TextStyle(
        fontFamily: 'WorkSans',
        color: Colors.black,
        fontWeight: FontWeight.bold,
        letterSpacing: 2),
    buttonIconTheme: IconThemeData(color: Colors.black) 
  ),
)  

Current package problems

  • Flutter web is still limited, some features are not available and performance can be a bit low sometimes
  • While most of the ui packages work on web, there are some packages that won't work or will not allow to compile the app
  • Creating a mobile frame inside a Flutter web app makes the global positions from gestures to be a reference for the whole screen and not the framed app, this might cause problems if you are using globalPosition in any GestureDetector or more advanced Widgets

Autogenerate social media tags - Experimental

CAUTION! This feature is still experimental; It generates a new index.html, if you add your own js scrips (as Firebase) it won't work for now.

This projects aims to generate social media tags title, description, url and image for your Flutter project so you don't have to do it.

  1. A WebDriver is needed for making a screenshot of the project For the experimental version I am using ChromeDriver.

Github Actions have ChromeDriver installed by default 🎉 Local instalation:

  • Mac users with Homebrew installed: brew tap homebrew/cask && brew cask install chromedriver
  • Debian based Linux distros: sudo apt-get install chromium-chromedriver
  • Windows users with Chocolatey installed: choco install chromedriver

See here for installing manually

  1. Add this at the bottom of your pubspec.yaml
showcase:
  title: Your project name
  description: This is the description of your project
  url: https://showcase-custom-web.com
  1. Instead of flutter build web we will use flutter pub run flutter_showcase build that will generate the web project in the folder in build/web_showcase
Jaime Blasco GitHub avatar
GitHub 작성자

Jaime Blasco ↗

Google Developer Expert in Flutter

Sparkli
언어DartSwiftKotlinRubyHTMLObjective-CJava

분류

이 저장소가 배포한 패키지

사용 중인 의존성

의존성 목록 14 개

프로젝트에 맞는 저장소를 선택하려면?

사용 목적에 따라 검색하고 개발 활동을 비교한 뒤 원본 저장소에서 요구 사항을 확인하세요.

  1. 이름, 작성자 또는 설명으로 검색하고 기술 주제로 범위를 좁힙니다.
  2. 스타, 포크, 최근 푸시를 함께 비교하세요. 스타는 관심의 지표이며 품질을 보장하지 않습니다.
  3. 사용하기 전에 GitHub에서 README, 라이선스, Issues를 확인하세요.

출처 및 관리

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗