Skip to content
This repository has been archived by the owner on May 27, 2021. It is now read-only.
Grant Hutchinson edited this page Jan 20, 2019 · 5 revisions

Welcome to the Project Evergreen wiki!

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! 👋

tl;dr

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! 🤓

Community First

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.

Table of Contents

Guides

Guiding Principles

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

Developer Experience Goals

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

User Experience Goals

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

Other Topics (?)

  • Visual Studio Code Evergreen Scaffold Extension
  • [] Hosting (AWS, other?)
  • [] Release Management (Continous Integration / Continuous Delivery)

Reference Projects

Links / References