Slashdot Mirror


Ask Slashdot: Which Web Platform Would You Use?

New submitter datavirtue writes "I'm about to embark on developing active content (database driven, and web services) for the first time for my website and I have grown to love PHP. Knowing that there are other web development platforms available, and noticing some disdain for PHP in some circles, I'm curious to know which platforms slashdotters prefer along with the reasons why. Before I get started into heavy development I would like to get some opinions and more facts. Why shouldn't I use PHP?"

4 of 519 comments (clear)

  1. Wt by paugq · · Score: 5, Interesting

    Wt is the best one I have tried. I use the C++ version, although there is also a Java version (JWt).

    What makes Wt unique is its approach: widgets. You develop web applications like you were developing desktop applications. Also, the API is Qt-like (but using Boost).

    I gave up on Rails after I used Wt.

    Want a virtualization console? Take Wt, libvirt and an HTML5 VNC client and you are done.

    Need Active Directory authentication? Wt, Samba (or Windows APIs if you are on Windows), done.

    Streaming? Wt, ffmpeg libraries, done.

    Forgetting about bindings and being able to use the millions of C/C++ libraries out there was a huge relief.

    Also, size: Rails, Django (and even PHP) just do not fit in an embedded environment. Wt does.

  2. Go C++ with Witty! by scorp1us · · Score: 4, Interesting

    Wt ("witty") is a C++ toolkit that is modeled after Qt. It uses boost and STL, but you get to use familiar Qt concepts - signals & slots, Model view, etc. Basically think of Qt-based web pages. It fully supports AJAX and can handle the data server-side or on the client. It also has a C++ -> JS converter so you can just make a function for conversion to JS and have it exec on the client. Of course it runs as a module, or it comes with its own server. It fully supports CSS, DOM, etc.

    I reall like this approach because my two complaints of PHP:
    1. It is unstructured
    2. it is ugly (both syntax, and having code embedded in pages)
    are alleviated.
    1. C++ object orientation encourages a structured approach.
    2. The "it's 100% C++" ensures that you focus less on the presentation in PHP and just on the application logic. This helps encourage a model-view-controller approach. While you might have to write CSS, you will never have to write HTML and you won't ever have to mix the two in a CPP file.

    Another reason is speed. Everything is compiled and runs natively, or compiled to JS and moved to the client.
    Yet another reason is security. Wt has several protections built in. See the features link below.

    If you're looking to do web pages entirely differently, this is it.

    Additional features list

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
  3. Re:ASP.NET and C# by Anonymous Coward · · Score: 5, Interesting

    A while back now I had to do a project in ASP.Net, after being a long time PHP developer and I have to say I found it incredibly unpleasant. PHP's problem is that you have to write everything from scratch, however ASP provides you with a tonne of controls that allow you to get up and going really quickly. The problem though, is as soon as you try to do something a bit more complex with ASP.Net controls, it all falls in a heap.

    I remember having to print a list of products, and there would be sub headings mixed in amongst the rows to divide product families....

    Product Family 1
    Product 1 - $Price
    Product 2 - $Price
    Product 3 - $Price
    Product Family 2
    Product 4 - $Price

    Now I was pulling these products from a database as one giant table, and then binding the data set to the Repeater control. The problem is that ASP.Net only has templates for a Row and alternating rows, so I couldn't easily insert the separators for the different Product Familys. All of the sudden I'm having to create my own custom controls that inherited from repeaters and needed to have a detailed understanding of how ASP.Net worked and all sorts of scary things. Needless to say, it was incredibly frustrating.

    On the other hand, the same solution in PHP is solved with,
    if($PreviousProduct.Family != $CurrentProduct.Family))
    { //New Family row code goes here.
    }

    1 Line vs alot + stress. To me, that kinda summed up ASP.Net, great if you don't really know how to program, but for professionals, not so great.

    That said I love C#, and I definitely wish that PHP was more like it, PHP is a terrible mess, but its fast, simple and you can build things fairly rapidly. Combine it with a framework, and you're in pretty good hands. Although I'd really love for them to make it harder for noobs to create security issues. :\

  4. Re:ASP.NET and C# by Anonymous Coward · · Score: 4, Interesting

    PHP is nowhere near being a framework. It is a scripting language, similar to Python and the like, but with a few things added in to make it better for web development. However, those things were added in in a time when the web was a lot simpler. Nowadays developers require more - MVC by default, a decent ORM perhaps, that kind of thing. When you need those, you turn to a PHP framework.

    I think that one of the reasons that PHP is criticised so much is that anyone can shove up a .php file and it'll run straight away - it's a lot easier to get into developing with PHP than with other frameworks where you have to learn about MVC, etc. As a result, there's a hell of a lot more dodgy code out there. With languages like Python, however, even using CGI it's a bit more in-depth (and really, you need a framework with Python).