JSP or RUBY/PHP?
At my technologies crossroads and would like to hear some words of wisdom or tales of caution. I am on the verge of assembling a development team and all things are set save my controller layer - which way should I proceed..? I personally am an experienced Ja开发者_Go百科va programmer and would certainly never even consider ASP (ever) but, would certainly consider Apache with PHP or Ruby.
Considerations:
- Development timeline of 6 month (so speed is key)
- Heavy data processes (VERY HEAVY)
- Heavy media experience
- Potential parallel usage by thousands users
Your thoughts on the pros and cons of server scripting vs interpreted coding would be very much appreciated.
Thanks!!
CFML (ie Railo, ColdFusion or Blue Dragon) would solve your concerns. http://getrailo.org
- It runs on top of JSP servers like Tomcat, GlassFish, Jetty, etc.
- Data access is fast, easy and powerful. CF... are built in tags:
<cfquery name="qInfo"> select * from myTable where key like <cfqueryparam value="#MyVar#%" null="#MyVar is ''#> order by mySort </cfquery> <cfoutput query="qInfo" group="mySort"> <h1>#MyHeader#</h1> <cfoutput> #MyDetails# </cfoutput> <hr> #MyTotals# </cfoutput>
- Support for ORM and stored procs with multiple result sets, is also built in.
- Frameworks are available, but generally not needed for a from scratch custom application.
- It scales natively (built in clustering support).
- It can handle large workloads, lots of users, etc.
- Has built in support for Ajax, JSON, SOAP, REST, etc.
- There are not as many canned apps as PHP; but, for a custom app, that's a non-issue.
- Has lots of built in tools to make sites faster, and more responsive.
- In my experience it's faster to develop in and, when taken full advantage of, usually runs faster than php or Ruby.
- Both the tag based CF... language and c/Java like scripts are supported.
- Support OOP is built in.
- c/javascript style operators, built in.
- Underlying JSP/Java methods are available, but unneeded in most cases.
- The built in optimized functions and methods are usually faster calling jsp methods.
- I could go on and on, but ..., out of time.
For database:
- MariaDB (compatible with MySQL) may fit your needs. http://mariadb.org
- If money's not an object, MSSQL or Oracle are both really good choices, as well.
If you've got java experience, have you considered Lift?
http://liftweb.net/
Other than that, ruby is a good choice, you don't need to worry about speed of processing. Contrary to what you might have heard, Ruby and Rails can scale quite well.
Will, you may hit all your goals with any of listed technologies, and JSP looks good, if you are ready to continue with heavy app servers e.t.c :-)
If your app does not require complex transactions and multithreaded syncronization, overcomplicated interfaces, you might be good with php or ruby. They both are good and have positive results in huge applications.
Personally, I think PHP have easier learning curve for JAVA developer (comparing to Ruby), and gives you first results faster. And it is much easier to find decent hosting for PHP .
Other than that Python(&Django) is also great and suitable. You may play around with Google AppEngine if you have some fun time.
精彩评论