DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Advice for a Server to Client Side Developer

Raymond Camden user avatar by
Raymond Camden
·
Feb. 04, 13 · Interview
Like (0)
Save
Tweet
Share
3.56K Views

Join the DZone community and get the full member experience.

Join For Free

Yesterday I got an email from a reader that meshes perfectly with what I presented on earlier in the week. Here is his email:

Hi Ray, what would be your advice to CF/PHP developer - if that matters at all) who wants to get properly into HTML5/Javascript/Jquery arena. I have basically used JS/jQuery and a little bit of HTML5 stuff without understanding fully - just using ready made code but I would like to start writing my own code - does that make sense?

I understand other people's code but I am not able to write my own yet. I also find overwhelming the amount of new libraries that are born every day and I do not know where I should start.

The first thing I noticed here is that you said you're using code without fully understanding it. Welcome to the club. I run into this a lot. My presentation earlier this week was very much based on the experience of people like you. People who use JavaScript without perhaps understanding what in the heck they are doing. That's "wrong", "bad", etc but it surely happens. Based on the type of questions I get on some of my posts, it actually feels more like the majority.

While that is unfortunate, it is at least a good thing that you recognize what you're doing. I know I've done this myself many times in the past but I try to at least flag the respective technology/routine/library/etc for follow up as soon as possible.

In terms of getting a basic understanding of HTML and JavaScript, there are a boat load of resources out there. For me though none can compare to the Mozilla Developer Network. I ignored this site for years because I assumed it was "Firefox-only", but that couldn't be farther from the truth. Their reference materials and guides are well done and should be easy to understand.

While they have numerous topic guides, here is a direct link to their HTML5 and JavaScript guides:

JavaScript
HTML5

I'm spending time next week working with SVG and their guide will be my primary learning resource.

One more point I'll make here. For me, nothing "sticks" code-wise until I open up an editor and write a quick sample. Hell, I'll even do it for something as simple as document.writeln(new Date()). Just being able to see it run and see the output in my own browser makes it persist a bit better in my brain. I also like having these sample files so that I can experiment with them later and see what happens (i.e. what breaks) when I try new things.

Pro Tip: Before you Google for anything web related, prefix it with "mdn". For example, "mdn array". This will ask Google to focus on MDN resources first. (Which means you will skip the W3Schools site!)

Another resource is WebPlatform.org, spearheaded by my own company and many others. This is still in the growing stages though so for now I'd probably stick to MDN.

Now let's talk about you being overwhelmed. Again, you are not alone. Want to get really scared? Go visit Javascript Territory which brags about having an index of 1019 JavaScript libraries. Hope you weren't planning on having a free weekend. ;)

I hear this a lot and I always say the same thing. The most important thing you need to remember is that every single one of these libraries is meant to solve a problem. If you don't have a problem, you don't need em. If you find yourself developing something and run into an issue, then try to figure out the general category of your issue, let's say date formatting, and then focus your Googling on that. If you see a random Tweet about Cowbell.js (I have no idea if that exists), click on it, read it, see what it concerns, and move on. Just keep a little nugget in the back of your head that "There is a library out that there solves problem X, when I have it, I'll go look more."

Speaking of categories, do check out Javascript Territory as they do a good job of categorizing those 1000+ libraries.

As always, I would love to hear the opinions of others, and since I'm in an airplane all day, today is the perfect day to disagree with me violently as I won't be able to respond. ;)


dev Advice (programming)

Published at DZone with permission of Raymond Camden, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Using QuestDB to Collect Infrastructure Metrics
  • Fraud Detection With Apache Kafka, KSQL, and Apache Flink
  • Exploring the Benefits of Cloud Computing: From IaaS, PaaS, SaaS to Google Cloud, AWS, and Microsoft
  • A Beginner's Guide to Back-End Development

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: