Vheissu / aurelia-for-real-world-web-applications-book-feedback

Post feedback as issues here on Github for the Aurelia book. Be as descriptive and honest as you like.
15 stars 0 forks source link

Good information but... #93

Closed omidh28 closed 7 years ago

omidh28 commented 7 years ago

Hi Dwayne!

First of all I want to thank you for writing such a book with good information, However as a new developer I wanted to point out a few things.

I just bought the book and started to read it immediately. In Who Is This Book For? section you said that

This book assumes no prior experience with Aurelia or any other Javascript framework. It however does assume you have an understanding of HTML, CSS and Javascript. It is also recommended that you have a basic understanding of future standards Javascript, but this is not essential

Which made a smile on my face but after reading following pages I thought that statement does not seem very true, For instance the book explains what is Node.js, How to install and use it but a few pages later it goes over topics like Requirejs, Webpack and even Easy Webpack without giving a fine description about them. This type of structure raises a question, How author assumes readers may not know how to install Node.js but do know what is Webpack and its stuff?

And for my case (And I think for many others) I knew Node.js but I've only heard the name of Webpack.

Another issue I want to point out is the lack of structure so I do not know how exactly I should read this book. I mean as a developer who wants to have deeper understanding of Aurelia, I can't start from page one and go along till the last page while learn and understand things because it misses structure, First it comes The Basics & Fundamentals then Multipage Applications With .setRoot ?? I wasn't expected this after that!

Code examples lack interest and because of the title I expected project based learning. Although many information can be found in the book, These issues made reading it harder and less enjoyable.

Even though you mentioned book as old school and documentation like, I found Aurelia's official documentation more structured

Vheissu commented 7 years ago

This is actually very insightful @omidh28 thank you for taking the time to write all of that.

later it goes over topics like Requirejs, Webpack and even Easy Webpack without giving a fine description about them. This type of structure raises a question, How author assumes readers may not know how to install Node.js but do know what is Webpack and its stuff?

I definitely see what you mean and I have taken this feedback on board. Sometime this week I will put out an update with some more information about each of these listed items. The book could definitely do a better job at explaining these technologies, especially to someone who might not be familiar with them.

Another issue I want to point out is the lack of structure so I do not know how exactly I should read this book.

This is one aspect I have struggled with and being my first book, it is great to get some feedback on this. Working out how to structure the book has been one of my biggest struggles to be honest with you. I resist the urge each time to completely change the structure. I am planning (based on your feedback) making things a little more coherently structured.

I mean as a developer who wants to have deeper understanding of Aurelia, I can't start from page one and go along till the last page while learn and understand things because it misses structure

When I started the book, it was never intended originally as a book that took you step-by-step through each concept in Aurelia. As time went on, I did start making changes with this goal and it is an ongoing battle unfortunately.

First it comes The Basics & Fundamentals then Multipage Applications With .setRoot ?? I wasn't expected this after that!

Fair point. Once again, I have taken this onboard. I will be putting out an update shortly which begins to address this. This is great feedback, very helpful.

Code examples lack interest and because of the title I expected project based learning. Although many information can be found in the book, These issues made reading it harder and less enjoyable.

The general idea is that you learn the boring stuff first. Aurelia really has no specific code concepts of its own, so most of the examples are just basic examples. I would love to get some feedback from you on this about what kind of examples would make it more interesting, as I am sure others probably have felt the same way.

Even though you mentioned book as old school and documentation like, I found Aurelia's official documentation more structured

It is interesting you say that. When the book was first started, Aurelia's documentation was not in a great place. Since the launch of the Hub, it has definitely improved a whole lot. The challenges of writing an in progress book are when you go back and change things, it can get complicated and the book starts to get disjointed.

I would be grateful if you had some more in depth feedback on how the book can appeal more to you and make more sense.

Vheissu commented 7 years ago

Based on this feedback, I have started rewriting chapter 3. I also added in some more information in chapter 2 on things like Webpack, RequireJS and Easy Webpack. Hoping to have a release out this week, some big changes.

Vheissu commented 7 years ago

Following up on this. The book is undergoing considerable improvements since you posted this issue. I am keen to get your feedback on the changes soon @omidh28

omidh28 commented 7 years ago

Honestly I'm quite surprised that you have considered my feedback with such speed! I should thank you for that which encourages me to read the book more deeply and I'll give you some feedback as soon as possible.

Vheissu commented 7 years ago

No worries @omidh28 I really appreciate the honest feedback. I might have a new version out in the next few days, so maybe hold off going through the book entirely. I am moving away from the documentation approach and moving towards a book with more practical examples. I just wrote an entire chapter where you build a Twitter clone (albeit, rather basic) using the Aurelia CLI.

When I started the book official documentation was heavily lacking, so the goal was the book would answer questions the documentation didn't and then elaborate a little more. But then the official hub was launched, official documentation became useful. So now the book and documentation were competing essentially, I was parroting things the documentation already said.

So now the book goes from explaining the basics of Javascript and the new features it brings, how Aurelia uses them. It touches on TypeScript and then guides you through installing Node.js. Then you build a basic Twitter like clone as an introductory example. Then the book goes into templating, explains how to work with binding and the syntax, custom elements and so on. The idea is more coding and less droning on about things like the documentation. Because this is an eBook, I can just link off to the appropriate parts of the documentation when the user wants deeper detail.

The end chapter is going to be a few full applications with source code, showing you how to work with Node.js, Firebase, communicate with API's and whatnot. There will be a Slack clone, quiz application and more. I think this will be the chapter that interests everyone.

If you're interested, this is the clone app I am putting into the book: https://github.com/vheissu/tweeter

Vheissu commented 7 years ago

Still diligently working away, hoping to have the new version out soon. It is a bigger task than first thought.

omidh28 commented 7 years ago

Thank you for this big update, I'm still reading it but I took a general look at the first parts of the book and find it much more enjoyable and structured. The An introduction to ModernJavascript is promising and an important part I think. Honestly, I skipped TypeScript part because I don't like TypeScript.

I know there is Building your first Aurelia app but personally I think It would not replace Hello World style examples. That chapter is 50 pages ahead and keeping readers interest that long is not easy especially in software related stuff because unlike other sciences, the learners are in the habit to immediately use what they've just learned. With adding some small examples (somewhere in The fundamentals of Aurelia maybe) you can show readers(Most of them are already heard or tried other frameworks) why Aurelia is different. some basic examples can illustrates the Aurelia's magic, ease of use and proof for what you said in first section about Aurelia.

Before Aurelia, I've never used a framework in my life so as you know there were lots of options out there. I read about them, tried them then I simply left them because I was not comfortable to be forced to learn TypeScript, jsx or some weird syntax However seeing a Todo example in Aurelia was a big relief :smiley:

In addition describing what is view, view-model gives new programmers some conceptual understanding but showing them an easy and approachable example will turn the Aha!-Lamp on in their heads.

Show them what a component really looks like and then they will care about their life cycles.

That was my personal feedback for now, I'll read more to give you more of them. :smile: