Tag: JavaScript

It Doesn’t Matter What JavaScript Framework You Use

Keeping up with JavaScript libraries is a full-time job. Even if you pick one to specialize in, the constant stream of changes made to it is going to make you feel like you’re always behind the times. On top of this, people who write about JavaScript and Web Development or make YouTube videos about it will be constantly telling you that the way you’re doing things, the library you’re using, or the specific features of that library that you’re using are ruining the web, killing puppies, and worse.

If you’re working for someone else, the tools you use will be dictated by your employer, the client’s existing technology stack, the skills of your co-workers, and a ton of other factors. Dropping your current framework because of the prevailing sentiment among guys with crazy haircuts on YouTube isn’t a luxury most developers have.

The rise and fall of popularity among tools is a natural thing in an environment where no one really has the foggiest notion what the best way to make websites is. Web developers seem to be stuck in a loop from static websites, to server-side rendering, to client-side rendering, to some hybrid between the two, and back to static websites. We’ve been around this loop several times now. Each time around the loop, the tools get more sophisticated and more complex. In some cases, they even get better. Until we figure out something that actually works, we’re going to keep going around the loop.

So, what’s a web developer who wants to stay employable to do? Clearly, migrating to a new framework every few months isn’t going to fly with your employer or clients. But, it’s a legitimate concern that the skills you have from working with one framework may not be worth anything if you find yourself on the job market after that framework becomes unfashionable. And, steadfastly refusing to learn any JavaScript frameworks because you can do everything with HTML and CSS is a one-way ticket to being unemployable.

There is an alternative that will not only make you able to quickly learn and become an expert with the latest frameworks and tools, but also ensure that you’ll always be one of the cool kids. Are you ready for it?

The secret is to learn JavaScript and the Web APIs really well.

While it’s fully possible to use a library like React or Vue.js without fully understanding JavaScript, by doing so you’ll likely end up using the library incorrectly. There’s not anything inherently bad about today’s crop of JavaScript libraries — the problem is that a lot of people are using them poorly or incorrectly. Remember: every library is just JavaScript ,and you should know JavaScript well enough that you could write anything you write using a library without using that library.

If you know what your framework of choice is doing behind the scenes, you can write good code with the library much faster than without it, which is the whole point of using a library in the first place.

Coding All-in-One For Dummies 2nd Edition

My Latest Book: Coding All-in-One For Dummies, 2nd Edition

I’m excited to announce that the latest book I worked on, Coding All-in-One For Dummies (2nd edition), will be available in stores starting this week!

When I was asked to be the lead author for the 2nd Edition of Coding All-in-One For Dummies, I immediately said “YES!” It was thrilling to work together with so many great expert authors to update this important and successful book.

My first goal with writing the book was to make sure it accurately reflected the state of coding today. The first edition of Coding All-in-One For Dummies came out in 2017. Although the foundations of coding taught in the first edition are still the same, much has changed since then.

Important changes include the shift away from mobile web apps and towards cross-platform app development, JavaScript has evolved significantly, Python has been upgraded, cloud computing has become an essential part of coding, responsive web design has gone from being a good idea to a requirement for any web site, and much more.

My second goal with this book was to make it fun and accessible for anyone, regardless of their previous coding experience. There’s a lot of information in this book, but if you take your time and play with it, it will pay off.

My third goal was to stay within the page count limit set by my editors. Oops! I love coding and everything about it. There was so much I wanted to tell you about coding that I ended up going over my page limit by around 400 pages. The resulting manuscript would have been impossible to print in one volume, I was told. So, after some careful pruning, I was able to get down to just 200 pages over the maximum size. I begged for a special exception to the rule and even took out my usual long list of thank yous to my family and third-grade teachers to save a page. Finally, even in this time of skyrocketting paper prices, the wonderful people at For Dummies agreed that this book is perfect, and they’d figure out a way to print it.

I hope you enjoy this book! Thank you for beginning, or continuing, your coding adventure with me.

-Chris

 

Online Learning Through the Instructor’s Eyes

I’ve been teaching an online course for several months now. For a year prior to that, I was writing the course and working with the team at Ed2Go to make it sparkle. My course gets an average of about 150 students each month.

Since I get asked about it pretty often, and since I feel like I’m starting to get a pretty unique perspective on online learning, I thought I’d share my experience with you, my excellent readers.

My course is called Creating Mobile Apps with HTML5. Needless to say, the course has to cover a LOT of technologies. To further complicate things, I designed the course to be useful for a very wide range of people — from those with very little web development experience to those with tons of experience, but perhaps not so much with HTML5 technologies. To elaborate and further set the stage….

I must teach:

  • HTML, JavaScript, CSS, JQuery, JQuery Mobile, JSON, web browser fundamentals, AJAX fundamentals, web performance tuning, offline database, web APIs, PhoneGap, and more.
  • In just 12 lessons.
  • To 150 students
  • Who are located all over the world
  • And who have varying levels of experience and knowledge
  • On the Web.

This is quite a daunting task…but I only have myself to blame for designing the curriculum and taking it on. When I first signed on to be an Ed2Go instructor, I was just finishing writing my book (WebKit for Dummies), and I was high on my knowledge of all things HTML5 and so I plowed on, despite my previous less-than-perfect experience with online learning.

I’m somewhat of a veteran of online teaching, having taught my first online course (for a community college) back in 2001. At the time, I was frustrated with the format and the lack of ability to really communicate with the students. After one semester, I threw up my hands and pretty much decided that online teaching was way more difficult than live teaching, and that it wasn’t worth the effort for the teacher or the students.

But that was then. Today, pretty much the exact same classroom software is being used for my online course (a learning-oriented forum system), but the entire process for developing and teaching the course has been very different.

I wrote my first online course (on web application development) over a period of about 2 weeks. It consisted of a sloppy powerpoint deck and some links to more information. There were no standards, no editorial review,  and no assistance from the school. I don’t think anyone else at the school knew what I was teaching.

Ed2Go, on the other hand, is extremely process-oriented. Deadlines are tight, and quality standards are very high. More importantly, both are strictly enforced. I consider my editor at Ed2Go to be one of the very best I’ve ever worked with. She kept me honest about whether I was doing my best work, edited me where I needed it (always making me look better than I am), and put up with (and maybe understood) my sense of humor and why I thought it was important to keep certain jokes in the lessons. Writing my course was probably the most difficult writing project of my career, and it took almost a year, during which I worked on it for 4 hours a day and got paid nothing.

Now I’m teaching the course (and getting paid, thanks). My students get a new lesson every Wednesday and Friday. The lesson contains 5 chapters of pre-written instruction, an assignment (usually a little programming task), some frequently asked questions, a list of additional resources, and a quiz. At the end of the 12th lesson, students take the final exam, which consists of 25 multiple choice questions. I’m available to answer questions in a forum area during the duration of the course, but the students’ successful completion of the course is based solely on how they do on the final exam.

The format really works, and the vast majority of my students that I get to interact with seem to get a lot out of it and have a good time. They rank me highly on the surveys at the end of the class and say really nice things in the course feedback.

So, where’s the big “but”? There really isn’t one. I enjoy interacting with my students and I firmly believe that I’m teaching them some really valuable skills and passing on some great information.

There is an occasional challenge brought on by a software dependency that suddenly makes part of the course obsolete or incorrect. Sometimes, a student may get frustrated and take it out on me (that’s what they make the delete button for!), and sometimes I may come home from happy hour too late and fail to do as good of a job explaining the inner workings of JavaScript arrays as I could have done several beers back. But, all in all, I’m really happy with my latest online teaching experience and I’m feeling really positive about the potential for affordable and high-quality online learning.

psst…Want to take my class? A new session is starting soon. Click Here!