Web Development FrameWork



  • Disclaimer: I dont intend to start a flamer war, this is a honest question.

     So... Recently i've become more and more interested in database driven web aplications (for professional and personal motives) and for some reasons (the daily wtf, and some things i've seen at work ;) ) PHP/MySQL inst realy what im looking for. I have been looking at Struts, or Ruby On Rails, since they are both free and open source. But since there is a learning curve (to wich my company does not pay me for, and my free time is precious) i would like any rants on the matter you guys may have (i should assume 50% of this forum readers work with this kind of things). What do you think is a good move??? Any other sugestions besides the two i mentioned? Are they any good, or the good press about them is just hype???
     

    Thanks in advance.
     



  • JSF?



  • I was looking for PHP framework some time ago too.

    You may want to look at Code Igniter.
    It utilises MVC approach like Ruby-on-Rails, it's lightweight and is pretty easy to get started with. 



  • [quote user="pinguis"]

    But since there is a learning curve (to wich my company does not pay me for... ...)
     

    [/quote]

    That statement would be the only thing that would get me to start a flamewar!

     Are you sure you are telling us correctly? I could (kind of) understand if your company won't shell out for formal instruction. Ultimately, that's a loss for both you and the company. When I first read your statement, though, I took it to mean your company expects you to not spend any time learning? If that's true, your answer is before you. Start with what you know today.
     



  • To clear things up... when i said professionaly, its not in the present. Im not doing an web development at the moment, and wont be doing in a while so i consider at investment in myself (hence the my free time thing).
     



  • Seems cool, thanks for the link



  • You may also want to take a look at Django and Turbogears.

    Both are high quality Python frameworks.

    Django comes from the publishing world, it's slick, easy to use, and it focuses on getting the job done: it has it's own extremely simple template language (whose goal is to allow designers and stuff to code templates, because "that's not a dev job") and provides a killer functionality: it takes a single line of code to create a whole, very pretty, admin interface. It also handles things like user authentification very well.

    Turbogears is the other rising name in the Python frameworks world. It takes a more "practical" approach of using Python's tried and true "best of breed" solutions (the ones the Turbogear team thinks are the best-of-breed of course) instead of reinventing the wheel, and nicely glueing them together.

    Both are worth taking a look at.



  • [quote user="pinguis"]

    To clear things up... when i said professionaly, its not in the present. Im not doing an web development at the moment, and wont be doing in a while so i consider at investment in myself (hence the my free time thing).
     

    [/quote]

    Oh. Okay.

     Nevermind. :)
     



  • You could try ASP2.0 + MS SQlServer Express. All free from MS, and really very good. There's bucket loads of help and tutorials online that are of generally high quality.

     I know it's not fashionable to praise MS, but they really have done it right this time.
     



  • [quote user="GregW"]

    You could try ASP2.0 + MS SQlServer Express. All free from MS, and really very good. There's bucket loads of help and tutorials online that are of generally high quality.

     I know it's not fashionable to praise MS, but they really have done it right this time.
     

    [/quote]

    This really is a nice free solution. Just make sure you can get a free copy of Windows Server 2003 and VS.net.

    That said there is an interesting free .net web solution coming along including work on a visual designer. I just wouldn't say it's quite there yet and the above solutions are probably more suitable.



  • [quote user="Some Idiot"][quote user="GregW"]

    You could try ASP2.0 + MS SQlServer Express. All free from MS, and really very good. There's bucket loads of help and tutorials online that are of generally high quality.

     I know it's not fashionable to praise MS, but they really have done it right this time.
     

    [/quote]

    This really is a nice free solution. Just make sure you can get a free copy of Windows Server 2003 and VS.net.

    That said there is an interesting free .net web solution coming along including work on a visual designer. I just wouldn't say it's quite there yet and the above solutions are probably more suitable.

    [/quote]

    Free (as in beer) VS.net:  Visual Web Developer 2005 Express Edition

     

     



  • [quote user="ammoQ"][quote user="Some Idiot"][quote user="GregW"]

    You could try ASP2.0 + MS SQlServer Express. All free from MS, and really very good. There's bucket loads of help and tutorials online that are of generally high quality.

     I know it's not fashionable to praise MS, but they really have done it right this time.
     

    [/quote]

    This really is a nice free solution. Just make sure you can get a free copy of Windows Server 2003 and VS.net.

    That said there is an interesting free .net web solution coming along including work on a visual designer. I just wouldn't say it's quite there yet and the above solutions are probably more suitable.

    [/quote]

    Free (as in beer) VS.net:  Visual Web Developer 2005 Express Edition

     

     

    [/quote]

    Yeah, but there's still an OS license needed and I'm not sure wine cuts it. (That is of course making an assumption based on the avatar)



  • [quote user="Some Idiot"]

    Yeah, but there's still an OS license needed and I'm not sure wine cuts it. (That is of course making an assumption based on the avatar)

    [/quote]

    innocent looking Doesn't Windows come for free when you buy a new PC? 



  • Thanks for your sugestions, but I sure wont side by the evil spawn of satan (Microsoft).



  • I've actually developed a couple of working applications in RoR, so I can attest to the fact that it's not just hype. RoR has a lot of fans and momentum right now, which means good things if you want to pick it up. There's lots of tutorials and screencasts out there, making it a lot easier to get into.


    There's also 1-click installs for Mac and Windows, so there's almost no setup involved in getting a full web stack up and running on your dev machine. There's quite a few dev tools out there: TextMate for Mac, which all the core developers seem to use, RadRails, which is based on Eclipse, and a bunch more.

    The easiest way to check out Rails is to poke around on the website, and check out some of the screencasts. If you think you like the look of it, download one of the kits, either Locomotive for Mac, or InstantRails for Windows.



  • I'm NOT doing any web development at the moment, so take my opinion with a grain of salt. I have done a small "Ruby on Rails" to become familiar with the Ruby language and the Rails framework, and while it's cute, it's not something that I'd pick up as a future investment. It can't hurt to look at it, and see how they do things; It's a lot of hype, though, and a lot of bugs and lots of development still going on.

    There are soo many frameworks (multiple ones for every scripting lnaguage out there) that I'm seriously wondering how many of these will be maintened and developed for more than a couple of releases. There are only two frameworks that I'd consider interesting and, to me, worth looking at.

    One is ASP.NET and even if it may not be the best one out there (I'm pretty sure it'll actually be a big wtf of it's own) it's still being pushed by Microsoft, and as such the likelyhood of coming across it in your career is very, very high. Knowing the design behind it, and getting familiar with it to the point that you're past the newbie wtf's would definitely be a good thing.

    The other one is JSP/JSF. This is also quite widespread across big online portals. As I'm already doing a lot of java development, this is of particular interest to me.

     Lastly there is also WebObjects, which I've seen in use a couple of times. It's a framework from Apple and it's driving, for example, the iTunes store or the TVTV.com website. I find this system quite intriguing and would like to know more about it.

     
    That covers Microsoft, Sun and Apples offerings. I don't know if Oracle, IBM or Novell have anything of their own. IBM may have some Lotus-related product, but since I've never even heard a good word about Lotus I can't be bothered to look.

    Google opened up their framework used for their web apps. It's a JAVA-based framework with a compiler that generates HTML and JavaScript from the Java classes. It's quite neat, and worth looking into if you need something small, not too complexe and original.

     



  • [quote user="pinguis"]

    To clear things up... when i said professionaly, its not in the present. Im not doing an web development at the moment, and wont be doing in a while so i consider at investment in myself (hence the my free time thing).
     

    [/quote]

     Guess what??? A while translated in a few days!!!!!!! My next project to start today, is an web application, that will read data from a SOAP server (in this case airline information) that will then integrate with our set-box system to display realtime departure and arrival information (one of our clients is a worldwide travel agency network). I can say that im flabbergasted, this comming up, just after I started the thread!!!!

    So, the framework requires: 1) Running in Linux 2) Good SOAP support.

    The good news, is that now i will learn it on company time. The bad news is that im still indecise on which framework to choose!

    At the moment the three strongest contenteders are

    1) Struts

    2) Shale (Struts + Java Server Faces)

    3) RubyOnRails

     Any info on these particular three is welcome

    P.S. Thanks for your informative replies guys!!!!

     



  • Ugh, SOAP. I've had to learn SAAJ (Soap with Attachments Api for Java; http://java.sun.com/webservices/reference/api/ ) and, while it works, it's probably not something you want to use. Find a nice wrapper for it to avoid headache :)

    I can't really recommend anything beyond that :) 



  • [quote user="Nandurius"]

     Lastly there is also WebObjects, which I've seen in use a couple of times. It's a framework from Apple and it's driving, for example, the iTunes store or the TVTV.com website. I find this system quite intriguing and would like to know more about it.

    [/quote]

    Having implemented our system from scratch on ObjectiveC/Cocoa, i can tell without fear of contraditcion that is simply the best development envirnoment I've worked with. I have not used WebObjects, mind you, but if they are at Apple standard, it may prove more addictive than illicit drugs.
     



  • [quote user="pinguis"]Thanks for your sugestions, but I sure wont side by the evil spawn of satan (Microsoft).
    [/quote]

    But haven't you heard that Linux is a liberal conspiracy?

    In all seriousnessality, web software-wisely speaking, there is some pretty good stuff in the .net platform that doesn't actually require microsoft licenses and it's certainly worth a look. The .net platform provides a really neat model for integrating software, language independence-wisely speaking and you can use it with apache.

    PHP ruby, etc are way out freaky but, for the decerning developer for some tasks, strict typing is important. A framework that allows simple loose typed scripting languages for simple tasks to integrate seamlessly with stricter type stuff is wild, multi-lingual-wisely speaking. 

    I'm saying this as someone who is mostly from an Java and open source background, uses Linux exclusively at home but who has done .net projects as well. I'm also saying this as someone who recently watched the DVDs of The Aunty Jack Show and digs Kev Kavanagh.



  • I'm surprized no one has mentioned Resin.

    At my company, (a very large internet media company: news, reviews, downloads, video, blogs, etc..) our latest-and-greatest platform is based off of Apache/Resin3/Spring/Hibernate (or sometimes ibatis)/MySQL/Solr

    Spring might be a bit heavyweight for personal projects, but it is very nice to work with.

    If I were you, I'd probably start with Resin3/Spring/MySQL. It's enough to get you started.  Use your choice of ORM. I like ibatis, but Hibernate looks good too.

    Edit: Just to clarify, this is my own opinion, and doesn't reflect the opinion of my employer. 



  • [quote user="pinguis"][quote user="Nandurius"]

     Lastly there is also WebObjects, which I've seen in use a couple of times. It's a framework from Apple and it's driving, for example, the iTunes store or the TVTV.com website. I find this system quite intriguing and would like to know more about it.

    [/quote]

    Having implemented our system from scratch on ObjectiveC/Cocoa, i can tell without fear of contraditcion that is simply the best development envirnoment I've worked with. I have not used WebObjects, mind you, but if they are at Apple standard, it may prove more addictive than illicit drugs.
     

    [/quote]

    Sadly, ObjC WebObjects is no more.  It's all gone Java.  It's still pretty nice to develop, but it's not nearly the same.

    There is, of course, the GNUStep / GSWeb combination, which tries to be as close to WO 4.5.1 as is humanly possible, but you don't get all the nice tools.

    I would strongly recommend Ruby on Rails, nice easy learning curve, plenty of "crutches" to help you along as you learn, and it can be used to produce some mindblowing stuff very rapidly.

    Simon 



  • [quote user="ammoQ"][quote user="Some Idiot"]

    Yeah, but there's still an OS license needed and I'm not sure wine cuts it. (That is of course making an assumption based on the avatar)

    [/quote]

    innocent looking Doesn't Windows come for free when you buy a new PC? 

    [/quote]

    Um. Sarcasm?

    You buy Windows, of course. It's in the price of the PC. You can turn off Windows in a new Dell PC and POOF less money
     



  • [quote user="dhromed"][quote user="ammoQ"][quote user="Some Idiot"]

    Yeah, but there's still an OS license needed and I'm not sure wine cuts it. (That is of course making an assumption based on the avatar)

    [/quote]

    innocent looking Doesn't Windows come for free when you buy a new PC? 

    [/quote]

    Um. Sarcasm?

    You buy Windows, of course. It's in the price of the PC. You can turn off Windows in a new Dell PC and POOF less money
     

    [/quote]

    To steal a quote from "some idiot"'s sig: I will use a <sarcasm/> tag if you use a <stupidity/> tag.



  • SOAP is considered a major PITA by anyone who's worked with it, so you're gonna have fun. I don't know how Struts deals with Web Services, but I've found some stuff for RoR. RoR does SOAP and SML-RPC, Chapter 20 of 'Agile Web Development with Rails' covers it, but it isn't very deep. I think the best source of information would be the Rails wiki at http://wiki.rubyonrails.org



  • To whoever said "Rails is cute" I must ask: did you just use scaffolding or did you actually write anything for yourself?

    When you get down to it, Ruby is a great language for writing any kind of program where performance is not the main issue (and let's face it, most web apps are not "high performance" applications). The one stipulation I have when recommending Ruby on Rails to someone as a web app framework is this: LEARN RUBY FIRST. Get Programming Ruby by Dave Thomas, and learn to deftly wield the language before you dive into Rails. You can "do" Rails without really knowing Ruby, but you absolutely will never grok/get it the way you would if you started with just the Ruby language first.

    Until you can understand that the line "redirect_to :action => 'new' " passes a hash object with a single pair having the symbol :action as the key and the string 'new' as the value to the method 'redirect_to', at a glance, you are not ready.


Log in to reply