Skip to content

Instantly share code, notes, and snippets.

@luan03
Last active November 15, 2018 13:44
Show Gist options
  • Save luan03/e208e25f0fdbe166ce71792b7d782d72 to your computer and use it in GitHub Desktop.
Save luan03/e208e25f0fdbe166ce71792b7d782d72 to your computer and use it in GitHub Desktop.
Take the 12-Factor Quiz

VueJS 12-Factor Quiz

1. Features

Score: A/B

  • Virtual DOM
  • Data Binding
  • Components
  • Event Handling
  • Animation/Transition
  • Computed Properties
  • Templates
  • Directives
  • Watchers
  • Routing
  • Lightweight
  • Vue-CLI

Scoring System

  • A: Unlocks things that were just not possible before.
  • B: Lets you do the same things as before, but in a better way.
  • C: Does less than current solutions.

2. Stability

Score: A

Adopting VueJS does make it easier to develop and fast assessing bugs in our current application.

Scoring System

  • A: Fewer bugs, and issues become easier to debug and solve.
  • B: Adopting the technology does not have an impact on your software’s stability.
  • C: New bugs and issues arise as a direct consequence of adopting the technology.

3. Performance

Score: A

VueJS has a very optimized architecture in which impacts app’s performance in a very good way.

Scoring System

  • A: Lighter bundle, faster load times, or other performance improvements.
  • B: Adopting the technology does not have an impact on your software’s performance.
  • C: Adopting the technology slows down your app measurably.

4. Package Ecosystem

Score: A

VueJS support a large variety of packages and features: https://github.com/vuejs/awesome-vue

Scoring System

  • A: Ecosystem has unambiguous solutions for common concerns; third-party packages are well-maintained and well-documented.
  • B: Budding package ecosystem with many competing new options.
  • C: No package ecosystem to speak of, lots of manual work required.

5. Community

Score: A

VueJs has an enormous community which is present in many channels such as meetups, github, and discord. https://vuejs.org/v2/guide/join.html

Scoring System

  • A: Forum and/or chatroom (Slack/Discord/etc.) with daily activity, GitHub issues addressed within a day. Many answered Stack Overflow questions.
  • B: Forum and/or chatroom with infrequent activity.
  • C: No community beyond GitHub.

6. Learning Curve

Score: A/B

Despite the great documentation, It can be very challenging to become understanding in a few days.

Scoring System

  • A: Possible to get started in a single day.
  • B: About a week required before becoming productive.
  • C: More than a week required to learn the basics.

7. Documentation

Score: A

Good, well-maintained documentation provided for multiple front-end projects, as well as example codebases.

Scoring System

  • A: Dedicated documentation site, screencasts, example projects, tutorials, API documentation, and well-commented code.
  • B: Basic Read Me and API documentation.
  • C: Very succinct Read Me, the only way to know how to use the library is to look at its code.

8. Tooling

Score: A

Browser extensions, CLI and other services are available as well. https://blog.bitsrc.io/5-tools-for-faster-vue-js-app-development-ad7eda1ee6a8

  • Scoring SystemA: Two or more of: browser extensions, text editor extensions, CLI utility, dedicated third-party SaaS services.
  • B: One of: browser extensions, text editor extensions, CLI utility, dedicated third-party SaaS services.
  • C: No external tooling.

9. Track Record

Score: A

The list of companies using Vue is quite long and keeps on growing.

  1. GitLab
  2. Ele.me
  3. NASA
  4. Codeship
  5. Monito
  6. Adobe
  7. Behance
  8. Livestorm
  9. Clemenger BBDO
  10. Sainsbury’s
  11. Nintendo
  12. Chess.com
  • A: Has been around for 4+ years, adopted my major companies and well-known tech consultancies.
  • B: Has been around for 1–4 years, used by early adopters and smaller-scale consultancies.
  • C: Has been around for less than a year, no real adoption yet.

10. Team

Score: B

Highly competent and well-funded team https://vuejs.org/v2/guide/team.html

  • A: Maintained by a major company with a dedicated open-source team.
  • B: Maintained by a medium-sized team of engineers with solid individual track records.
  • C: Lone maintainer working independently.

11. Compatibility

Score: A

Migration to VueJS 2.0 apparently was not so tough and the team developed a guide to do very smoothly. https://vuejs.org/v2/guide/migration.html

  • A: Updates are mostly backwards-compatible, deprecations are handled with warnings, and incompatible older versions are maintained for two years or more.
  • B: Breaking changes do happen but are well documented and are rolled out gradually.
  • C: Frequent breaking updates requiring major refactoring without the proper guidance.

12. Momentum

Score: A

VueJs was the most popular project in github in 2017 as could be seen in: https://risingstars.js.org/2017/en/#section-all

Scoring System

  • A: Hype Level Over 9000: top of Hacker News, thousands of GitHub stars, talks at major conferences.
  • B: Some interest around the initial launch, hundreds of GitHub stars.
  • C: Lone developer toiling away in obscurity. One day I’ll show them! I’ll show them all!!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment