-
Notifications
You must be signed in to change notification settings - Fork 5
Home
This wiki aims to provide a documentation hub for all useful aspects of maintaining a modern "evergreen" web application. Please reach out or open an issue if you have any questions, thoughts or feedback; we would love to hear from you! 👋
By making emerging Web APIs and language features more accessible and tangible to developers and organizations, and with the rise of evergreen browsers, we feel there is now oppourtunity for evergreen web applications to exist, and we think that’s pretty cool! 🤓
The aim of Project Evergreen is just to provide a certain perspective on how to develop modern, standards compliant, and evergreen web applications. As it is still a "young" project, it does not claim to have all the answers, or opinions, just yet.
We do want your feedback and contributions though, to best understand how you develop and what tools, patterns, conventions, and workflows you like and for what reasons, if not covered in our documentatation. If we can, we'll work together with you on an "evergreen" solution that may satisfy the same use case! Either way it is a win-win since we'll all learn something together.
- Technology Stack
- Styleguide
- Build Pipline (WIP)
- Unit Testing
- Performance (TODO)
- Browser Support Matrix
- Routing (TODO)
- State Management (TODO)
- Guide: Creating A Web Component (TODO)
- Guide: Deploying To Production (TODO)
- Guide: Publishing A Component (TODO)
- Guide: Starting A New Project (TODO)
The following outlines some of the values Project Evergreen has embraced and how it guides its strategy:
- Support a community of asking questions, being curious, and pushing the boundaries
- Standards based best practices and patterns
- Polyfills over frameworks, libraries where needed to not reinvent the wheel
- Performance and Security
- Provide a comfortable interesection for User Experience and Developer Experience
- Reliable documentation and clear + simple code samples
UI development should not be full of friction in order to develop application that deliver great user experiences. We aim to evangalize:
- Tooling to support Evergreen browsers with extensibility to support older versions
- Modern JavaScript using ES2015+
- Modern CSS w/Flexbox and CSS Grid
- Declaritive UI templating
- Minimal Dependencies
- Like with Polymer, "Use the Platform"
- Focus on local development experience to support rapid development
- Research and document solutions for complex implementations of technologies like Progressive Web Applications, Server Side Rendering, and Static Site Generation
Ultimately, our apps need to please our users. Project Evergreen believes that all apps should:
- Lower the barrier to entry for all users
- Only give users what they need, when they need it
- Drive engagement through a focus runtime performance and responsiveness
- Operate with security and trust in mind
- [] Hosting (AWS, other?)
- [] Release Management (Continous Integration / Continuous Delivery)