开发者

A beginner's question on web technologies [closed]

开发者 https://www.devze.com 2022-12-08 23:01 出处:网络
Closed. This question is opinion-based. It is not currently accepting answers. 开发者_如何学运维
Closed. This question is opinion-based. It is not currently accepting answers. 开发者_如何学运维

Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.

Closed 7 years ago.

Improve this question

I am just dipping my hands into web technologies. I started with HTML and now JavaScript and PHP. I have a variety of questions in my mind. I am a hardcore .NET Windows developer and earn my living with it. But now I want to go deep into Web and so here are my queries:

(1) I started using PHP. I also want to learn Ruby with Rails. Can I learn both side-by-side?

(2) What type of sample projects I can develop to learn well these technologies? I just have in mind to make a web log, that it.

(3) I am using Aptana Studio 2009. It is very good but not the best IDE. Which other IDE can speed up my design time? Any tool that separates the design with business logic automatically?

(4) What other things I must learn to bring myself to the front in web technologies?


Firstly, I applaud the initiative in learning Web technologies. Frankly, going forward, I think programmers will increasingly find it harder to not know Web stuff.

To answer your questions:

  1. I would advise sticking to one at least for awhile. I'd suggest that one be PHP. Why? Ruby on Rails is a language and a framework. I'm a strong advocate of people having some understanding of the underlying technologies, including HTTP, before they throw frameworks on top of it that may confuse or hide issues a developer needs to know about. Stick with vanilla PHP and don't confuse it by throwing something like CodeIgniter, Kohana, Symfony, CakePHP or Zend on top of it;
  2. A blog is a fine learner project. Whatever you pick shouldn't be something terribly complicated, something you can get something out of relatively quickly and something you should be able to add features you want to (you'll be more interested this way);
  3. Jetbrains new Web IDE is coming along nicely. It's what I've switched to. PhpEd, Eclipse PDT and Netbeans all have different merits;
  4. HTMl, CSS and Javascript. Additionally I'd also recommend jQuery.


1) Yes. But it is advisable to pick one technology/web framework and master it. It is easy to get caught in the technology rat race.

2) Think of a problem you have been facing say at workplace. Perhaps there is some routine work that can be done better using a web application. Use that as a project.

4) Read up on basic design principles like layout, color etc. The Non-Designer's design book is a good place to start.


1). I personally would advise you go with Ruby, Java or .NET but stick to one whilst learning, preferably the one closest to he language you know already, which for you means .NET (C#?). I wouldn't recommend PHP under any circumstances but plenty would.

2). Yes, a blog is a good starter project.

3). Just get yourself a good text editor for starters. IDEs make a hash of HTML/CSS/JS which is what you'll be doing a lot of too. But you can stay on the free side by getting a copy of Visual Web Developer Express Edition.

4). Get seriously aware of HTTP, HTML, CSS + JS. In fact don't even think about dynamic pages until you have static pages down solid. Then add dynamic functionality.

Addendum:

From my experience of colleagues who have taken the path you're taking, desktop development teaches you a number of bad habits for web development that you're going to need to unlearn. Specifically: assumptions about state, client vs server, concurrency, and - both most and least serious - inline styling. Bad. Bad. Bad.

A solid understanding of HTTP helps clear some of those, and learning CSS (as an effective way of learning the value of separation of concerns) helps with the latter. Concurrency is something most frameworks will take you 90% of the way with but it's always going to be up to you to think about when and how to apply it.

Given further thought I would ultimately recommend you stay in .NET land (the ASP.NET pipeline model and C# as a whole are solid and mind-blowing respectively) and get yourself express and download ASP.NET MVC extensions for it - the WebForms model is pretty widely reviled by web developers for a reason, but coming from a desktop background it might be more immediate for you. At the expense of settling you into those bad habits I mentioned.


  1. Yes if you're dedicated. If your php is stronger than your RoR familiarity there's a book for you @ http://railsforphp.com/ - I would recommend getting more familiar with PHP then jumping to RoR as it's a bit more to learn because of the whole MVC architecture and the language itself is different from most semicolon and braces C-style languages.
  2. The hello world of web programming - a blog.
  3. Personally I use VIM which isn't an IDE, but it's pretty friggin efficient for text editing.
  4. I would recommend often reading Stackoverflow and try to answer some questions while you're learning some new technology, it'll double the rate at which you'll learn if you really force yourself.


  1. You can. I think I would advise against it.
  2. Blogs are good places to start. Maybe a photo gallery?
  3. Eclipse is nice for all sorts of development.
  4. Like Nike says, "Just do it" :)


1) This depends on your learning capability, but you really shouldn't. Start with either one, get good at it, then the second one will be much easier to learn.

2) As said before, blogs are a great way to start. You also want to create something like a shopping system to get the grip on good database development.

3) You don't want to create Business Logic alongside the UI. Try learning about templating engines such as Smarty, and your problem will likely vanish instantly. Try Eclipse for an IDE, or better, learn about vim.

4) Discipline. It is incredibly easy to shoot yourself in the foot using PHP and Ruby using crappy code. Dot your is and remember to initialize your variables. Don't just copy code from somewhere, but think of what it does and what could go wrong. Sanitize user input. This takes work, but saves headaches later on.


1) Dont you will just confuse yourself. Learn one after the other both are good!

2) Amazon and Wikipedia are largly php based, I know of a couple of airline booking systems, most blogs are based on one of several freely available php applications.

3) For php/javascript/css I have always gotten by quite happily with good old vim, but thats just me. I would beware of any "framemaker" type GUI html editors as they tend to generate a lot of confusing and unreadable html. Its alright for a static page but when you generate a dynamic page you really need to know what all the html tags are there for.

4) If your serious you really need to learn about cascading style sheets and how to use them properly.


(1) It is all about what you want to do and are you OK with handling new technologies. You can do anything.

(2) What about hello world or simple login application if you are beginner really.

(3) Eclipse always a Best option to think.

(4) CSS, JavaScript, and new JavaScript frame work like prototype,jQuery and more importantly some of the tag library.

0

精彩评论

暂无评论...
验证码 换一张
取 消