Skip to content

Dev Survey [Spring 2020]

Justin Starry edited this page Jun 18, 2020 · 11 revisions

Thank you to everyone that took the time to fill out the Yew Dev Survey! 🙇‍♂️

We were blown away by the level of optimism about Yew's progress and the future of Rust / Wasm powered web apps!

Goals of the Survey

  • Prioritize upcoming features
  • Get feedback on progress and management of the project
  • Learn more about why devs decide to use Yew for a project

Summary

Over 100 developers spent an average of 10min to fill out the survey

  • Lots of optimism about Yew's progress and the future of Rust / Wasm powered web apps!
  • Devs use Yew because it's fast, easy to use, and architected well
  • Devs love that they can use Rust for both client & server to write type-safe applications
  • Devs are mostly using Yew for hobby projects, but will build serious projects when it's production-ready
  • Devs are most excited for Functional Components, Component Library, Better State Management and Server Side Rendering
  • Yew struggles with documentation, IDE support for html!, JS interop, compile time, and too much boilerplate
  • Yew should focus on production readiness, documentation, tutorial, and performance
  • Yew should invest its Open Collective funds into bounties for contributions

Action Items

  • ☑️ Summarize results
  • ☑️ Add #getting-started channel in Discord
  • ☑️ Start Bounty Program
  • ☑️ Help devs discover full-featured Yew examples by adding links to awesome-yew
  • ☑️ Make yewtil DSL more prominent by creating an issue calling for someone to bring it back to life
  • ☑️ Add top requested features to the Roadmap
  • Improve visibility into progress of major features
    • ☑️ Create "Functional Components + Hooks" tracking project
    • ☑️ Create "Component Library" tracking project
    • ☑️ Create "Server Side Rendering" tracking project
    • ☑️ Create "Pain Point: Agents" tracking project
    • ☑️ Create "Pain Point: Performance" tracking project
    • Create "Pain Point: Fetch API" tracking project
    • Create "Pain Point: Project Setup" tracking project
    • Create "Pain Point: Binary size" tracking project
    • Create "Pain Point: Services" tracking project
    • Create "State Management" tracking project
    • Create "Yew CLI" tracking project
    • Create "Production Readiness" tracking project
    • Create "Learn: Tutorial" tracking project
    • Create "Learn: Examples" tracking project
  • ☑️ Update Code of Conduct to latest version of contributor covenant
  • ☑️ Express that contributors should use the preferred pronouns of community members PR

Results

Multiple choice answers: Dev Survey.pdf

When did you first learn about Yew?

34% - In the past 6 months
28% - Over a year ago
27% - In the past year
08% - When it was first announced

When did you start using Yew?

67% - In the past 6 months
19% - In the past year
10% - Over a year ago
02% - When it was first announced

How would you rate your proficiency in Rust?

6.2 - Average rating

Which other web frameworks have you used?

65% - React
46% - Full stack framework (Rails, Django, Laravel, etc.)
33% - Vue.js
28% - Angular
17% - Elm

What kind of project(s) have you created (or interested in creating) with Yew?

(98 Respondents)

26 - Hobby project
10 - Work project
09 - Game
09 - In Production
06 - SPA
05 - CRUD
04 - Webview / Electron

What do you feel are Yew's strengths?

(103 Respondents)

31 - I can build with Rust
21 - Architecture (Elm / React)
20 - Type safety
16 - Performance (WebAssembly)
13 - Consistent language for client/server
10 - Easy to use, great productivity
08 - Share code between backend and frontend
06 - Don't need to use JavaScript (or TypeScript)

What do you feel are Yew's weaknesses?

(101 Respondents)

18 - Documentation
13 - Html macro usage
11 - JS interop
09 - Auto-reload / compile time
08 - Boilerplate
07 - Project Setup
07 - Ecosystem (lack of crates, component library)
06 - Fetch API
06 - Performance

How have you participated in the Yew community?

67% - Have not participated
18% - Created a Github issue
16% - Asked a question in the chatroom
12% - Contributed code to Yew
12% - Helped someone else (Github, chatroom, etc.)

Do you feel comfortable or uncomfortable engaging with the Yew community?

  • Nearly everyone said they felt comfortable
  • A few felt they were too inexperienced with Rust
  • A few felt uncomfortable from their social anxiety

How do you feel about the management and direction of the project?

  • Nearly everyone expressed positive feelings
  • A few people felt that Yew should take a stronger stance on project setup

Which features are you most looking forward to?

54% - Functional Components (+ Hooks)
53% - Component library
46% - Better state management
41% - Server side rendering / Static site generation
27% - CLI: cargo-web/wasm-pack alternative

Which areas should Yew invest more in?

62% - General production readiness
56% - Documentation
42% - Tutorials
36% - Performance
28% - Example maintenance

How should Yew spend its Open Collective funds?

81% - Bounties for contributions
14% - Merch give-aways (laptop stickers)

Please add any other comments or feedback you may have here!

  • Lots of enthusiasm, optimism, and appreciation!
  • Several people reiterated annoyances with previously stated weaknesses of Yew
  • Someone suggested adopting a preferred gender pronoun policy on the repository for contributors

Cool Project Ideas

(In no particular order)

  • Reddit clone
  • Real-time Dashboards
  • Digital Audio Workstation
  • Wiki
  • Websocket powered app
  • IOT related
  • E-Commerce app
  • Multiplayer games
  • Blockchain Dapp
  • Data analysis
  • Blog
  • Code Review
  • StackOverflow
  • Spreadsheet
  • Text editor
  • Media Player
  • Design studio for print products
  • Social network
  • Torrent
  • Code viewer
  • WebRTC
  • 3D
  • CAD
  • Knowledge base
  • Video clips
  • CanIUse