4 ms·
Ask HN: What's the Minimum Viable Skillset of Web Development?
I have a background in graphic design but I'm not an actual developer. I often find myself with ideas I'd like to try out, but the lack of skills AND direction is quite frustrating.
I don't want to become an actual web developer; what I'm looking for is the Minimum Viable Skillset I have to learn to build ROUGH, yet functional prototypes (Case in point: Peter Levels https://levels.io/12-startups-12-months/). Html and CSS are a no-brainer but I'm really confused by the bazillion of frameworks and languages out there.
- mathgeek 12y agoMy personal suggestions in parenthesis... You're going to need a JS framework of some sort (jQuery), a layout framework (Bootstrap), and something to run your backend (depends on your preference in languages... Ruby on Rails, Django, etc.).
- Red_Tarsius 12y agoThank you for your prompt reply. I'm always scared by the titles "[insert any language] is dead" and the high obsolescence of all things web dev, but I'm going to give it a try!
- deleted 12y ago[deleted]
- eminkel 12y agoPick something and stick with it; otherwise you'll never learn anything.
- mod 12y agoI posted answers to the same question over here: https://news.ycombinator.com/item?id=9096608 https://news.ycombinator.com/item?id=9096608
- gordonzhu 12y agoCheck out https://www.angularcourse.com https://www.angularcourse.com. I run through all the things you'll need to build a real app starting from scratch. The focus of the course is AngularJS, but a lot of students have been drawn to it because want to learn how to build the sample app in the course. Another big advantage of my course is that I show you how to build completely server-less apps with Firebase. That means you don't need to learn frontend AND backend programming at the same time. This is huge when you're getting started. I did this so that I could focus on teaching frontend stuff (Angular), but this had the unintended consequence of really appealing to startup types as well. I'm the author, so if you have any questions just send me an email (my email is on the bottom of the landing page).
- Red_Tarsius 12y agoVery interesting course, good job! I might give it a try.
- gordonzhu 12y agoThanks! Shoot me an email (gordon-at-angularcourse-dot-com) if you have any questions or even want to do a video chat. Happy to help!
- bnb 12y agoI'm in a somewhat similar position. I started as a web designer, but then moved my interest toward web development almost entirely. I know where you're coming from, and it can be frustrating. Everybody, and I mean _everybody_, has their framework, platform, language, and so on that you should learn. If you ask a question like this over an extended period or in a popular forum where it will get seen and responded to, you're going to get a million people telling you to go in a million different ways. _You_ need to take a look around, and figure out what's best for _you_. Pretty much every established framework, platform, and language is good. You can build an app with any of them, but some have special characteristics that might seem more relevant to your interests. You should evaluate probably 5-10 of each of the available options in each category based on the features they specifically point out that they're good at, and choose which ones you want to use. Here are some of the different frameworks/platforms/languages you can start with: MVC-ish frameworks: Angular: https://angularjs.org/ https://angularjs.org/ Ember: http://emberjs.com/ http://emberjs.com/ Backbone: http://backbonejs.org/ http://backbonejs.org/ React + Flux (my pick, as it's pretty revolutionary): http://facebook.github.io/react/ http://facebook.github.io/react/ and http://facebook.github.io/flux/ http://facebook.github.io/flux/ Server-side: Ruby on Rails (the most common server-side framework, but slowly fading out as a favorite): http://rubyonrails.org/ http://rubyonrails.org/ Node.js: http://nodejs.org/ http://nodejs.org/ io.js (my pick, as I'm involved with it, and it's 100% a step up from Node, as you can by default use ES6 (search ES6 on Google if you don't know what it is) features): https://iojs.org/en/index.html https://iojs.org/en/index.html Django (Python): https://www.djangoproject.com/ https://www.djangoproject.com/ Client-side JS: jQuery: http://jquery.com/ http://jquery.com/ Plain JavaScript (my pick, as I feel it's a lot more healthy to learn vanilla instead of rely on jQuery as a crutch, which is what most, but not all, front-end devs that use it do): A million tutorials online. https://developer.mozilla.org/en-US/ https://developer.mozilla.org/en-US/ for docs on functionality. Find extremely well-designed (visually) blogs that have tutorials on how to _build programs_ that have actual usable functionality in the browser. If you want any more advice or guidance, hit me up on Twitter @bitandbang or email me at bitnb@subvertising.org.
- Red_Tarsius 12y agoI'm very thankful to you for taking time to answer in such a thoughtful manner!
- coddee 12y agoVanilla Javascript. There are tons of frameworks out there that come and go, but as long as you know the fundamentals well enough you can transfer that knowledge to any framework. Sure the code length and complexity will increase, but it will not only force you to learn javascript, but the DOM as well. (canonical example of vanilla vs jquery): $('#myDiv'); vs document.getElementById('myDiv'); I cannot stress enough how important it is to understand the DOM in web development.
- bhayden 12y agoPeople are giving you stuff that is hard to understand for a non-developer, like Angular and MVC frameworks, and that isn't really a "minimum". The real, simplest, tools are HTML, Javascript (jQuery), PHP, and MySQL. You can sign up for shared hosting that costs $10/year and start developing something as complicated as Facebook or Wordpress with only these tools. People hate on PHP for various reasons, a lot of it stems from a lot of PHP code being terrible because it was written by novices. But this reveals something: there are a LOT of PHP novices because it is tremendously easier to get started with than other options. No configuration, just a text file ending with .php and upload it to your shared hosting with an FTP client (or even the one built into your cPanel). Bam, working backend. Feel free to contact me if you need help.