TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Best progressive way to learn web development

15 点作者 hiteshtr将近 12 年前
I am novice in web development, but I desire to learn all aspects of web development like web security, web API development etc. What is the best approach to learn them all progressively (a step by step way) ?

4 条评论

brianchu将近 12 年前
For each step build 1-2 basic apps. (Basic app = 1-3 days of work).<p>Basic HTML + CSS (don't spend too much time here) + skim the Bootstrap docs (you should use Bootstrap for everything after this).<p>Basic JS. Go deeply into JS (inheritance, etc) if you want to do rich client-side front-end JS or Node.js (more on that choice later); otherwise that is unnecessary.<p>jQuery. Also learn to use AJAX with jQuery (and learn about REST/HTTP).<p>Basic SQL and setting up your own schemas (set up tables in the command line interface for MySQL/PostgreSQL/SQLite). I recommend Postgres.<p>Now pick one of 3 web backend ecosystems: Ruby, Python, or Node; and learn the language. Pick Ruby or Python if you already know one of them. Pick Node if you want to make real-time and concurrent apps or don't want to learn another language (I'm talking true realtime - i.e. collaboration tools, chat, dispatch systems, etc). Pick Python if you want to integrate machine learning/data analysis/natural language processing into your app. Otherwise, pick Ruby (best job prospects, biggest web development ecosystem).<p>For Ruby, start with Sinatra. For Python, Flask. For Node, use raw Node, and then use Express. Use raw SQL, then try an ORM (ActiveRecord, SQLAlchemy, Sequelize).<p>Optional: Rails, Django, or Meteor. (Meteor is not really comparable. It's very immature/bleeding edge and has a different use case. I put it there because it's the most popular full-stack big JS framework). I say optional because there are essentially two models for web development: server-centric (everything rendered on server and served), or api-client-side-centric (server = API, browser/mobile app = rich client side). For server-centric development you'll want to learn Rails/Django. For rich client you can stick with Sinatra/Flask (Meteor would be rich client, though).<p>If you do go the rich-client route, do a little Backbone. I personally never liked Backbone; if you also dislike Backbone, consider AngularJS or Ember (AngularJS is what I'm using now).<p>With this broad foundation, start with a longer-term project idea and build out its entire stack.<p>Some topics to explore after you've gotten a foundation: MongoDB/NoSQL, regular expressions, advanced CSS3, advanced HTML5 features, dev ops, socket.io (for Node), promises/fibers (for Node), CSS pre-processors, CoffeScript, d3 (front-end JS).<p>EDIT:<p>REST and ORM are merely concepts. You will learn what an ORM is by the process of first learning SQL, and comparing that to your experience with using ActiveRecord/Sequelize/SQLAlchemy. You can simply google "What is REST?", or "REST API tutorial."<p>As to your questions about Foundation and Go: what I've proscribed here is a foundation. Not a definite, set-in-stone path. There is certainly a lot of buzz around Go. Yet the question is not whether you should learn Go. The question is whether you, as a beginner, should learn Go <i>now</i>. Go is bleeding-edge and highly immature (in terms of the ecosystem). It is not something you should tackle first. As for the Foundation vs. Bootstrap debate, the reason I mention Bootstrap is because it is more or less the de-facto standard HTML/CSS framework. But ultimately it doesn't matter which you pick. I've never used Foundation but I could read the docs in an hour. This is the least of your worries. Just pick one and go with it. Baby steps.
评论 #5832950 未加载
评论 #5831251 未加载
tmandarano将近 12 年前
Treehouse, Codecademy, and Coursera are great tools to teach fundamentals. Books can be good. There are screencasts that can be helpful as well.<p>Disclosure: I work at Code Fellows.
评论 #5830850 未加载
porter将近 12 年前
Come up with an idea for a web app and struggle to build it. You'll learn what you need to know as you go along, plus a lot more.
评论 #5832342 未加载
equilibrium将近 12 年前
here's a good list of resources <a href="http://prework.flatironschool.com/" rel="nofollow">http://prework.flatironschool.com/</a>