chapter overview
yoshuawuyts opened this issue · comments
Which chapters should we write? How should they be ordered? Let's discuss it here. Anyone with push access should just update the section below so we can keep track as we write them. I'm like stuck in writing code so this is taking longer than I should; I reckon if we collaborate we can get there faster!
Index
- introduction: welcome people to the repo in the name of all contributors. choo choo!; mention TCBY and link to tradeoffs between packages
- reference: explain how to do specific things; probably what's mostly in the docs right now
- reference: Actions:
- action naming patterns
- validating data
- reference: Effects:
- higher order composition
- using
pull-stream
to compose - HTTP
- testing
- reference: Reducers:
- testing
- reference: Subscriptions:
- keyboard
- websockets
- server sent events
- reference: Router:
- navigating using
<a href="">
- on-page navigation using anchor tags
- hash routing
- navigating using
- reference: Views:
- explain how
hyperx
works - explain how yo-yoify works
- explain how
bel
works - explain how
morphdom
andyo-yo
work - lifecycles / widgetizing
- function components
- inline CSS
- forms
- explain how
- reference: Servers:
- server sent HTML choojs/nanohtml#29
- server rendering (talk about tradeoffs, namely about cacheability)
- combining HTML using
hyperstream
- caching HTML using
bl
- reference: optimizing builds: dive into the transforms and how to serve for production
- reference: Actions:
- guides: exact guides on how to build specific things; perhaps centered a common theme or smth?
- guide: your first app: some sort of app in
choo
; guide people front-to-end- intro to browserify && show off
budo
? - ... ehhh; create some static html and then make the rest of the app?
- intro to browserify && show off
- guide: wrapping for webcomponents: probably just one page
- guide: react migration guide: translating react-speak to choo-speak
- guide: choo + leaflet/mapbox.js: demonstrate basic usage of leaflet and/or mapbox.js with choo
- guide: deploying choo: show examples of deploying to github pages, surge.sh, etc.
- guide: choo & node:
- choo & http servers
- building a static site with choo
- guide: your first app: some sort of app in
note: seriously, edit me
Probably the only constraints I'd have for writing style is trying to create an approachable style (e.g. add links to words; explain concepts; spell acronyms out the first time) and referring to people as people/they/them/their
to like make assumptions on who they are. Perhaps this should be in a contributing
section. Ah well - happy writing / updating / editing / tweaking! ✨
guide ideas:
- choo + leaflet/mapbox.js
- deploying to github pages, surge.sh, etc.
- using choo in node
@sethvincent yessss - add themmmmm ✨
The first question I had after following the first two chapters was how to achieve a react-like nested tree of components rather than a single template for each route. Is passing props / send to each component function like this a decent approach?
@markbrown4 yeah, looking quite good to me - what I'd personally do different is not pass the full state
(or props
, in react land) object down, but pluck out only the relevant values as soon as possible - that way components become easier to break up, validate and reason about I reckon.
Any help with a React guide would be greatly appreciated by the way; it's been years since I've last done a project using React and I feel someone with more up to date knowledge might do it quicker and more accurately ✨
I guess inline CSS
means sheetify
. Of course choo-log
and a "how to debug" would be interesting as well.
I guess inline CSS means sheetify
Yeah, that's what I tend to use as I'm the author, but cxs is another interesting one for example - I think providing a general feel on how to solve problems + a brief overview of tooling is probably what adds most value for everyone involved - any sort of contribution with whatever tooling people like best would be greatly valued!
@markbrown4 check out #18 for a WIP guide @yoshuawuyts has been working on that addresses your question
Hi there, I'm a little curious about these:
- Which part of the planning docs explain on routing parameters? (I've walked through the mailbox example, but it doesn't look clear in my point of view, because it seems to be composed with server on routing)
- Any route middleware?
- How to implement or create a plugin?
- How about nested views? Data-flow between parent and children views?
- Is there any special way to integrate third-party into app build? (ex. jQuery...)
- Which part will explain about
when it should validate to re-render view
? (like in React,shouldComponentUpdate()