 |
 |
Up-to-date info comparing dynamic web systems/languages?
|
 |
|
 |
|
Mac Elite
Join Date: Mar 2001
Location: CO
Status:
Offline
|
|
With help from this forum I'm up and running elementary php/mysql via my ISP... thanks!
But although everything I read kept pointing me at PHP/MySQL, I'd like to be able to keep current on technology (even if there were a PRINT monthly for beginner-to-moderate geeks). I need to think about what languages to invest my time in mastering... MS will tout their stuff; Macromedia has their solutions; open source communities will be very helpful with their own (PHP/MySQL or Postgresql); Sun is adding OO capability in their Java Data Objects for interfacing with databases without SELECT commands... and on and on...
Forgive me, but I'd like a somewhat INDEPENDENT source's evaluation. Even most members of a forum probably have some bias because of simply having invested a lot of time and energy into one platform/language. (Still, I'd be interested in hearing your arguments about current status & long-term prospects for the various approaches).
But what should I be reading (besides the masses of info out there on each language). Are there no clearinghouses? Any books that (fairly!) discuss the pros, cons, and directions of each of these approaches to dynamic/db systems? Periodicals that help newbies assess the situation they're getting into? Websites that over-arch the whole domain?
I really need some hand-holding to get perspective and details on the whole realm. Thanks!
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Dec 2001
Location: Atlanta, GA, USA
Status:
Offline
|
|
Like most people, I have my biases. For 2 years I worked in Python and Zope on a web portal. Since then (a year and a half), I've been maintaining a site written in Perl CGI and Java servlets with Velocity templates, while doing new development using J2EE, EJBs, WebLogic, and Struts. I've done quite a bit of PHP development on the side as a consultant, so I feel like I have a reasonable grasp of the major contenders here.
I won't go so far as to say that one of these technologies is the best for all situations. I will say that you may choose a solution based on marketability as well as suitability.
Zope is probably the easiest of them all as far as building out a site quickly. It has some really nice features, and since it's written in python (a great language), development goes quickly. However, when you get into the advanced stuff, there is a learning curve in the transition from ZClass-based products to File System products, and that can take some time. Also, I don't think the database adapters are as fancy as the ones that JDBC offers (connection pooling, etc). Finally, getting a hosting provider that supports Zope may be a challenge if the development is not for an intranet or cohosted machine.
I wouldn't recommend Perl to anyone doing anything beyond a simple script or two. It's not scalable.
PHP has some really nice features. It's got some basic object orientation for people who choose to take advantage of it. It works really well with MySQL, and pretty well with PostgreSQL as well (although configuring it is not as simple). There is a good user community and some nice third-party add-ons. Plus, most hosting providers offer PHP as a hosting feature. One downside I see is that you can't share session data across systems, but that's solved with a nice hardware load balancer that supports sticky sessions. Another downside is the language doesn't naturally lend itself to the MVC design philosophy, so often the business logic and the presentation get intermixed if implemented by an inexperienced developer, leading to maintenance hassles.
Java servlets with Velocity and/or struts is a really nice solution for a lot of sites. Velocity keeps the view separate from the model/controller, and the syntax is very easy. Struts enforces this even more, and can even define the controller in XML to save you coding work. It can run on anything from Tomcat to JBoss to Netscape Enterprise to WebLogic, so that's a plus. Also, it can take advantage of all of the features that Java offers like JDBC connection pooling. Talking to databases is easier in java than in any other language, and swapping one database for another requires no code changes other than changing your connection URL string.
J2EE/EJBs is the "enterprise" solution. It lets you share components across disparate systems and in theory, reuse components across projects. With enough time and money, EJBs are theoretically infinitely scalable with a clusterable EJB container like WebLogic or WebSphere. You get all the nice regular java features, plus some other nice stuff like JMS queues and message-driven beans. The major downside is that there is a lot of overhead, and the learning curve is steep. You have to declare remote and local interfaces for all entity, session, and message-driven beans. You end up with some redundant code, which is a pain if you're not using an IDE that manages it for you (like Eclipse, or JBuilder).
If you're looking to get work done, I think either PHP or Java servlets with Velocity and/or Struts is a good way to go. If you're looking for a career path, EJBs are very in demand and will help you have some job security. If you're just looking to get a project done quickly, Zope is a very nice solution and a lot of fun to work with.
|
|
Mac Pro 2x 2.66 GHz Dual core, Apple TV 160GB, two Windows XP PCs
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Mar 2001
Location: CO
Status:
Offline
|
|
Wow - thanks! That's a very nice survey. I appreciate your going to all the trouble.
Since I'm really not planning on going "pro" - I'm inclined to postpone entering the Java learning curve. Maybe getting more proficient with the PHP/MySQL will take me where I need to go with most of my own business' projects.
But I'll keep an eye on the Java realm. I'm liking the sound of reviews on Amz of a "Head First Java" book as a way for someone new to OO.
Thanks again. If anyone else has varying perspective, I'm up for hearing about it, too!
|
|
|
| |
|
|
|
 |
|
 |
|
Occasionally Useful
Join Date: Jun 2001
Location: Liverpool, UK
Status:
Offline
|
|
|
|
|
"Have sharp knives. Be creative. Cook to music" ~ maxelson
|
| |
|
|
|
 |
|
 |
|
Forum Regular
Join Date: Dec 2002
Status:
Offline
|
|
Arkham_c, thanks for your survey... good stuff.
I'd also recommend PHP + MySQL for most cases. Enterprise-level stuff might be different animals, but I've got an itch the original sender will not be running heavy stuff using his own ISP (ADSL or Cable, I'd guess.
|
|
|
| |
|
|
|
 |
 |
|
 |
|
|
|
|
|

|
|
 |
Forum Rules
|
 |
 |
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is Off
|
|
|
|
|
|
 |
 |
 |
 |
|
 |
|