问题
I'm primarily a front end developer and I've been meaning to get into server side development. I'm not new to programming per se [I've been doing a fair bit of programming for the past couple years] but I'm fairly new to server side development.
I've dabbled with PHP in the past and have used it to construct spartan websites but never web applications. Is PHP still the recommended port of call for a beginner? I've been hearing a lot about frameworks like Rails, Django and CodeIgniter. Should I start with them or is it better if I skipped this part? I'm also new to the MVC architecture for the record.
As you can see, I'm fairly off my comfort zone here and not sure where or how to start. I really appreciate any and all inputs/comments.
回答1:
Two points that I see, that you are asking about:
- Getting into the server side development
- Learning a new language
If you'd start both at the same time. You will have to deal with the language barrier as well as the hows/whats of server side development.
So, I would start with server side development using PHP; learn how it works. Since you will not have to concentrate on the language.
And then, when you know how server side development works, if you must, move on to Ruby/etc. By then you will be having fair idea of whats/hows of server side development; and would require most time learning the language.
Following might help:
- PHP Server Side Development
- PHP MVC
- A Brief Comparison of Server-side Scripting Langauges
回答2:
PHP is a weird beast, on the one hand it is supported pretty much everywhere. On the other hand, the language is quirky and it makes it easy to do the wrong thing. I constantly come across PHP applications that mix business logic with HTML. It is also trivially easy to write insecure applications in PHP. If you are going to go for PHP I would recommend using a framework, however I haven't investigated enough of them to recommend one over any other.
I have no experience with CodeIgniter, but a lot with Rails (for a busy invite-only social network) and Django (for a community based site w/ integrated shop).
Out of these frameworks, I would recommend Django. The approach to Models is more clearly defined, the URL mapping is (imho) much nicer than Rails routes, the form handling is nice too. Off the top of my head, I can't think of anything that Rails does that I wish Django could do the same way.
However, if you are looking for jobs, their usage is pretty much in this order:
- PHP
- Rails
- Django
PHP has been around for ever, Rails was a bit before Django and got a lot of mindshare, Django is used in quite a few places, but isn't advertised for as often.
Both Python and Ruby are easy to learn, and you can pick them up as you learn the framework. Generally Django and Rails don't require you to know too much of the language to use the framework. I find them a good introduction to the language as a whole.
You will find learning any of these languages/frameworks fun and rewarding.
回答3:
Being an ASP.NET developer, I might be a bit biased but I actually believe ASP.NET is a great platform and you should give it a try. C# is a great and very powerful language and is not hard to learn esp. if you have previous experience with programming.
Also, if you're interested in the MVC architecture you should learn ASP.NET MVC (which Stackoverflow is built with, BTW). But I recommend you get comfortable with C# first before trying to learn ASP.NET.
回答4:
Try http://vcljs.com is all in one enterprise web development tool,
- Visual Component Library- include Page,Grid,Input,Gauges,Charts and many more
- Pure JavaScript
- Single page application
- .Net Backend
- Data binding
- Twitter bootstrap
- Simple database query execution
- Routing
- AMD - Module loader
I guess the idea is that you don’t need to learn jquery,Sammyjs or any other framework
回答5:
I'd suggest getting in deeper with PHP until you have a fairly good understanding of how Server-side programming works. Once you no longer feel like a dabbler then look into frameworks which are quite different than programming in plain PHP. You can use a PHP framework or learning a new language and use Python Django, Ruby on Rails, or just use Node.js since you already know JavaScript from your Front End development.
来源:https://stackoverflow.com/questions/3861616/web-application-development-for-a-beginner