Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

JSF vs ASP.net

Cliff posted more than 8 years ago | from the caged-language-king-of-the-hill-match dept.

107

DuncanE asks: "We are looking at migrating an old legacy database application to a newer web based framework for the front end. For me the two obvious choices are ASP.net vs Java Server Faces. CodeGuru has side by side look at both, but does anyone have any real world comparisons? ASP.net appears to be MS only, which is a concern, depending on how mature mod_mono has become." Which framework would you prefer to use? Under what situations and conditions would you recommend the use of the other?

cancel ×

107 comments

Sorry! There are no comments related to the filter you selected.

Stupid question for /. (-1, Flamebait)

duffbeer703 (177751) | more than 8 years ago | (#14460872)

What do you expect, a chourus of praise for ASP or any other .NET technology?

Try calling the 700 club and asking about whether its better to convert to christianity or islam.

Re:Stupid question for /. (0, Troll)

Saeed al-Sahaf (665390) | more than 8 years ago | (#14460948)

He's looking for support for a decision already made, so he's looking where he knows we will tell him what he wants to hear. He chose Java Server "Faces", whatever those are.

DOS isn't done til Lotus won't run (4, Insightful)

B5Fan (639395) | more than 8 years ago | (#14460906)

As soon as Microsoft decide that Mono is good enough to make enough people think of moving away from Windows, I think they'll try to change .Net to prevent it.
AFAIK The only issue with Mono currently is that MS-specific security doesn't work under Mono, because it relies on Windows.
I suggest that if you want to be able to run on something other than Windows, be careful about choosing .Net. It may still turn out to be a good choice, given that there are probably more .Net developers available, provided that you've taken into account aspects like security.

BTW The only programming I do is .Net (in New Zealand), and this is being written at home with Firefox on Linux.

Jesus... Just Jesus... (-1, Troll)

Saeed al-Sahaf (665390) | more than 8 years ago | (#14460975)

BTW The only programming I do is .Net (in New Zealand), and this is being written at home with Firefox on Linux.

What do you want me to do, masturbate you for being so fucking hip?

Perl isn't done til Slashdot won't run (0)

Anonymous Coward | more than 8 years ago | (#14461158)



Programming ASP.NET 3rd Edition by Jesse Liberty and Dan Hurwitz



It has been updated for ASP.NET 2.0, C# 2.0, and Visual Studio 2005.

holy random comparison batman (0)

Anonymous Coward | more than 8 years ago | (#14460928)

why are these two technologies such obvious choices??

Re:holy random comparison batman (1)

MemoryDragon (544441) | more than 8 years ago | (#14463800)

Because both of them have ides in front of them which provide a visual paradigm. The article in my opinion was less a comparison of technologies and more a comparison of what you can do with a decent IDE quickly (In case of .Net it was Visual Studio .Net and in case of JSF it was the Studio Creator EA2!) with some explanations about the underlying techs. The funny thing is the control comparison, because many of the controls shown are not part of the JSF core spec but are provided by the Studio Creator (but almost any component pack which nowadays is used has similar controls)

I haven't worked with both, but.... (5, Informative)

free space (13714) | more than 8 years ago | (#14460954)

I think Java would be a more 'safe' choice.
Java Server apps can run on multiple operating systems, multiple servers, and in the extreme case of Sun not supporting it anymore ( or not adding a feature you want) you've got tons of big companies pushing it, like IBM and others, in addition to open source implementations like GNU classpath. Not to mention that you can implement 100% of your solution without paying anything.

ASP.net, on the other hand, is a Microsoft solution, and you depend on the whims of MS for everything. It runs on little more than Windows/IIS, and the only serious IDE for it would be Visual Studio.net, and good luck trying to run it under mono if you favorite class or function is incomplete or has a bug in its mono implementation ( or the MS implementation for that matter).

I think that the Java and .net solutions are somewhat similar in the quality of their solutions, and that any marginal difference in quality, if they exist, would have no impact compared to the freedom of choice Java provides.

Re:I haven't worked with both, but.... (0, Flamebait)

RingDev (879105) | more than 8 years ago | (#14461057)

"ASP.net, on the other hand, is a Microsoft solution, and you depend on the whims of MS for everything."

Spoken like a true anti-MS bigot.

"It runs on little more than Windows/IIS"

I guess if you consider Linux/Apache "little more" the Windows/IIS then that statement is true.

"and the only serious IDE for it would be Visual Studio.net"

And it's probrably one of the best IDEs available. This is the one categoy that MS really pwns the competition, their IDEs are awesome.

"and good luck trying to run it under mono if you favorite class or function is incomplete or has a bug in its mono implementation"

Yes because when running a completely non-MS related open source solution you will never find a bug or incomplete functionality. If you're going to pimp OS, do so across the board. Not this "OS roxors, except when it deals with Microsoft!" bantor.

Me personally, I prefer ASP.Net. I think Java is a great language for web development, but ASP.Net has a few advantages: 1) The IDE. 2) Availability and Cost of developers. 3) External vendor suport available.

If you already have a shop of Java developers, then 1 and 2 are of little concern. And 3 is a pretty rare requirement.

-Rick

Re:I haven't worked with both, but.... (5, Informative)

free space (13714) | more than 8 years ago | (#14461495)

Well, I wasn't saying Java web apps are better than asp.net, merely saying there is more choice available (and I'm a .net developer,but I develop desktop apps).

If I want a .net IDE I have to buy VS.net or Delphi, or download the open source sharpDevelop. If I want to develop for Java, I have a much broader choice: netbeans, eclipse, IDEA, JBuilder and complete product families from IBM,Oracle or BEA.

Same for running the apps: I can either choose from IIS or Apache/mod_mono for .net, but Java has a dozen or so platforms to run on, which vary in power and cost.

As for my comment on "good luck if there's a missing function in the mono implementation" , it wasn't anti MS zealotry but a practical remark: whenever I check the mono status I get a chart which says "class so and so is implemented and function so isn't". It really worries a developer when he sees that the project is incomplete to the level of functions in the libraries he'll be developing with[1]. My point has nothing to do with Microsoft, but a simple remark that mono isn't mature enough yet.

Re:I haven't worked with both, but.... (2, Informative)

jbrannon (881627) | more than 8 years ago | (#14463610)

If I want a .net IDE I have to buy VS.net or Delphi, or download the open source sharpDevelop. If I want to develop for Java, I have a much broader choice: netbeans, eclipse, IDEA, JBuilder and complete product families from IBM,Oracle or BEA.
Actually, you can download MS Visual Web Developer 2005 Express for free here: http://msdn.microsoft.com/vstudio/express/vwd/ [microsoft.com] I've used it pretty extensively, and it seems pretty full-featured. Of course, it's Windows only, so if you want cross-platform, something else would be in order.

Re:I haven't worked with both, but.... (1)

free space (13714) | more than 8 years ago | (#14467780)

Thanks for the info, I'm downloading it now and will play with it for a while.
BTW, it will be a free download for only a year then will be sold for a price.. to the 4 remaining developers who still haven't heard of the offer :D

Re:I haven't worked with both, but.... (1)

jbrannon (881627) | more than 8 years ago | (#14471808)

BTW, it will be a free download for only a year then will be sold for a price..


Yes, but as long as you get it in the "free download" period, it will be free to use as long as you want, even after the year has expired.

Re:I haven't worked with both, but.... (1)

P3NIS_CLEAVER (860022) | more than 8 years ago | (#14466453)

You can use Borland or Eclipse for .net development. Where did you get this info?
http://shop.borland.com/dr/v2/ec_Main.Entry17c?SID =39696&SP=10023&CID=0&PID=772687&PN=1&V1=772687&CU R=840&DSP=&PGRP=0&ABCODE=&CACHE_ID=0 [borland.com]

Re:I haven't worked with both, but.... (1)

free space (13714) | more than 8 years ago | (#14467748)

To be fair, I mentioned Delphi.net in my post but I forgot C# builder. You got a point, .net has more tool support than my post gave it credit for. Still not as java IMO.
And does anyone use eclipse for .net development? what benefit would that bring?

Re:I haven't worked with both, but.... (1)

julesh (229690) | more than 8 years ago | (#14470699)

In addition to the other ides mentioned by the other posters, there's also Microsoft's WebMatrix [asp.net] , another free IDE for writing ASP.net code.

Re:I haven't worked with both, but.... (2, Informative)

ultranova (717540) | more than 8 years ago | (#14461864)

"ASP.net, on the other hand, is a Microsoft solution, and you depend on the whims of MS for everything."

Spoken like a true anti-MS bigot.

Spoken like a true astroturfer.

"It runs on little more than Windows/IIS"

I guess if you consider Linux/Apache "little more" the Windows/IIS then that statement is true.

Several times more, at least in Web server arena, according to Netcraft. 69.97% for Apache vs. 20.92% for IIS.

"and the only serious IDE for it would be Visual Studio.net"

And it's probrably one of the best IDEs available. This is the one categoy that MS really pwns the competition, their IDEs are awesome.

Which may or may not be true, but doesn't change the fact that this still acts as another lock-in tie to Windows.

"and good luck trying to run it under mono if you favorite class or function is incomplete or has a bug in its mono implementation"

Yes because when running a completely non-MS related open source solution you will never find a bug or incomplete functionality. If you're going to pimp OS, do so across the board. Not this "OS roxors, except when it deals with Microsoft!" bantor.

It is obvious that the parent is talking about compatibility. If a program depends on bug in .NET, and Mono doesn't have that bug since it implemented it according to the documentation, not actual testing with all possible inputs, the program won't work.

And Microsofts operating systems do suck, especially when used as servers; making a server application with a language that would tie you to Windows is a very bad idea.

Re:I haven't worked with both, but.... (1)

RingDev (879105) | more than 8 years ago | (#14462612)

"Spoken like a true astroturfer"

Thanks for flying your colors up front. I'm glad to know that I won't be involved in an intelligent discussion this morning.

"Several times more, at least in Web server arena, according to Netcraft. 69.97% for Apache vs. 20.92% for IIS."

Exactly my point numb nuts. ASP.Net runs on Apache. So if by the parent's "little else then IIS" comment, he actually ment to say "will run on the vast majority of web servers", then yes he would be correct. But I'm pretty sure he was just reciting FUD from the anti-MS bin.
(see http://www.codeproject.com/cpnet/introtomono2.asp [codeproject.com] , http://www.mono-project.com/ASP.NET [mono-project.com] , and even http://apache.slashdot.org/apache/02/07/22/2334239 .shtml?tid=109 [slashdot.org] )

"And Microsofts operating systems do suck, especially when used as servers;"

That is debatable. Any server will "suck" when used incorrectly.

"making a server application with a language that would tie you to Windows is a very bad idea"

It depends, maybe your employer is pleased with Windows and doesn't see the need to invest in changing software and staff. In that case using a language that can get the most benefit from a Windows environment would be GOOD. In this case it's a mute point however as ASP.Net is NOT locked down to Windows.

-Rick

Re:I haven't worked with both, but.... (1)

pixelpusher220 (529617) | more than 8 years ago | (#14466734)

I'm glad to know that I won't be involved in an intelligent discussion this morning

You had taken care of that by typing 'http://slashdot.org' ;-)

Re:I haven't worked with both, but.... (1)

angel'o'sphere (80593) | more than 8 years ago | (#14462339)


And it's probrably one of the best IDEs available. This is the one categoy that MS really pwns the competition, their IDEs are awesome.


If "probably" includes also "probably not" then I can agree with you :D

MS Visual Strudio is just an IDE. Its absolutely nothing fancy on it. Everything there is OLD, STANDARD IDE functionallity. Nearly EVERY OTHER IDE is better and offers more, better debugger, better refactoring, better project management, better configuration management ... and e.g. an IDE like Eclipse is even free as in beer.

angel'o'sphere

Re:I haven't worked with both, but.... (1)

Randolpho (628485) | more than 8 years ago | (#14462910)

I'll give you the better refactoring on Eclipse -- VS only just got a very limited version in 2005.... *finally*, but Eclipse's is definitely much better. The debugger is debatable, I think they're about on par, although VS has only just (finally!) gotten edit and continue. As for the rest, I think it's more about personal taste -- I prefer VS's project management and configuration management to Eclipse's.

However, there *is* one thing that Eclipse has over VS... totally free. You can't beat that very often!

Although MS did for me just last month -- I got a free copy of VS 2005 Standard Edition when I attended one of their VS 2005 launch events. Sure, it's not Professional, and I wouldn't mind Team Suite with the automated testing and architectural tools, but it's pretty damn good for free!

Re:I haven't worked with both, but.... (2, Informative)

cecom (698048) | more than 8 years ago | (#14465678)

The debugger is debatable, I think they're about on par, although VS has only just (finally!) gotten edit and continue.

Ahem, Visual Studio 6 had "Edit and Continue", and it has been out for, what, 7 years now ?

Other than that small correction to your post, I think that MS have nothing interesting to offer in that area anymore. Only people who haven't tried Eclipse think that MS still has an edge in IDEs. Also, don't forget that besides being free, Eclipse is also Open Source, which means bugfixable, easy to write plugins for and infinitely extensible.

Re:I haven't worked with both, but.... (2, Interesting)

Randolpho (628485) | more than 8 years ago | (#14465953)

Sorry, I should have been more clear. Visual Studio 2005 now has Edit and Continue for .NET/C#. It has not had it up until it launched last November.

As for the IDE, I have indeed used both, and prefer Visual Studio. Don't get me wrong; Eclipse is a very good IDE. VS is just better, IMO. I've already detailed the real differences between them; the rest is look/feel, responsiveness, and general user experience. Eclipse is great, but VS is better.

It's like the difference between MS Office and OpenOffice.org. OpenOffice.org is damn good, especially for the price, but MS Office really is better. I find that the only people who ever argue otherwise tend to be closed-minded about anything MS-related.

Re:I haven't worked with both, but.... (1)

Randolpho (628485) | more than 8 years ago | (#14466064)

Let me just add a corollary -- I do use Eclipse whenever I do a Java project. J# is not Java, and that's all that's remotely Java-flavored in Visual Studio. If I do a .NET project, I do it in C#/Visual Studio. If I do a Java project, I use Eclipse.

I suppose arguing one vs. the other is like apples and oranges, since there's little cross-over between the two.

Re:I haven't worked with both, but.... (1)

cecom (698048) | more than 8 years ago | (#14467418)

I guess I don't have much choice, since my main programming platform is Linux ... One feature of Eclipse that I hated initially, but have begun to really appreciate recently, is the background Java compilation (or whatever the correct term to describe it is). I have practically forgotten what it was to go through dozens of small annoying compilation errors and fix them one by one after a build. For that matter, I have almost forgotten what a "build" was :-)

What The Fuck? (4, Funny)

Saeed al-Sahaf (665390) | more than 8 years ago | (#14460962)

The provided link: If you develop web applications you have probably heard the names JavaServer Faces...

My web apps must be crap, because I've never heard of "JavaServer Faces".

Re:What The Fuck? (0)

Anonymous Coward | more than 8 years ago | (#14461063)

No, in fact it may mean the exact opposite. Right now we're seeing a trend in which a lot of programmers are using frameworks for everything that they can possibly get their hands on. They use 5 different web frameworks to make something that's incredibly simplistic and then they wonder why their code becomes a bloated unmaintainable mess....

Re:What The Fuck? (2, Insightful)

0kComputer (872064) | more than 8 years ago | (#14461199)

Yeah, check out the foot note on the author

About the Author A Senior Consultant with Sogeti LLC, Michael has spent over 7 years in IT, specializing in J2EE and Oracle analysis and development.

wonder which platform he's rooting for? The article was a piece of shit anyways, a few screen caps of the IDE's doesn't make for a good comparison of frameworks.

Re:What The Fuck? (2, Funny)

gimme00 (884757) | more than 8 years ago | (#14461240)

You take a black marker and draw little faces on your java servers! dohhhhhh!

Re:What The Fuck? (1)

Saeed al-Sahaf (665390) | more than 8 years ago | (#14461428)

You take a black marker and draw little faces on your java servers! dohhhhhh!

Wouldn't they call the police? And then where would I get my coffee?

Re:What The Fuck? (2, Funny)

gowen (141411) | more than 8 years ago | (#14462405)

My web apps are crap, because I use JavaServer Faeces

Re:What The Fuck? (1)

IPFreely (47576) | more than 8 years ago | (#14462626)

My web apps must be crap, because I've never heard of "JavaServer Faces".

Then you may not have been paying attention for the last few years.
JavaServer Faces [sun.com] at Sun java/J2EE. It's been around a while.

But not using JSF will not make your web apps crap. There's bound to be a better explanation for your web apps being crap.

What are you and your programmers familiar with? (5, Insightful)

BadAnalogyGuy (945258) | more than 8 years ago | (#14460964)

These kinds of decisions ought to be based on what you and your colleagues are most comfortable with. Java? C#? Perl/Python? You certainly wouldn't try to run a marathon in brand new shoes!

Either (4, Informative)

Artega VH (739847) | more than 8 years ago | (#14460994)

Both are a good choice if you want to properly engineer a new web-based tool. ASP.NET is probably quicker but if you want to do anything really serious you'll probably want to look at purchasing Visual Studio 2005 [microsoft.com] rather than just using the Visual Web Developer Express [microsoft.com] . Also the tool support for JSF isn't nearly as mature so it will probably take longer to implement in JSF than in ASP.NET.

Having said that JSF is still a good choice - particularly if licensing costs and portability are an issue. Apache MyFaces [apache.org] is an excellent framework whose only downside is the poor documentation. JSF can be slower to get started with but I found that it enforces best practices more strictly and once you get the hang of all the XML wiring it wasn't that bad. Another benefit of JSF is that you'll have trouble breaking the MVC pattern but you can pretty easily embed alot of code in ASP.NET unless you properly use code-behind and deliberately seperate out the DAL which isn't the default for the point and click wizards (the DAL separation).

In the end it comes down to a few things. If you have existing C#/VB skills and don't mind being stuck with IIS then go for .NET. If portability is a big issue and you'd really like to run this application on a small server running Jetty [mortbay.org] (for instance) then go for JSF.

neither? (0, Flamebait)

moosesocks (264553) | more than 8 years ago | (#14461000)

I'm not very experienced with either (know a bit of java, and used to work with ASP/VB on NT4), but for a project like you're describing, ASP and Java would be the last thing I consider.

Both have a reputation for being slow, insecure, and proprietary. As much as sun is trying to shed the image, Java is still their property.

Generally, it's a decent idea to separate the databse from the application/interface, and it looks like you've already done just that, so you should be pretty much able to pick whatever language you want. I'd be inclined to think that ASP.net supports the microsoft databases the best, and leaves a hazy future as to whether or not it will play nicely with your database. I also wouldn't like to rely on a Windows operating system as your server environment.

I'd shop around..... if this is really *just* a frontend, you could go as far as checking out one of the newer languages like python or php. If you want to possibly speed up development, and play around with a few new technologies, you could also check out ruby and see if it suits your needs.

Look at what other people are using. I'd tend to think that PHP and ASP.Net seem to be the two most popular. ASP.Net does have advantages, and from what I hear, it's leaps and bounds better than the original ASP I worked with on NT4. I personally wouldn't like to be locked down to windows OR mono (if it were to ever be shut down by microsoft for some sort of leagal trouble, you'd be in trouble)

But java....just makes me cringe. I've seen very few well-written java applications that were fast, stable, and functional. It can be done.... but very few are able to

Re:neither? (1, Interesting)

Anonymous Coward | more than 8 years ago | (#14461109)

You lost all credibility when you suggested that Java has a bad security record and that Java performance for web applications is slow. Sun Java has an amazing security record and security is very easy to implement for even the most incompetent programmers. I find it incredibly amusing that you suggest that Java is slow and insecure and then you go ahead and recommend PHP... PHP/Ruby/Python are much much slower than Java and PHP has had an absolutely pathetic security track record. Are you a PHP developer? Only a PHP developer could possibly be this stupid.

Honestly, you make ridiculous claims about the most popular programming language in the world and then you go on to recommend an abomination like PHP? I'm not a huge Java fan, mainly because of the poor design of the standard library, however you clearly have no clue.

Re:neither? (1)

Limburgher (523006) | more than 8 years ago | (#14466803)

I normally don't reply to flaming ACs, but I'll bite.

Have you actually USED PHP, Ruby, or Python? I've never used Ruby, but PHP and Python are far faster than I've ever needed them to be. Java, on the other hand, is only fast on new hardware. And don't get me started on backwards-compatibility. . .

Re:neither? (0)

Anonymous Coward | more than 8 years ago | (#14467756)

Now I aint the same AP and I ain't seen the original post but...

I really hope you're not serious here..? Are you trying to tell me that Ruby/PHP/Python are faster than Java?
Fast only on new hardware? Huh?

Backwards-compatibility? You seem to have no idea that Sun is crazy about backwards-compatibility - and it _definitely_ shows.

PLEASE don't post at all if you have no idea of what you're talking about.. thanks.

Re:neither? (0)

Anonymous Coward | more than 8 years ago | (#14467865)

Ruby and Python are not faster than Java.... Anyone that makes a comment like this shows that they don't even have a basic understanding of computer science concepts. I like Ruby and Python and for small applications I would definitely choose Ruby over Java, however in terms of speed there is no comparison. Java is much much faster. The only time you've probably seen Java behaving slow is with a poorly coded application that uses Swing, and that's simply because it's a poorly designed library that tries to accomplish too much. Don't get me wrong Swing can be programmed to be very quick however it takes a lot of effort and knowledge about threading concepts and how they're being used within the library.

Re:neither? (4, Insightful)

Johnno74 (252399) | more than 8 years ago | (#14461243)

Dude, ASP.Net is a massive leap foward from classic ASP. The difference is night and day. Benchmarks are pointless, but in my experience its 5-10x faster than ASP.

Its also much, much more productive to develop, and support. Its a nice stable, extendible extendible object-orientated framework that can give you most of a website with very little code (asp.net 2.0), or it stays out of your way if you'd rather do it yourself.

IIS has also moved on a LOT since NT4 as well. Its much, much more stable and secure.
With ASP and NT4 remember you are talking about technologies that are about 10 years old now.

Re:neither? (5, Insightful)

LarsWestergren (9033) | more than 8 years ago | (#14461616)

Both have a reputation for being slow, insecure,

Maybe on Slashdot... Java has an excellent track record for security. Compare with the PHP worm that swept the net, or PHP based framworks like NukePHP that are hacked so regularly that sites are unusable [city-of-doors.com] . .Net I haven't kept up with, so I don't know how they do security in real life.

Server side java is REALLY fast. On artifical benchmarks, java can be as fast as C++ [idiom.com] , and these people [linuxclust...titute.org] wrote a high performance Linux cluster monitoring tool in Java.

If you need more proof, Java is now the preferred language for Boeing [aonix.com] when doing mission critical and real time software. NASA [sun.com] used it during the Mars mission...

and proprietary.

You can join the Java Community Process [jcp.org] for free as an individual and vote for how future versions of Java will look like, Sun has handed over control over just about everything but the Java trademark to this JCP. There are also plenty of open source implementations of compilers and JVMs. Sun keeps donating stuff to the open source community. DTrace, Solaris, 1600 patents [wikinews.org] , cryptography tech [zdnet.co.uk] ....

Re:neither? (1)

indifferent children (842621) | more than 8 years ago | (#14462667)

On artifical benchmarks, java can be as fast as C++

On artificial benchmarks, java can be as fast as an unladen swallow (African). In my experience, Java performance tends to suck. Why yes, I *am* a C++ programmer.

I don't hate Java, I use it occasionally as a portable and syntactically superior replacement for Visual Basic.

Re:neither? (1)

Reverend528 (585549) | more than 8 years ago | (#14463097)

If you need more proof, Java is now the preferred language for Boeing when doing mission critical and real time software.

Clearly they've never read an EULA from Microsoft:

Certain SOFTWARE PRODUCT(S) may contain support for programs written in Java. Java technology is not fault tolerant and is not designed, manufactured, or intended for use or resale as on-line control equipment in hazardous environments requiring fail-safe performance, such as in the operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, direct life support machines, or weapons systems, in which the failure of Java technology could lead directly to death, personal injury, or severe physical or environmental damage.

Re:neither? (1)

ttfkam (37064) | more than 8 years ago | (#14473799)

Clearly they've never read an EULA from Microsoft:
Would you be so kind as to explain that one for us?

Re:neither? (1)

mcbridematt (544099) | more than 8 years ago | (#14462534)

You sir have NO F*CKING IDEA on what J2EE is.

I've started to program in J2EE myself, and I must say, the concepts presented in it definitely make me NOT want to program in PHP again. The Perl apps I've seen are marginally better - but maybe because of the module extensions which aren't used a lot in PHP land.

I haven't touched large scale PHP code in some time but J2EE does try very hard to divorce each layer of the application to the point where programmers need not worry about what others are writing too much.

Last time I checked PHP programmers had located their database abstraction code (if any) within their apps, and most PHP apps were explictly tied to MySQL.

On the other hand in J2EE land we have container managed persistance (or maybe Hibernate). Its a wonderful thing compared to if($db == 'mysql) { mysql_connect(); } else if ($db == 'loldb') { loldb_connect(); }

I do agree about slowness though. You need loads of memory just to run JBoss effectively.

Re:neither? (1)

Limburgher (523006) | more than 8 years ago | (#14466835)

It's really faily trivial to abstract out DB access into a seperate file in PHP, and make the whole app DB-independant. I've already done this on two apps I wrote and am in the process of doing so on a third. I supports MySQL and PostgreSQL and could support more, if requested. Wanna buy my DB2 or Oracle licenses? :)

Ruby on Rails (0, Troll)

fixanoid (656159) | more than 8 years ago | (#14461074)

Scrap those poses for a real upcomers, go with Rails! It is so much better than any MS stuff, and years ahead of Java...

JSF (1)

NutscrapeSucks (446616) | more than 8 years ago | (#14461141)

Compared to ASP.NET, Java Server Faces is pretty immature, and missing certain controls like a file upload. Nobody seems to use it that much, so the user support community seems pretty small (as you can see by the responses to this story). Also, if you stick the state into the Session, the controls tend break if the user click the back-button. The navigation framework also seems pointless (just use links like a regular person)

I wouldn't make it a large deciding factor though -- in both cases the actual page code is going to be a pretty small part of your app.

Re:JSF (2, Informative)

bloodredsun (826017) | more than 8 years ago | (#14462080)

FileUpload from jakarta would be used for that as it's pretty much the de facto choice. There are other options like javazoom but it's an easy add-on. The apparent lack of a file upload control is probably reflective of the fact that Java allows multiple ways to do the same thing (which can be very confusing to someone new to the field) where MS products tend to have all the features included whether you use them or not. The JSF user community is not that small and is growing (although there are about 10x as many Struts jobs as JSF jobs currently in the UK) so it's one to take seriously.

The back button is an issue with JSF and is another reason why I use Struts for java web apps alongside it's easier integration with JSTL and greater maturity.

Re:JSF (2, Informative)

MemoryDragon (544441) | more than 8 years ago | (#14462461)

Not really, unlike ASF.Net JSF is just a specification, you get stuff like date controls file upload controls etc usually from component packs. If you want a good out of the mill solution in JSF with most components you need, start with MyFaces.
The usual mistake many people do with JSF is that they just look at the RI and then dismiss it as all there is, while literally hundreds of components linger around on the net for free and about the same amount in commercial solutions.

Re:JSF (1)

NutscrapeSucks (446616) | more than 8 years ago | (#14469300)

When I checked out MyFaces, the sample controls on their site were completely buggy. We also experimented with Oracle's and it was a nightmare. IMO, if you want to use JSF, you should stick with the stock package and roll your own custom controls.

Re:JSF (2, Informative)

MemoryDragon (544441) | more than 8 years ago | (#14470147)

Things are moving fast in the apache world, actually the controls are not very buggy anymore (You probably checked then out a while ago). Much has been done in the last year. for a good demo check this: site [irian.at] out.

Re:JSF (1)

NutscrapeSucks (446616) | more than 8 years ago | (#14472446)

Yeah it was about 9 months ago. Unfortunately our architecture is pretty much frozen right now. Maybe next time.

It all depends on your existing skillset (1)

0kComputer (872064) | more than 8 years ago | (#14461163)

I'm a .net developer, and while I'm sure it wouldn't be too dificult to transition to the Java language, I think I'd have the most problems adjusting to the tools. As I'm sure a Java dev would have issues transitioning to .net. I wouldn't know where to start, what IDE should I use? how is remoting/RPC implemented? What build tools, source control systems to use? and so on... .net and java are pretty much mutually exclusive techs, so most of your developers are going to be experts in one or the other. If you havent hired resources yet, then it may do good to see what the market is doing.

You mention portability as a big concern, IMO its pretty overrated, and very seldomly implemented. if you suddenly find yourself switching platforms, then someone screwed up somewhere down the line in planning. Just my 2 cents.

Re:It all depends on your existing skillset (2, Interesting)

d-rock (113041) | more than 8 years ago | (#14461461)

Just a comment on the portability issue. I completely agree that sometimes having to move an app between disparate systems may mean that someone didn't plan well, but there are also situations where it means you can leverage your assets. For instance, where I work I developed a small network monitoring/reporting application for our help desk to handle 200 or so sites. At the time I wrote it (3 years ago), we had a spare windows 2K server running on older hardware that was otherwise going to go unused, so we ran it on that. It ran great. Over the past 3 years we have increased the number of sites we monitor to close to 1000, and it wasn't running so well on the old PII server. However, an unrelated project freed up a Sun e450 4xCPU box and we moved the application there with literally zero changes and it runs great on that box (along with several other apps). The windows box has been repurposed as a backup DNS server now (running portable BIND, incidentally).

In this case the portability factor allowed us to fully utilize the hardware we had, instead of having to spend big bucks on a larger wintel server. I'm not saying Java has a monopoly on portability, there are lots of languages that make it trivial or fairly easy to move between platforms; however, if I had written this in C# or some other .Net language I'm not so sure the transfer would have gone as smoothly.

Derek

Re:It all depends on your existing skillset (1)

P3NIS_CLEAVER (860022) | more than 8 years ago | (#14466499)

The portability thing is a red herring issue. Incorporating a web server from a different operating system into your network is trivial.

Re:It all depends on your existing skillset (1)

jbplou (732414) | more than 8 years ago | (#14469701)

You must be a shitty developer. Java and .NET are both heavily object oriented, hell .NET was basically Microsofts answer to Java. A good developer is basically lanuage neutral and can pick up what is needed.

Re:It all depends on your existing skillset (1)

0kComputer (872064) | more than 8 years ago | (#14472981)

You must be a shitty reader. Did you read my post cockfuck?
and while I'm sure it wouldn't be too dificult to transition to the Java language, I think I'd have the most problems adjusting to the tools

My point was it wasn't the language, douchebag, it was the supporting tools of the platform that takes some experience to learn. Yeah, C# and java are very simmilar syntactically. Of course someone who thinks a programming platform is just syntax (like yourself) would be a "shitty" developer who doesn't see the big picture. oh the irony.

Re:It all depends on your existing skillset (1)

jbplou (732414) | more than 8 years ago | (#14473143)

You said .NET and Java are pretty mutually exclusive techs, which is not true. A good developer can transition from one to the other in 6 months, if we are talking J2EE and ASP.NET environments. The end goal is the same you pass generated HTML to the client who responds with more information. If you use IIS, Apache, Websphere, Oracle App Server you still do the same basic thing. A good developer once they know how to use one can learn use the other to accomplish similar tasks.

Re:It all depends on your existing skillset (1)

0kComputer (872064) | more than 8 years ago | (#14473749)

You said .NET and Java are pretty mutually exclusive techs, which is not true
Not true? Really? How many projects have you worked on that use both .net and java?

A good developer once they know how to use one can learn use the other to accomplish similar tasks.

You are completely missing the point, which is that developers who dont know websphere, java, oracle etc... will have to ramp up, good developers or not, if using a specific tech is that important to you, fine, you need to plan for it, and its going to affect the project.

Believe me, theres a lot more to these techs than rendering html to the client. Give me a config error in asp.net, i can probably tell you exactly what it is. Give me a J2EE config error, I'm going to have to research it first.

Re:It all depends on your existing skillset (1)

jbplou (732414) | more than 8 years ago | (#14473762)

Were I work we have an enterprize app that has both java and asp.net interfaces. They cover different functions but both use the same backend datastore.

I not arguing that a programmer can switch overnight, but one can definatly swith in a relatively short time frame.

Java (1)

ValiantSoul (801152) | more than 8 years ago | (#14461205)

I would stick with Java - you can deploy on any platform without worry of premature implementations. At the company I work for we use BEA WebLogic with Java web applications and Struts - works quite well.

Re:Java (1)

josepha48 (13953) | more than 8 years ago | (#14461274)

I'd second that but with one comment. Do you have java developers or vb developers?

struts is really cool, and I use that. I've come up with a few of my own tags though, because struts does not have them.

The following, obvious things are missing from all the frameworks I've used.

1) struts tags are nice, but if you use the dynaformbeans, then its a problem to fill the beans from a database. Not really a problem, its possible, but not easy. I've created a request to hashtable to object method, so I can create xml that describes my beans, and then my beans get specialized methods that can covert the data to and from hash tables.

2) simeple things made easy.. certain tags are missing.. date tag. date formats are always a problem in any application, so I have had to create a custom date object, that has a display format and an output format. Some people want to see data in MMDDYY format, others want it in DDMMYY format and others want it with YYYY. So my tag handles this. Its nice because it is 1 tag that creates the 3 dropdowns with full month displayed to the user and some hidden fields, and also javascript for manipulating the format that gets put in the hidden field. To me this is needed for any real web application.

Struts, AFAIK, does not have sort in their select tag. How many well done sites have you gone to that do not format states or coutries alphabetically? Also how many times do you want to get a list and display it alphabetically? Yeah you can do it with the struts tags, but the tag can take a hashtable. It should also be able to sort based on decending / ascending and either option display value or the value itself.

Just my opinion. I'm not bashing struts, and have not played enough with jsf, so it may address these, but I doubt it.

I can see though that web development will get easier when more of these issues are addressed in frameworks like struts and jsp and even .net.

Re:Java (1)

bloodredsun (826017) | more than 8 years ago | (#14462039)

I prefer Struts to JSF as it's more mature and you can use more JSTL in it (JSF has issues with ). The JSTL fmt tags can also be used for formatting, including dates and this is recommended by the Struts team which is why they probably didn't both with a competing struts tag to do the same thing.

I'm also with you on the fact that what framework you use depends more on what language you are happiest coding in and what your company uses. Comparisons like this are a bit of fluff as you can say anything depending on your setup.

Re:Java (1)

MemoryDragon (544441) | more than 8 years ago | (#14462640)

JSTL... well, the issues are being adressed in JSF 1.2, to my knowledge only one issue really exists, which is JSF foreach, a construct which in 99.999% of all cases can be replaced with a tighter dataTable or dataList c:if normally works fine, but is not needed because every component has its own render attribute which can be combined with the jsf el. The rest is less verbose than struts, formatting there is an h:outputFormat component for formatting, validation is done within the form not from an xml file, the component libs already are very extensive, so programming a page with an html editor several date pickers and a scrollable data table with various links and actions is just a few lines of code. And the xml also makes way more sense than in struts. Sorry to say, that struts really shows its age, and almost anyone I know who knew newer frameworks and then had to move to Struts jobwise, cursed left and right for weeks.

CF (1)

In Fraudem Legis (937585) | more than 8 years ago | (#14461219)

I'd choose Macromedia Coldfusion, but hey, it's just me :)

I'd recommend Java for several reasons. (5, Informative)

TechieHermit (944255) | more than 8 years ago | (#14461293)

In terms of being able to create and serve a web page, either one would probably WORK, but I think Java is a much better platform. Let me share with you my reasons why, keeping in mind that I'm a professional developer with eight years of production experience. Also, I've developed on Apache (straight HTML and some CGI), JSP (on Red Hat servers with Apache Jakarta), ASP3 (IIS with COM+ middleware and Oracle backend), ASP.Net with web services AND some COM+ middleware and oracle backend, and now, Oracle 10G with Java everything (basically).

First of all, every platform in use supports Java, and you can download almost anything you might want to use for free. This is going to save you a bundle. YES, I know that technically Mono is sort of .Net-ish, and it's free, but I don't think Mono matches the sheer breadth of Java offerings you can acquire at zero to no cost. Java buys you almost complete freedom from vendor lock-in, if you play your cards right. .Net, in comparison, is vendor lock-in INCARNATE.

Second, Java has an amazingly rich class library. If you can think of something you might want to do with a computer, there's a java library in there somewhere which will let you do it -- usually relatively easily, too. Although C# is approaching this level of functionality, I don't think it's exactly equal with Java yet. Close, maybe, but I think Java still has a little edge. Which makes sense, when you think about it -- Java's been around for several years longer.

Third, most major vendors are now completely behind Java. Sun, IBM, Novell, and Oracle, for instance, are all putting their collective might behind the platform. That's pretty significant. It means that new innovations from these companies are going to be available in Java FIRST. Also, when you're ready to ramp up to big iron, you're more likely to be able to do so with Java, because all the big players there are Java shops.

Fourth, you can download Oracle Express for free, and use it with Oracle's Java developer's tools to build a rather interesting type of system. Oracle's considering an interesting approach here; give away the low-end database so that as companies grow they think about going with Oracle first. That's pretty good business; be generous first, so you'll be thought of when it's time to purchase something big. And this can work for you.

Fifth, the same skill set your developers use to create Java-based apps on your web server can be used to program just about anything from a Microwave to a PDA to cars and trucks (believe it or not, yes Java's finding its way into some vehicle systems). Java's everywhere these days; the language is the same, only the API changes. That makes your Java skillset very portable.

Finally, I think JDBC is a little nicer than Microsoft's database approach. I've programmed both ways, and I like the Java approach better. It's easier, for one thing; I write less code working with Java (YES, I know, it's astounding, but nontheless true).

I could go on, but you see where I'm going. Java's the nicer of the two platforms, and you can't really go wrong choosing it.

Re:I'd recommend Java for several reasons. (0)

Anonymous Coward | more than 8 years ago | (#14462514)

Third, most major vendors are now completely behind Java. Sun, IBM, Novell, and Oracle, for instance, are all putting their collective might behind the platform. That's pretty significant. It doesn't matter so much. If I wanted to develop a website, I would just look for stable and well-known technologies/frameworks, instead of choosing the latest super-duper stuff from Novell, which might be a failure. And, as far as I remember, Mono was developed by Novell...? Fourth, you can download Oracle Express for free, and use it with Oracle's Java developer's tools to build a rather interesting type of system. Yuck. Everything that comes from Oracle, EXCEPT their DBMS, sucks. Oracle Forms? Gimme a break. Even their Oracle Universal Installer, written in Java, is a total piece of crap. Also, don't forget that M$ is also giving away their Visual Studio Express, as well as SQL Server. There are also pretty nice free/open source development tools for .NET, like SharpDevelop or WebMatrix. Fifth, the same skill set your developers use to create Java-based apps on your web server can be used to program just about anything from a Microwave to a PDA to cars and trucks (believe it or not, yes Java's finding its way into some vehicle systems). Not that easy. OK, language stays the same, but so what? You have to get to know the functionality that was implemented in the specific VM, cellphones have different screen resolutions, you have to struggle with garbage collector due to small amounts of memory etc. You just can't take a Struts/Hibernate-guy and order him to write an embedded application in a week. Finally, I think JDBC is a little nicer than Microsoft's database approach. Like, to check if some field is null, you have to pull it first, then lookup up wasNull(), which is global in the scope of statement ;) Really, who writes in pure JDBC now? Just use Hibernate with Spring, and you will find it very similar to M$'s approach...

Re:I'd recommend Java for several reasons. (0)

Anonymous Coward | more than 8 years ago | (#14463575)

Two points:

1. Yeah, Oracle Forms sucks. But the only people using Forms are "forms queens", people who can't do more. Real developers use JDeveloper. Plus, HTMLDB is a nice tool. Get away from the legacy stuff and try some of their new tools, they're nice.

2. "Really, who writes in pure JDBC now?" OUCH! I do. So harsh! I just got done writing an access library for our database that lets us fetch and persist data pulled from a table while minimizing the burden on the server... It was pretty easy, and can be shared around the development staff so nobody has to reinvent the wheel. The nice thing about Java/JDBC is that you can create an API around your specific database, and share it with a whole team. Don't use the click and drool tools, man, they'll rot your brain. Old school approaches sharpen it... ;)

Re:I'd recommend Java for several reasons. (1)

P3NIS_CLEAVER (860022) | more than 8 years ago | (#14466545)

How about the lack of static connection in JDBC? (might be changed now but this was in 2000) We use a wrapper for ado.net that makes it really easy use.

Re:I'd recommend Java for several reasons. (0)

Anonymous Coward | more than 8 years ago | (#14472077)

"Third, most major vendors are now completely behind Java. Sun, IBM, Novell, and Oracle, for instance..."

I guess the author hasn't seen the news about Novell and Mono, and Oracle and IBM including .NET CLR capabilities in their databases. Also, Mono is being included with Red Hat Fedora.

"Fourth, you can download Oracle Express for free, and use it with Oracle's Java developer's tools ..."

And you can also download Oracle's .NET tools for free.

75% of Fortune 100 companies use .NET as their primary development platform (http://www.eweek.com/article2/0,1759,1645550,00.a sp [eweek.com] )

More choices (2, Informative)

LarsWestergren (9033) | more than 8 years ago | (#14461576)

If you go with Java, there are plenty of other choices than JSF. Struts, while a bit verbose and showing its age, is a very mature framework that scales well and has been used successfully in lots of projects. A lot of people recommend Tapestry [apache.org] or Cocoon [apache.org] . It all depends on the size of your project and what people are experienced with.

A good thing with Java, no matter which framework you choose, is that you have a huge number of open source tools and libs to help you (Eclipse, Netbeans, JUnit, Ant, Maven, CruiseControl, JMeter, PMD, Checkstyle, xdoclet, Hibernate, Spring, Tomcat, commons logging, jsch...) , and there are also plenty of books, online tutorials, and programmers around who know Java.

Re:More choices (0)

Anonymous Coward | more than 8 years ago | (#14468465)

Tapestry, wicket and webworks are the most prominent alternatives to JSF these days, yes.

Rule of thumb (1)

Raskolnk (26414) | more than 8 years ago | (#14461603)

Use Java if you can. Use .NET if someone pays you more.

My money.... (0, Offtopic)

g1zmo (315166) | more than 8 years ago | (#14461639)

My money is on the JSF [google.com]

Dang you beat me to it (1)

SmallFurryCreature (593017) | more than 8 years ago | (#14461956)

Yeah, I thought the same, the Joint Strike Fighter vs MS code. Damn the geneva convention and lets napalm that sucker! Colleteral damage highly advised. If only they can accidently take out Java as well. Then all will be well.

My recommendation: Java and Millstone (0)

Anonymous Coward | more than 8 years ago | (#14461716)

Java given you a lot more freedoms than closed MS environment, so stick to it if possible.

In Java space there are many frameworks to choose from. One should at least look into Millstone, Echo and Tapestry as well as JSF. My personal favourite is Millstone [millstone.org] as it provides a really clean and efficient development model. I takes some time to get into it, but it really pays back to do so in large projects.

Have you considered WebObjects? (2, Informative)

plsuh (129598) | more than 8 years ago | (#14461803)

If you're looking into alternatives, perhaps you should consider Apple's WebObjects [apple.com] . It's essentially what JSF is trying to be, along with a robust, mature, *lightweight* JDBC object-relational mapping and object persistence layer that is scads more mature than Entity EJB's. Pure Java, runs on J2SE 1.3.1+, deployment licenses amount to $499 per server (free with XServes [apple.com] ). It's also highly scalable -- this is the technology that drives the Apple Store online, the iTunes Music Store, and Apple's .Mac service.

--Paul
(disclaimer -- I work for Apple; however, I've been doing web development using ASP, J2EE, and WebObjects for years. IMHO WebObjects is far more elegant and robust than the alternatives.)

Re:Have you considered WebObjects? (1)

MemoryDragon (544441) | more than 8 years ago | (#14463739)

If you mean with alternatives EJB2 and pure then yes, if you mean with alternatives something like Seam+Facelets+JSF+Extensive component lib, or s/seam/ejb3 or s/seam/spring/hibernate then definitely no! Or if you subsitute xcode with something like Studio Creator 2 EA2 then definitely no. Do not get me wrong, WebObjects was groundbreaking, but it is mostly Apple to blame for that we now all code with other technologies not WebObjects. All the web stuff now is there where Webobjects has been around 2000 but the problem is, WebObjects mostly still is there where it was 2000 with small additional fixes and enhancements, while the rest of the bunch slowly but surely bypasses Webobjects, and XCode by miles!

Why compare only two? (1)

HaydnH (877214) | more than 8 years ago | (#14462074)

For me the two obvious choices are ASP.net vs Java Server Faces.

Why are they the two obvious choices? What about PHP for example? It sounds like you've already made your mind up - why bother asking the question?

Re:Why compare only two? (1)

rjshields (719665) | more than 8 years ago | (#14467759)

Why are they the two obvious choices? What about PHP for example?
No offence intended, but comparing PHP with ASP.NET and JSF is like comparing a Trabant with a BMW and a Mercedes ;-)

Re:Why compare only two? (1)

Thundersnatch (671481) | more than 8 years ago | (#14470297)

What about PHP for example?

In my experience, PHP is an intepreted, unstructured, code-mixed-with-markup hellhole. Comparable to the original ASP or JSP. The state-of-the-art development platforms moved past that sort of thing several years ago... too many maintenance and scalability issues.

JSF hard to develop (3, Interesting)

DeadSea (69598) | more than 8 years ago | (#14462154)

I have a small project at work that I inherited that is written in JSF. It is a pain. Don't go there. I have problems with JSF:
  1. Non-existant error reporting: If an exception is throw by the code backing it up, the error message on the front end will be something like "Exception: '{mycomponent.dosomething}'". Which really means that dosomething threw some other exception that it is hiding from you.
  2. Everything is a post: JSF tries to apply MVC to the web, which is fundamentally broken IMO. The web is transactional, not event driven. To make it appear that everything has callbacks, all the links in the web app are done by making javascript submit a POST form for the page. Much harder to debug than any other web app that I've ever worked with. You can't just see the params on a GET url and expect links to work like every other link on the web
I've never used ASP though, so I can't really compare. Myself I prefer servlets that spit out XML and use XSLT to give HTML. The designers don't seem to like the XSLT much though.

Re:JSF hard to develop (1)

MemoryDragon (544441) | more than 8 years ago | (#14462498)

I have been through 5 jsf projects, and I do not want to miss it anymore (although I agree the first project was rough) Actually the exception stuff is dependent on the implementation the post centricness is not really that true, yes there is lots of http post, due to the fact that post scales better than get, but you can do links with normal links (there is a h:link or something even in the standard codebase) as for post problems, like back button, the back button issue is solved in MyFaces and the ri, by simply restoring the state on a back. javascript is not mandatory for form posting, only command links use it due to the fact that it has multi action per form out of the box and doing such a thing without javascript is close to impossible, due to the limitations of html. If you need an alternative to this mechanism use a command button. The benefits you get however are huge, rich component sets, very tight markup template code, scoping (via extension frameworks and extension components), etc... I think in the end the benefits of JSF outweight the few disadvantages (after all we are still at the second revision of the standard) it currently has by miles. As for the post generally, it is nothing in the standard which would prevent the implementation of a getter form and getter command link, but the mere fact that hundreds of components even the most obscure existe and nobody has done such a thing shows that such a thing is not really needed that much.

Re:JSF hard to develop (1)

anomalous cohort (704239) | more than 8 years ago | (#14465024)

I have problems with JSF...Everything is a post...The web is transactional, not event driven

You're not going to like ASP.NET either. The reason why these two technologies are being compared here is precisely because they both attempt to make the web development experience (which, as you say, is transactional) look more like a windowing application development experience (which is event driven).

I guess that the theory why this type of approach is popular is that there are many developers out there who are having trouble transitioning from event driven coding to transaction driven coding. I don't know if that's really true or not. I, myself, had no trouble making the paradigm shift but that may be because I was coding back in the transactional days of timesharing with 3270 and curses style screens. Everything old is new again.

Compare to ASP.NET... (1)

sheldon (2322) | more than 8 years ago | (#14466412)

I don't know JSF, but I'll comment on how this might compare with ASP.NET v1.1. (Haven't used 2.0 much, but it's much improved in many ways.

1. Non-existant error reporting: If an exception is throw by the code backing it up, the error message on the front end will be something like "Exception: '{mycomponent.dosomething}'". Which really means that dosomething threw some other exception that it is hiding from you.

I don't think this applies to asp.net. If the code backing it up throws an error, and you're displaying errors(rather than catching them) on your main page. You're going to see the full details.

Now if you are using Remoting to a different server(usually like say from a presentation to data tier), that can get hard to debug sometimes. You'll get an exception, but not necessarily the full details.

The worst is if your web.config file is malformed somehow, you'll just get a generic error telling you that there is an error and you pull your hair out. But once you get past that it's very easy to debug.

2. Everything is a post: JSF tries to apply MVC to the web, which is fundamentally broken IMO. The web is transactional, not event driven. To make it appear that everything has callbacks, all the links in the web app are done by making javascript submit a POST form for the page. Much harder to debug than any other web app that I've ever worked with. You can't just see the params on a GET url and expect links to work like every other link on the web

Well, you won't like ASP.NET then.

But you know what? I seldom actually develop that way. IT's nice at times because it's easy to just throw a page together. But most of the time I seperate out my application in such a way that I use the querystring.

Maybe I'm just old-school. But the point is, you don't have to develop the easy way, you can go in and make it specific. At least with ASP.NET.

I've never used ASP though, so I can't really compare. Myself I prefer servlets that spit out XML and use XSLT to give HTML. The designers don't seem to like the XSLT much though.

ASP is not ASP.NET. The only thing they share in common is those three letters.

Most of my ASP.NET development is similar to your XML/XSLT to give HTML. Except I'm calling stored procs and getting back DataSets. I then feed the DataSet into some kind of rendering class, like the built-in DataGrid or DataRepeater.

I find XSLT useful in certain cases. I think it's hard to work with, and the few GUI type editing tools I have found are crap forcing you to use a text editor all the time. Also, at least in my experience it has a lot of server overhead compared to the Dataset rendering that ASP.NET provides. I don't know why, may just be the MS XML parser controls.

Try Tapestry 4.0 (1)

yooniks (537334) | more than 8 years ago | (#14462286)

Re:Try Tapestry 4.0 (1)

cecom (698048) | more than 8 years ago | (#14465910)

Amen!

More than two options... (1)

Randolpho (628485) | more than 8 years ago | (#14462827)

I've enjoyed developing PHP applications, so you might also want to consider some form of LAMP-oriented system. If you do, consider using Zend Platform, the new PHP server management system from Zend; it's supposed to make administration of PHP webservers much easier.

That said, I have a radical suggestion: use a rich client rather than web application. Even with AJAX, the web is still a very limited user experience platform -- I've always preferred manly GUIs to sissified pansy-web-pages. ;) If you go that route, consider using either Java WebStart (if you prefer Java) or Microsoft's ClickOnce (if you prefer .NET).

If you prefer the .NET route, which I would personally recommend over Java, you might also consider developing the application in the new Windows Presentation Foundation. Although it's still in BETA right now, WPF applications deployed with ClickOnce have the option of running inside the browser -- the user gets a much richer experience than web applications can grant even with AJAX, but are still on the web. Think of the browser option as a cross between a Java applet (which .NET has been sorely lacking) and Mozilla's XUL.

Of course, there's a trade-off... if you go the rich-client route and use .NET, you cut off non-Windows platforms. If you run WPF, you are cutting edge (it's not even finished yet!!), but you have a small client-base until Vista takes off.

Re:More than two options... (1)

MemoryDragon (544441) | more than 8 years ago | (#14463710)

Good luck getting clustered transactions and other important things like maintainability over dozends of coders code with php or rails in any way... Sorry to say that but both php and rails are great frameworks but there are areas where you cannot choose both of them!

Re:More than two options... (1)

Randolpho (628485) | more than 8 years ago | (#14463908)

Clustered transactions aren't always a requirement (in fact, they're *rarely* a requirement), and certainly weren't listed as such by the article author.

As for maintainability... good luck getting maintainability with *any* language when you have dozens of coders on a project. PHP is not inherently unmaintainable, it's a language, capable of some pretty sweet things. So are Java, C#, ruby, and python, just to name a few (note: I avoided perl, because *shudder* ;)). Whether or not a program is maintainable is dependent upon how the designers design, implement, and document the code, not the language itself.

Re:More than two options... (1)

MemoryDragon (544441) | more than 8 years ago | (#14470179)

Actually maintainability in teams is a huge problems in dynamic languages like PHP or ruby, you have to do excessive Unit testing to keep everything in place. These languages definitely have a team scaling problem, add to that in PHP at least the most popular version (4) no namespacing no separation of code concerns via mvc and you are in for a scaling desaster. PHP is fine for small projects but it does not scale for real world enterprise requirements. Both PHP, Rails etc... have their place but there are places where you better not use them as a tool. And those places are where J2EE todays is used most often.

Check out Ruby on Rails (-1, Offtopic)

Anonymous Coward | more than 8 years ago | (#14462984)

Why not check out Ruby On Rails?

Websites
RubyOnRails - http://www.rubyonrails.org/ [rubyonrails.org]

Ruby general
http://www.ruby-lang.org/ [ruby-lang.org]

Programming Ruby book - 1st edition online.
http://www.rubycentral.com/book/ [rubycentral.com]

Ruby Code and Style Online Mag
http://www.artima.com/rubycs/index.html [artima.com]

Small article on how to program in ruby.
http://www-128.ibm.com/developerworks/linux/librar y/l-ruby1.html [ibm.com]

RubyOnRails vs Java for web development efforts
http://www.relevancellc.com/blogs/?p=92#comments [relevancellc.com]

Another comparing Java and Ruby for Web Efforts
http://article.gmane.org/gmane.comp.lang.ruby.rail s/24863 [gmane.org]

Open Appserver and Progress 4GL (1)

cypherz (155664) | more than 8 years ago | (#14463467)

Is this really 'just a front end'? If your project is really just a front end to an existing body of business logic, it doesn't really matter that much. Front end coding will be the easy part. Going through your server or appserver business logic and tweaking it for your new interface will be where the work is. In a well designed web front end there should be as little business logic as possible. This way the front-end coding is reduced and replacing your web interface down the road with another front end becomes easier.
Laugh if you want, but I'd probably code the appserver-side logic in the Progress 4GL running on Open Appserver and then use a Webspeed front end if the requirements were low, if not maybe write the web interface with Visual *.Net or whatever the team was comfortable with. IMNSHO, the middle tier is where your big decisions should be. That way you're not permanently tied to any particular front end.

Re:Open Appserver and Progress 4GL (1)

bean123456789 (938830) | more than 8 years ago | (#14466518)

In a well designed web front end there should be as little business logic as possible. This way the front-end coding is reduced and replacing your web interface down the road with another front end becomes easier.

I totally agree with this, it is the best development scheme you can do for yourself. As a corollary you can also write multiple front ends, i.e. web based for quick deployment, and a rich client for in-house power use.

Re:Open Appserver and Progress 4GL (1)

cypherz (155664) | more than 8 years ago | (#14466652)

"...and a rich client for in-house power use."

This is exactly the scheme we're using in house. We'll deploy various frontends (some TBD) based on client needs and bandwidth. On our company LAN, we'll use fat clients (better for serious data entry IMHO), and all will access the same body of business logic on our Progress Open Appserver (great product).

Rant: I really wish Progress Software Corporation had better advertising and promotion. They've had a great DB and rich development environment for years. Now they have kick-ass middleware (SonicMQ etc). They've been around (and proftable) for over 25 years, and nobody under 40 ever heard of them.

-=W=-

Proprietary? It's 2006 already! (1)

Travis_Tennies (945584) | more than 8 years ago | (#14463836)

Seems like every time I see .net deployed, it only really work with MS browsers. Then the under-knowledged team has to try to figure out how to get it work in the real world. Then there's also the endless security issues with very very long fix times. You'd have to be high to not know it takes way too long for MS to fix known security problems.

Consider Microsoft for games, but not for business.

Java- new tools slick and free! (1)

acomj (20611) | more than 8 years ago | (#14463952)

.
Java has some new ide's for free that seem to produce web pages (I'm not exactly sure what java flavor). They look really slick, and have me thinking about switching to java from php.

http://developers.sun.com/prodtech/javatools/jscre ator/index.jsp [sun.com] [sun.com]

http://developers.sun.com/prodtech/javatools/jscre ator/reference/quicktour/2/flash/index.html [sun.com]

Tapestry vs. JSF detailed comparison (1)

fbg111 (529550) | more than 8 years ago | (#14467528)

Not sure why you're considering JSF and not Tapestry, but in case you want to add the latter to your shortlist, here's a good, detailed comparison between Tapestry 3.0 and JSF:

http://www.realsolve.co.uk/site/tech/jsf-vs-tapest ry.php [realsolve.co.uk]

Tapestry 4.0 was just released, so that comparison a little dated now, but still worth a read.

JSF for Database Apps (0)

Anonymous Coward | more than 8 years ago | (#14469738)

I am C++/Java Developer and at work was asked to write web-based applications that would display and manipulate very specific data to users from multiple data sources. Already Knowing Java I turned to J2EE for my web development, using a mixture of JSP and JSF. I found the most useful part of JSF for me has been the tag. I used a JavaBean to make JDBC connections and build and array/list of data objects. dataTable will display dynamic columns from your data structure on the web page. In your dataTable you can mix Java data types, html and other JSF components, CSS can be used to make your dataTable pretty. Using JSF saved me a lot of time with web page development.

I did consider ASP for this project but there was too much MS overhead since time was a consideration on this project
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>