Skip to content

Commit 18bc346

Browse files
committed
ReadMe Creation #2
1 parent 34ddd36 commit 18bc346

File tree

3 files changed

+42
-5
lines changed

3 files changed

+42
-5
lines changed

README.md

+42-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[![Pub.dev Cover](screenshots/Pub%20Website%20Cover.png)](https://gallery.codelessly.com/flutterwebsites/pub?utm_medium=image&utm_campaign=cover)
22
# [Pub.dev Website - Rebuilt in Flutter](https://gallery.codelessly.com/flutterwebsites/pub)
3-
[![Flutter Responsive](https://img.shields.io/badge/flutter-responsive-brightgreen.svg?style=flat-square)](https://github.com/Codelessly/ResponsiveFramework) [![GitHub release](https://img.shields.io/github/release/Codelessly/FlutterWebsite.svg?style=flat-square)](https://github.com/Codelessly/FlutterWebsite/releases) [![GitHub Release Date](https://img.shields.io/github/release-date/Codelessly/FlutterWebsite.svg?style=flat-square)](https://github.com/Codelessly/FlutterWebsite/releases) [![GitHub issues](https://img.shields.io/github/issues/Codelessly/FlutterWebsite.svg?style=flat-square)](https://github.com/Codelessly/FlutterWebsite/issues) [![GitHub top language](https://img.shields.io/github/languages/top/Codelessly/FlutterWebsite.svg?style=flat-square)](https://github.com/Codelessly/FlutterWebsite) [![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/Codelessly/FlutterWebsite.svg?style=flat-square)](https://github.com/Codelessly/FlutterWebsite) [![Libraries.io for GitHub](https://img.shields.io/librariesio/github/Codelessly/FlutterWebsite.svg?style=flat-square)](https://libraries.io/github/Codelessly/FlutterWebsite) [![License](https://img.shields.io/badge/License-BSD%200--Clause-orange.svg?style=flat-square)](https://opensource.org/licenses/0BSD)
3+
[![Flutter Responsive](https://img.shields.io/badge/flutter-responsive-brightgreen.svg?style=flat-square)](https://github.com/Codelessly/ResponsiveFramework) [![GitHub release](https://img.shields.io/github/release/Codelessly/FlutterPubWebsite.svg?style=flat-square)](https://github.com/Codelessly/FlutterPubWebsite/releases) [![GitHub Release Date](https://img.shields.io/github/release-date/Codelessly/FlutterPubWebsite.svg?style=flat-square)](https://github.com/Codelessly/FlutterPubWebsite/releases) [![GitHub issues](https://img.shields.io/github/issues/Codelessly/FlutterPubWebsite.svg?style=flat-square)](https://github.com/Codelessly/FlutterPubWebsite/issues) [![GitHub top language](https://img.shields.io/github/languages/top/Codelessly/FlutterPubWebsite.svg?style=flat-square)](https://github.com/Codelessly/FlutterPubWebsite) [![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/Codelessly/FlutterPubWebsite.svg?style=flat-square)](https://github.com/Codelessly/FlutterPubWebsite) [![Libraries.io for GitHub](https://img.shields.io/librariesio/github/Codelessly/FlutterPubWebsite.svg?style=flat-square)](https://libraries.io/github/Codelessly/FlutterPubWebsite) [![License](https://img.shields.io/badge/License-BSD%200--Clause-orange.svg?style=flat-square)](https://opensource.org/licenses/0BSD)
44

5-
<img src="web/icons/Icon-192.png" width="128">
5+
<a href="https://gallery.codelessly.com/flutterwebsites/pub?utm_medium=image&utm_campaign=logo"><img src="web/icons/Icon-192.png" width="128"></a>
66

77
> ### The pub.dev website, rebuilt in Flutter with 💙!
88
@@ -26,9 +26,13 @@ Pub.dev was recreated in Flutter for 3 primary reasons:
2626

2727
## The Build
2828

29-
I envisioned this build as a weekend project and estimated that it would take less than 20 hours. Unfortunately, replicating some web behavior took a bit longer than I expected and the build ended up taking 27 hours.
29+
![Screenshots](screenshots/Pub%20Packages%20Resize.gif)
3030

31-
Because I had built a few Flutter websites before, I factored in my increased proficiency and speed. Also, since I've already solved many Flutter web challenges with the Responsive Framework, I estimated that would save me even more time.
31+
I envisioned this build as a weekend project and estimated that it would take less than 20 hours. Unfortunately, replicating some web behavior took a bit longer than I expected (see above) and the build ended up taking 27 hours.
32+
33+
I thought my experience building Flutter websites would make development much faster but that was not the case. Fortunately, many of the base essential Flutter web challenges were already solved with the Responsive Framework. Using the Responsive Framework saved at least a dozen hours.
34+
35+
Build breakdown:
3236

3337
- **Website elements (14h)**
3438
- New project setup and icons (1.5h)
@@ -44,12 +48,45 @@ Because I had built a few Flutter websites before, I factored in my increased pr
4448
- **Publishing (7h)**
4549
- Code cleanup and testing (2h)
4650
- Writeup and screenshots (5h)
51+
52+
## ResponsiveGridView
53+
54+
ResponsiveGridView is a GridView with responsive capabilities and the newest addition to the Responsive Framework.
55+
56+
ResponsiveGridView extends 'GridView' with the following capabilities:
57+
58+
- Fixed item size.
59+
- Max or min item size.
60+
- Fixed row count.
61+
- Alignment controls.
62+
63+
64+
65+
```dart
66+
ResponsiveGridView.builder(
67+
gridDelegate: ResponsiveGridDelegate(
68+
crossAxisExtent: 260,
69+
mainAxisSpacing: 16,
70+
crossAxisSpacing: 16,
71+
childAspectRatio: 1.37),
72+
maxRowCount: 1,
73+
itemCount: favoritePackages.length,
74+
alignment: Alignment.center,
75+
itemBuilder: (context, index) {
76+
return PackageCard(package: favoritePackages[index]);
77+
},
78+
)
79+
```
80+
81+
ResponsiveGridView provides more fine-grained control over item positioning than a regular GridView.
4782

4883
## Final Thoughts
4984

85+
![Screenshots](screenshots/Pub%20Search.gif)
86+
5087
Flutter Web is not an out of the box solution that lets anyone create a website easily. Flutter widgets are obviously built for mobile and replicating simple web behavior requires creative thinking or writing custom widgets. Writing custom widgets such as reimplementing a GridView takes time and requires a level of familiarity with Flutter.
5188

52-
However, building websites with Flutter has many advantages over traditional web development such as dramatically lower maintenance costs and high visual fidelity. In these early days, the lack of off-the-shelf Flutter Web components necessitates writing components ourselves which takes a long time.
89+
However, building websites with Flutter has many advantages over traditional web development such as dramatically lower maintenance costs and high visual fidelity. In the early days, the lack of off-the-shelf Flutter Web components necessitates writing components ourselves which takes a long time. At the time of this writing, at least 500 hours have been spent on developing the Responsive Framework.
5390

5491
As for Codelessly, this experiment has demonstrated there is an opportunity to make Flutter web development simpler and dramatically decrease development time. Instead of a website build taking over 20 hours, building a production-level frontend should take less than 20 minutes.
5592

screenshots/Pub Packages Resize.gif

2.04 MB
Loading

screenshots/Pub Search.gif

714 KB
Loading

0 commit comments

Comments
 (0)