Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Book > Introduction #33

Open
michealbenedict opened this issue Feb 9, 2014 · 8 comments
Open

Book > Introduction #33

michealbenedict opened this issue Feb 9, 2014 · 8 comments

Comments

@michealbenedict
Copy link
Contributor

I am not sure whether this has been discussed yet, but I am looking to put together some introductory content to help set some user expectations regarding the book.

As a reader of this book

  • I wish to understand what is frontend tooling?
  • Why is frontend tooling important and what does it consist of?

(Please let me know if I am missing any other user use-cases)

Now, #15 briefly calls out some topics and I have expanded on them below. I look forward to hearing thoughts/ideas on how this can be improved.

  • Introduction
    • Some history on frontend development (Probably walk through various trends on web app architecture)
    • Pre-Rails era (PHP based web apps, Flash based apps)
    • Rails era - REST based web apps (probably talk about the transition phase where the presentation layer is moved out of Rails apps)
    • Post-Rails era - Single page apps
  • Why automate?
    • Briefly talk about the increase in complexity of building frontend apps (perhaps mention how frameworks such as Angular, Ember, Backbone etc have had an impact on this).
    • Use an example app (todomvc) to describe the richness and complexity of frontend apps and how automation helps during development, testing and deployment.
  • Command-line
    • Make a case as to why command line should be embraced by frontend engineers
  • Node and npm
    • How node and npm is used towards the development of frontend apps?
@sindresorhus
Copy link
Contributor

👍

@addyosmani
Copy link
Member

The above list looks pretty solid to me. If I were reading this book I would personally be most interested in the last 3 topics (content length wise) but the pre-rails/rails/post-rails era content also sounds like it would make for a good read. 👍

@Munter
Copy link

Munter commented Feb 9, 2014

Some things that come to mind when I think about why tooling:

  • Performance is not an option. Some words about the work pioneered by Steve Souders and Yahoo in documenting front end performance and how to optimize for it.
  • Given the hoops we have to jumps through for performance it follows that development code cannot be equal to production code. A compile step is needed in order to keep development clean and efficient
  • This compile step is heavily targeted towards HTTP 1.x. Other things might be needed when we get HTTP 2.x / SPDY with wide adoption
  • Some description of the complexity of the optimizations leading to the absolute need for full automation

@michealbenedict
Copy link
Contributor Author

Thanks for the initial feedback. Quick FYI, my topic recommendations were primarily geared towards a larger newbie-intermediate audience.

@addyosmani agreed. I am unsure whether the Rails content should exist even, but my motivation is to make a case on why automation is required today and how it helps during development, testing and deployment (which was not a big deal back then).

@Munter great points, added inline comments.

  • Performance is not an option. Some words about the work pioneered by Steve Souders and Yahoo in documenting front end performance and how to optimize for it.
  • Given the hoops we have to jumps through for performance it follows that development code cannot be equal to production code. A compile step is needed in order to keep development clean and efficient

Agreed. I am assuming you mean to call out how automation makes it simple to enforce some standard performance principles (not app specific) such as minification, reduced http requests, etc.

Some description of the complexity of the optimizations leading to the absolute need for full automation

I am unsure whether I follow, can you elaborate here?

@addyosmani
Copy link
Member

I would love to see the intro section fleshed out a little more based on the initial points we have covered here so far. @rowoot would you be interested (or have time) to put something together that captures the core set of items we don't yet cover for the intro?

@michealbenedict
Copy link
Contributor Author

@addyosmani I am working on this. Let me get back to you in a day or two with a rough draft.

@sindresorhus
Copy link
Contributor

beep boop :)

@michealbenedict
Copy link
Contributor Author

Edit:
Oops, I think I forgot to mention, but I had put together an intro quite some time back which is merged via PR #58 - http://tooling.github.io/book-of-modern-frontend-tooling/index.html. I scoped this first version which talks the the various steps a dev has to take before building and launching a web app.

I am bit unsure on what topics to cover in the next version of the introduction, any ideas/thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants