Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialAJ Abrahamsen
5,479 PointsNext step?
So I have learned HTML5 and CSS3. Then I jumped to the backend where I learned Python and Django. With these technologies I was able to build a work order system for my IT department on our intranet. I really enjoyed developing that site so I decided that I am going to continue to further my knowledge. It seems like Javascript should be the next thing I learn but in researching this I have run in to some questions. First off how far do I go with Javascript? There seems to be a lot of related technologies: jQuery, AJAX, AppML, AngularJS, JSON...... how much of this do I need? Secondly I see a lot of people talking about how they avoid using any javascript as much as possible and instead use HTML5, CSS3, and their backend to replicate things that javascript can do. Why would people avoid javascript and is avoiding it something I should consider?
Thanks in advanced for your thoughts.
4 Answers
Johan Gudmundsson
3,316 PointsBefore JavaScript was only a front-end language. But today it is a full-stack langugage that you can you to do (almost) anything. The first thing you should do is to learn JavaScript. Once you know JavaScript you will be able to easy learn different libs and framworks like jQuery and AngularJS. So first learn JS, then take a look at what you want to do with js (front-end? back-end? end so on) and look up what framworks and libs you want to take a closer look too.
Another language you can look in to is Java wich is used to build powerfull webapplications, dekstop applications and android apps. Is you are interested in webdev you could also take a look at PHP or a CMS like WordPress :)
Roy Penrod
19,810 PointsHey, A.J. Congrats on getting your work order system done. That's a huge accomplishment. Don't you just love the feeling of completing a project? :-)
Everything you ever ask about what should I do in web development can be answered with "It depends." It always depends on your goals and the goals of your employer. So what are your goals? Where do you want to be in a few years?
Now let's tackle a few of those JavaScript questions.
JavaScript is a core technology and it's not going anywhere any time soon. It is commonly used as a client-side programming language to add interactivity to your websites, but it's actually a lot more powerful.
As far as why anyone would avoid it, it's probably a personal preference or they've been around a long time. Back in the early days of the web, developers used to avoid it because it wasn't supported in every browser so you couldn't really rely on it.
But those days are long gone.
JavaScript is a mature and stable programming language that's supported in every modern browser. You can use it to program serious front-end web apps and even write back-end code that runs on the server via NodeJS. You can even use HTML, CSS, and JavaScript to create desktop apps now.
If you go through the Front Web Development track, you'll get a solid grasp of the language and get familiar with jQuery, JSON, and AJAX.
You can get a lot done with just the core JavaScript language. The other things are tools to use with it. Sometimes you'll need some, sometimes you won't.
In my opinion, if you are in web development for the long haul, you need to learn JavaScript. Learn the core language. Get comfortable with jQuery and AJAX. Do a little research into the other JavaScript frameworks and libraries so you know what they're used for. You don't have to master them, just understand where they're best used. You're a programmer now ... you can pick them up when you need them for a project or a new job.
And learn JSON. It's a widely used data exchange format and I see it on a lot of web developer job listings.
Let us know what your goals are and we can give you more targeted advice. You've already done the hard part and got your first project under your belt.
Johan Gudmundsson
3,316 PointsThats I great answer!
Just want to add my opinon: As you say JavaScript is a wide used language on the font-end to create interactive webpages and webapplications. And as you also sated it can now a days be used on the back-end also thanks to NodeJS.
But what I want to point out (personal opinon) is that I think we are getting closer to a future where JavaScript will be used on the back-end on the majority of all new webpages/apps and that PHP will in a near future be "the old days". So just as you already has stated, JavaScript is a core language that is important to learn. I just wanted to add my opinon to why it is important.
Once again, your answer was great, and great explaind. Hopfully it will help TS. :)
AJ Abrahamsen
5,479 PointsThanks for your response.
My next project goal is to build a photography site for my wife.
My long term goal is to be good enough to create websites as a side job. Though one of my other hurtles with this goal is that I am terrible at design. Right now I can make a site when given specific instructions about page layout, colors, and functionality. But when I try to create a site from scratch it looks terrible.
Johan Gudmundsson
3,316 PointsHello AJ!
Then for your next project I would suggest you to take a look at a CMS called WordPress and more Specificly WordPress Theme Development.. It is good for that purpose you describe and there is also a huge job-market with the average pay on 50$ per hour. Is also open up alot of passive income possebilitets like selling prenium themes or plugins at a marketplace. WordPress is build on PHP as a back-end langugage but you dont need to know PHP to be able to use WordPress. Here at TTH they have a few courses on WordPress that you can take. WordPress also has a great codex online where you can look thinks up.
Things you also might want to start learing while working on this project is front-end JavaScript and PHP. TTH has courses for bouth! Once this projekt is done, you might in the future also take a look at JavaScript as a full-stack langugage (TTH has course on that too).
Thats my advice! :)
Roy Penrod
19,810 PointsIf you're wanting to freelance as a web developer, you'll definitely want to take Johan's advice and learn WordPress. It's the most popular Content Management System (CSM) on the internet. That's just a fancy way of saying it lets ordinary people publish and manage their content without understanding the code behind it.
If you want to create your own components for WordPress, you'll need to learn PHP and how WordPress works beneath the hood. With a solid grasp of PHP, you can create your own Themes and Plugins.
Themes change the "skin" of the website, giving it the look and feel you designed while still working within the WordPress environment.
Plugins are little packs of code that add some functionality to the website.
Just do a quick search for "wordpress themes" and "wordpress plugins" to get an idea of what's already out there.
As for your wife's site, go ahead and give WordPress a try. There are themes specifically designed for photographers.
Johan Gudmundsson
3,316 PointsNaa, you dont need to learn PHP to create Themes and Plugins. Or atleast you dont need to learn PHP before you start learning WordPress.
For creating basic themes you only need to know a few (PHP) WordPress code snippes and all you really need to know is what how to write them and what they do. You dont really need to know what the PHP Syntax means.
For advanced themes you would need knowladge about some more advanced (PHP) WordPress snippets like Custom Post Types. But once again you only need to how to write them and what they will do. You might at this state want to learn PHP anyway to create advanced custom functionality. But I think that writing custom functionality in JavaScript is a more popular choice.
For plugins you could write them in PHP, but you could also write them in JavaScript and the only (PHP) WordPress needed would be how to enqueue scripts.
For a deeper knowledgde on how WordPress work, then PHP knowladge would be needed for sure. No doubt about that.
But concidering the knlowledge he already has, what he want to do and what he want to learn. I would suggest taking the WordPress course here at TTH. And then create a basic theme since this would only require html, css, basic WordPress knowledge and some PHP knowledge on the way. For the gallery he could use a already published plugin. And once he have this done decide how to take it future.
One choice chould be to learn JavaScript first and then go on to jQuery and making the site interactive.
Another choice could be to learn in PHP to get in depth knowledge on how WordPress works and maybe even creating a new gallery himself.
What he decides to learn first of these two, dosent really matters. Both languages would take him on the right direction to be a freelancer. And creating prenium or free themes would sooner or later build up a portfolio and take on the right direction to land a job as a non-freelancer. :)
But thats just my opinion.
Roy Penrod
19,810 PointsHey, Johan.
I agree that you don't need to learn PHP before you start learning WordPress, but you'd better know it if you're going to offer WordPress development as part of your freelancing services.
I've done some freelancing on WordPress projects and you can get deep very quickly. A client just expects you take their requests and make them happen. And that often requires writing custom code and understanding how it plugs into the WordPress system.
Johan Gudmundsson
3,316 PointsYes, agree on that the past 5 years I have been freelancing on mainly WordPress projects. It was just an opinon in what order it would be best to learn the things in his situation :) But all should be learn if this is something he would like doing as a freelancer.
In general (as you probably know) when it comes to freelancing, you need to know about a lot, and never stop learning (and thats also why TTH is such a good resource btw). Because a client most time just want "a website" and the freelancer need to have knowledge about the rest, choose the right cms, or language, framworks tools and so on. In the same way when someone tells a carpenter they want a house, and the carpenter needs to know if he is going to use a hammer or a screwdriver, or maybe even both :)
Roy Penrod
19,810 PointsWe're on the same page, Johan. Good talking to you. :-)
Johan Gudmundsson
3,316 PointsTotaly agree! Some great opinon has been shared! :D And TS has gotten lots of answers! :)
Roy Penrod
19,810 PointsHey, Johan.
The only thing I'm certain about with web development is that things will continue to change at a fast pace. lol
You could be right. I think JavaScript is important and there are a lot of major companies investing heavily in it. I'm learning as much about it as I can.
But I don't think PHP will go away as quickly as you think. A lot of companies are still heavily invested in it (including Facebook) and larger companies are slow to change because they've invested so many resources into a specific tech and have massive code libraries.
When I'm trying to decide what to learn next, I check the web developer job listings for a few different cities. That gives me a solid idea of what's being used out in the wild.
Johan Gudmundsson
3,316 PointsYes I agree with you, I also dont think PHP will go away anytime soon, tons of site a built with it and most CMS like WordPress are using it. What I meant was that I think that in a near future the majority of all new sites and applications will be pure JS based. But there will ofcourse still be tons of php jobs, and php will for sure be the most used back-end language for web for a long long time :) After all it has around 80% of the market at the moment if I dont remember wrong :)
Roy Penrod
19,810 PointsYeah, I think you're right about that. JS will continue to gain traction as the tools for it get more robust. You'll probably see a lot of it with the more progressive web app companies and new startups.