All Projects → Codelessly → Flutterwebsite

Codelessly / Flutterwebsite

Licence: 0bsd
The flutter.dev website recreated in Flutter. https://gallery.codelessly.com/flutterwebsites/flutterwebsite

Programming Languages

dart
5743 projects

Projects that are alternatives of or similar to Flutterwebsite

Responsiveframework
Easily make Flutter apps responsive. Automatically adapt UI to different screen sizes. Responsiveness made simple. Demo: https://gallery.codelessly.com/flutterwebsites/minimal/
Stars: ✭ 476 (+526.32%)
Mutual labels:  website-builder, framework, demo, website, webapp, responsive
Evnestoreplatform
📱Electronic commerce iOS APP framework
Stars: ✭ 112 (+47.37%)
Mutual labels:  framework, demo, app
Flutterminimalwebsite
A minimalistic Flutter website template for blogs and portfolios. Demo: https://gallery.codelessly.com/flutterwebsites/minimal/
Stars: ✭ 180 (+136.84%)
Mutual labels:  demo, app, website
Framy Css
Very simple CSS Framework
Stars: ✭ 103 (+35.53%)
Mutual labels:  framework, demo, responsive
englishextra.github.io
English Grammar for Russian-Speakers, a PWA website + SPA
Stars: ✭ 19 (-75%)
Mutual labels:  website, responsive, webapp
Vuefront
VueFront Core. Turn your old-fashioned CMS website in to a SPA & PWA in 5 minutes
Stars: ✭ 316 (+315.79%)
Mutual labels:  framework, app, webapp
Gaintime
GainTime é um framework de HTML, CSS e JS para desenvolvimento de projetos responsivos, focado na simplicidade.
Stars: ✭ 19 (-75%)
Mutual labels:  framework, website, responsive-design
Docker Vue Node Nginx Mongodb Redis
🐉 An awesome boilerplate, Integrated Docker, Vue, Node, Nginx, Mongodb and Redis in one, Designed to develop & build your web applications more efficient and elegant.
Stars: ✭ 34 (-55.26%)
Mutual labels:  website, webapp
Cryptii
Web app and framework offering modular conversion, encoding and encryption
Stars: ✭ 971 (+1177.63%)
Mutual labels:  framework, webapp
Devgonga
Devgonga é uma startup com foco em criação de sites e desenvolvimento de sistemas web, moldada para atender a pequenas e médias empresas ao redor de angola. https://devgonga.github.io/devgonga/
Stars: ✭ 41 (-46.05%)
Mutual labels:  website, responsive-design
Shorturl
Self hosted web app for shortening urls (URL shortener)
Stars: ✭ 73 (-3.95%)
Mutual labels:  app, website
Passwordcockpit
Passwordcockpit is a simple, free, open source, self hosted, web based password manager for teams. It is made in PHP, Javascript, MySQL and it run on a docker service. It allows users with any kind of device to safely store, share and retrieve passwords, certificates, files and much more.
Stars: ✭ 34 (-55.26%)
Mutual labels:  webapp, responsive
Alom
Alom is the lighest, simplest framework ever
Stars: ✭ 33 (-56.58%)
Mutual labels:  framework, responsive
Opensourcetest
OpenSourceTest由自动化测试-夜行者社区维护,提供的是更多地灵活性和可配置性
Stars: ✭ 37 (-51.32%)
Mutual labels:  framework, app
Alumna
[Alpha release of v3] Development platform for humans / Plataforma de desenvolvimento para humanos
Stars: ✭ 32 (-57.89%)
Mutual labels:  framework, webapp
Rocssti
RÖCSSTI : pour démarrer vos CSS avec la patate !
Stars: ✭ 46 (-39.47%)
Mutual labels:  responsive, responsive-design
Cancer Donation Portal Python Flask App
Flask App for Cancer Donation Portal using basic Python, SQLite3, HTML, CSS and Javascript
Stars: ✭ 32 (-57.89%)
Mutual labels:  website, webapp
Enjoylife
😊开源App项目,每天一张精选倩图、一个精选小视频,一篇知乎美文
Stars: ✭ 43 (-43.42%)
Mutual labels:  demo, app
Skeleton
A ready-to-use CodeIgniter skeleton with tons of new features and a whole new concept of hooks (actions and filters) as well as a ready-to-use and application-free themes and plugins system. Facebook Page: http://bit.ly/2oHzpxC | Facebook Group: http://bit.ly/2o3KOrA. Help me carry on making more free stuff → http://bit.ly/2ppNujE ←
Stars: ✭ 74 (-2.63%)
Mutual labels:  framework, demo
Bootstrap Dark
The Definitive Guide to Dark Mode and Bootstrap 4 - A proof of concept
Stars: ✭ 54 (-28.95%)
Mutual labels:  framework, responsive

Screenshots

Flutter.dev Website - Recreated in Flutter

Flutter Responsive GitHub release GitHub Release Date GitHub issues GitHub top language GitHub code size in bytes Libraries.io for GitHub License

The flutter.dev website, now in Flutter!

View Flutter Website

Skia Version

Screenshots

Desktop Tablet Mobile
Screenshots Screenshots Screenshots

About

This template was created for a Flutter Week presentation about building responsive websites with the Flutter Responsive Framework.

If you like this project or it helped you, please leave your email for updates. Although it is not required, I'd very much appreciate it!

Video

Build Responsive Flutter Websites Easily - Flutter Week Presentation

29:45 - recreating the Flutter website in Flutter.

Components

Select components with development commentary and Responsive Framework usage walkthrough.

Animated Carousel

Screenshots

The animated carousel component is eye-catching and beautiful. Fortunately, creating it in Flutter is very easy. All we need is to first create an animation scaffold!

The animation can be broken down into carousel, slide, element, and animation components. Each component is a layer in our animation scaffold with its own responsibilities and logic.

  • carousel - There are 4 carousel slides. Each slide is displayed for approximately 6400 milliseconds. The responsibility of the carousel is to hold child slides and coordinate their transitions.

      carousel
    
  • slide - Each slide contains images and text that appear and disappear with entrance and exit animations. The responsibility of the slide is to position its child elements and coordinate their animations.

      carousel_slide_1
      carousel_slide_2
      carousel_slide_3
      carousel_slide_4
      model_carousel_item_animation
    
  • element - Elements are the content of the slides. Elements are plain widgets that do not know how they will be animated. Their only requirement is to support being animated. The animation logic is abstracted to a separate layer.

      carousel_text
      Image
    
  • animation - Animation behaviors. Animations expose an interface that animators such as our slide can use to control the animation state.

      animation_slide_up_down_fade
    

With the animation scaffold created, creating the animation itself is very easy.

  1. Create a slide.
  2. Add slide elements.
  3. Apply animations to slide elements.
  4. Coordinate element entry and exits.
  5. Add slide to carousel.

Finally, the entire animation is wrapped in a ResponsiveWrapper and given a reference MediaQuery width and height. This allows the carousel to display correctly at any screen size.

  ResponsiveWrapper(
      maxWidth: 1200,
      minWidth: 1200,
      defaultScale: true,
      mediaQueryData: MediaQueryData(size: Size(1200, 640)),
      child: Carousel()
    )

The animation scaffold was constructed based on a timeline animation model. All animation durations are relative which allows for easy customization and adjustments in the future. Hopefully one day, someone will create a drag and drop animation editor for Flutter that will generate all the code automatically.

Features

Screenshots

The Features section is a simple row with Feature components. That is until the layout narrows and there is not enough room for a row. Then it needs to become a column!

ResponsiveRowColumn helps transition between row and column layouts at different screen sizes. When rowColumn is true, the layout is a row. When rowColumn is false, the layout is a column.

ResponsiveRowColumn(
        rowColumn: !ResponsiveWrapper.of(context).isSmallerThan(DESKTOP),
        children: [
          ResponsiveRowColumnItem(
            child: Feature()
            )
        ]
    )

Feature Detail

Screenshots

The Feature Detail component has two rows of content, each with a different width percentage. The balance here is 7:5 with the graphic taking up slightly more space than the text. This behavior can be created by setting a flex value for each row. However, the flex needs to be removed when the layout is in column mode to avoid invalid constraints errors.

ResponsiveRowColumnItem is used to wrap children in a Flexible widget when in a row or column layout. When rowFlex is set, the child will be wrapped in a Flexible with a flex value of 5. Likewise, columnFlex provides the same behavior for column layouts. Layouts are inherited from the parent ResponsiveRowColumn's isRowColumn value.

ResponsiveRowColumnItem(
        rowFlex: 5,
        columnOrder: 1,
        child: FeatureDetail(),
    )

Another responsiveness challenge is item ordering. To control the specific order of items in a row or column layout, set a rowOrder or columnOrder.

Flutter in Flutter

Screenshots

Amazing, FLutter inside of Flutter! It works.. sort of. Embedded iframes in Flutter Web has some issues.

Final Thoughts

Flutter Web is phenomenal and it was really fun to solve some of the basic essential problems of responsiveness on the web. Despite all the years I've been doing web development, this template is the most "perfect" website I've ever created. Thanks to power of the underlying framework, I know precisely how the layout looks at every size.

Flutter Web is revolutionary but there is still much work to do. In some areas, Flutter is already ahead but in others, the ecosystem is literally years behind. For the challenges ahead, let's tackle them together head-on and solve the core problems.

Building this Flutter website also exposed a few pain points. Please let me know if you're working on or are interested in tackling one of the items below.

  • Animation editor.
  • RichText generator.
  • A Flutter analytics framework.

Acknowledgements ❤️

Inspiration:

Flutter      Flutter

Development:

Sponsor: Codelessly - Flutter App UI and Website Builder

Codelessly Email Codelessly Website Codelessly Twitter Codelessly GitHub
Built with Responsive Framework

License

Website Template

BSD Zero Clause License

Copyright © 2020 Codelessly

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.

Flutter.dev

Except as otherwise noted, the content of this repository is licensed under the
Creative Commons Attribution 3.0 License [1], and code samples are licensed
under the BSD License:

Copyright 2012, the project authors. All rights reserved. Redistribution and use
in source and binary forms, with or without modification, are permitted provided
that the following conditions are met:

    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.
    * Neither the name of Google Inc. nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

[1] http://creativecommons.org/licenses/by/3.0/
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].