I am currently learning Java, and have access to a slew of books from OReilly. I was wondering what kind of languages should I pursue, in hopes of making a dynamic, service-based, social network integrated website. (I would like top include APIs from google, twitter, facebook 开发者_运维技巧etc.). I would guess HTML, CSS, PHP, MySQL, Ajax(?).
Please advise on the Order in which these languages should be learned (HTML
Just to give you an idea of where i'm at, I am doing GUIs in java.
Thank you
Must learn client side tools:
- HTML
- CSS
- JavaScript
Then pick a server language. As some have pointed out the comments, Java has a huge range of libraries and it might be a good pick to run with PHP. It has a similar syntax so shouldn't be too much of a learning curve.
Or, if your comfortable using Java and don't mind the learning curve to adapting that knowledge to web generation than that is an option too.
Then pick a database - MySQL, PostGres or whatever you are comfortable with. Learn the SQL specific to that database.
Then learn about:
- Web Security frameworks
- ORM / MVC framworks for your chosen server language
- front side libraries like jQuery, etc.
(EDIT: amended according to the comments below)
You need to know HTML and CSS before you can even hope to do anything on the Web. They're not programming languages, but they're the foundation of actual web pages, which any web application must eventually display. After that, you can work on JavaScript, which is fundamentally a client-side language. After that, you learn a server-side language of your choice; Ruby, Python, and PHP are the choices du jour, although any language will work, certainly including Java. In conjunction with the server-side language, you will need to learn at least the basics of databases (MySQL, PostgreSQL, or what-have-you) and AJAX.
Don't get distracted by buzzwordism: AJAX, for example, is just JavaScript interacting with your server-side language.
Resources:
- HTML, CSS, and JavaScript: use the Mozilla Developer Network (MDN). It is a complete and reliable reference.
- If you want to begin working with JavaScript before server-side programming, check out jQuery. Its utility will be limited without AJAX (which requires server-side scripting), but you can learn more about the DOM and begin to write dynamic web interfaces.
- Depending on which language you decide to use, you could choose a web framework: Ruby, of course, has Rails; Python has Django and Pyramid. Most people use PHP sans framework, but you can try something like Zend. These frameworks basically bundle everything you need to produce a working web application into one overarching package, so that you don't need to worry about picking an ORM, picking a templating system, etc.
- You will want to learn SQL. sqlzoo is a great site, and one that will give you a good grasp of the basics of a RDBMS. After that, I recommend using PostgreSQL, but that's just my personal opinion.
This question is pretty subjective, but I'll give you my 2 cents in a quick overview fashion. I'd go about it in this order:
- Continue with Java
- HTML/CSS
- JavaScript
- SQL and database backends
- PHP
- AJAX (which is applied PHP+Javascript+SQL)
Continue with Java to get a good, strong background in a strongly-type, object oriented language. I think this is essential. Web technologies like PHP and JavaScript do not enforce type-safety which can lead to bad programming habits. Once you start "seeing" programming in an object-oriented fashion, you will be able to apply it to other programming concepts.
Read up on HTML and CSS (concurrently) to get a good idea feel for how webpages are designed. Without this, you'll be lost!
Next you can move on to JavaScript. It'll be nice and familiar, if you have a good background in Java. Be sure to read up on closures and other modern JavaScript practices.
At that point, you'll want to learn how to drive a webpage through a database backend. So learn how to design relational databases and how to get data from and put data into them using SQL.
Next, you'll want to learn a server-side scripting language, such as PHP or Python. This will give you the tools you need to create webpages which access your database backend.
Once you know these technologies, and not before, you will be ready to dive into AJAX. Be mindful that this is more of a concept than a technology -- and more of a buzzword than a solution.
start with the HTML basics, HTML, CSS, Javascript then learn thebasics of PHP or ASP.NET, then learn the basics of some DQL like MySQL, MSSQL then go back and learn more advanced PHP. then get the handle of AJAX and pick up a JS API or two, jQuery, Prototype. then learn advanced DQL (MySQL, MSSQL stored procedures and such forth.) then go back and leanr everything that's changed in HTML in the intervening period. then pay someone who has been programming for at least 10 years to write your site for you. If you don't already have a real good basis in any given web language, you're not going to be able to learn enough fast enough to make the next facebook killer anyhow.
HTML CSS JS then everything around JS like Ajax
Then PHP or ASP.NET whatever you prefer, and then SQL.
精彩评论