Replies: 5 comments 1 reply
-
I agree with nearly everything you've said here. Obviously, we will want to document our approach concisely and thoroughly. As a product owner, I really believe this could cut down engineering effort up to 75%, and if we build this as easy to use as Create React App and is always pegged to the latest open web standards and innovations that land in evergreen browsers. This is what could bring hundreds of companies to FAST is my dream. My immediate corporate needs include FAST Web Components, Design System, Layout System, and responsive Web Patterns for UX would be a bonus. I want my teams to focus on business requirements with a plug-n-play brand design system. I have three primary SaaS platforms currently under management and another coming in Q1. If the entire technology stack can match just think of how lean and productive my engineering teams can be with reliability, stability, and performance built in. |
Beta Was this translation helpful? Give feedback.
-
How should we get into more implementation details? Does it make sense to do that here, or perhaps, that's just better in an RFC or within PRs. |
Beta Was this translation helpful? Give feedback.
-
Should we move this to https://github.com/Adaptive-Web-Community/Adaptive-Web-Components/discussions |
Beta Was this translation helpful? Give feedback.
-
That would be a good place I think |
Beta Was this translation helpful? Give feedback.
-
I'm aligned with the alignment principles you mention above regarding following FAST convention and contributing to the larger FAST community where our goals are aligned. I also agree that some sort of layout capabilities are important. This was something I started looking into in Adaptive UI and the density system, though it was unclear exactly how it would manifest in the components or how many layout-only (not traditional components) would be built as part of FAST. This would be a great place to formalize that aspect of interface glue. Initially I see the core requirements as a full component set based on Following that, design-system-as-a-service was a discussion point in FAST that I think would be perfect to address here. I have some thoughts about how this could work based on the existing Design Token infrastructure. It's actually the third part of my blog post series I need to finish. Rob had also written about a potential "Iteration 6" in The Future of FAST Foundation. One large point to consider in this is how much the design might be allowed to change between app runs. That is, is the "service" aspect of this runtime or build time. There are cases for both models. I propose once we get the larger project off the ground we work on the details of this. |
Beta Was this translation helpful? Give feedback.
-
First things first. This is meant as a hypothetical for what we could potentially build and provide to the FAST and larger web community as well as fitting our own needs. Discussion is welcome and encouraged so that we can narrow the focus and build a roadmap to meet the needs of the organizations we represent as well as the community's needs.
Abstract
Given that FAST currently does not have a prebuilt solution that members of the community can import and quickly plugin their design systems I think the Adaptive Web Project can be positioned to both provide that solution as well as showcasing the ideal library built with FAST.
The ideas mapped out here are from my own experiences with FAST as well as through observing the needs of the FAST community and their pain points.
High Level Overview
Ideally this project would leverage as much of the existing work from FAST as possible while also helping to fill in gaps in the community's needs. The project should use
adaptive-ui
andfast-foundation
as much as possible and contribute back to FAST when gaps or issues are identified.The general idea here is to follow a similar pattern to how FAST builds abstractions on top of the platform APIs, where
fast-element
is the lowest level andfast-foundation
is the next step up. The packages we build here would be additional abstractions on top of FAST, where depending on the needs of the team or developer they could import ready to use components or even entire pages and layouts and simply add their design system and any customizations needed.Capabilities not included with FAST that could be meaningful to the community
adaptive-ui
and FAST. This can also be a good opportunity to contribute to the Design Token Architecture community group.menu-button
,split-button
, andcolor-picker
.Potential areas to stand out amongst other libraries
I think we have a great opportunity here to experiment with some more opinionated features that are considered out of scope for FAST, but still provide value to folks looking for prebuilt UI solutions.
One such area could be common UI patterns where
adaptive-web-components
or a sibling package provides the pattern and consumers of the library feed it the data, or slot in components to quickly build out more complex UI elements. Some examples of this would be login/registration/lost password forms, confirmation dialogs, multi-page forms/multi-step wizards, color-scheme toggles, contact forms, etc.Another area for prebuilt and opinionated solutions is by leveraging
fast-router
'sFASTElementLayout
helper to provide ready to consume page layouts for SPAs and PWAs where consumers need only to slot in the content for the page and provide minimal styling.Tooling
A point of general frustration amongst the FAST community and the larger web component community is the lack of available tooling with a good out-of-box experience. While this has steadily been getting better with the advent of
custom-elements-manifest
, it could be better. Something I have experimented with on and off is building a minimal component sandbox for web-components not unlike storybook, but a lot more lightweight and geared specifically for building and testing web components in an isolated environment. Other ideas for tooling include expanding on the FAST figma plugin and other potential design-to-code or code-to-design tools.Beta Was this translation helpful? Give feedback.
All reactions