Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can you recommend an alternative web application stack? [closed]

Tags:

frameworks

I'm an experienced developer who has been working with .Net for the last 5 years or so. As I've been assembling an application stack for a startup idea I've had, I've noticed that many of the supporting tools that I would like to use are either flaky or have become commercial. As I have no revenue, and factoring in the cost for for Visual Studio, SQL Server (yes, I know about Biz Spark), etc, and I've suddenly realised that I should be looking elsewhere.

So, without further ado, here are my requirements and nice-to-haves. The obvious front-runners are Java and Ruby, but I'm happy to hear any other suggestions (Object oriented and compiled preferred but not required. PHP not welcome here).

Overall

  • Mandatory: Supported by shared hosting to get started
  • Desirable: Should not be too fiddly to get working (just work when components are plugged in)

Framework

  • Mandatory: Modern mvc framework
  • Mandatory: Fine-grained control over html output

Code Quality

  • Mandatory: Logging framework
  • Desirable: Static analysis (complexity, etc)
  • Desirable: Generate UML diagrams of code structure
  • Desirable: Test coverage reports

OOP Stuff

  • Mandatory: ORM that handles semi-deep hierarchies, incl many-to-many relationships.
  • Mandatory: Mock framework
  • Mandatory: IOC container (probably its own category)

IDE

  • Mandatory: Formatting assistance (indentation)
  • Mandatory: debugging: break points, variable inspection
  • Desirable: auto-completion: VS's intellisense is really nice. This is close to mandatory
  • Desirable: debugging: in-place code execution (immediate window), move current frame backwards
  • Desirable: Test framework integration

Code Quality

  • Mandatory: Test framework
  • Desirable: Code coverage
  • Desirable: Generate documentation from code comments

Build

  • Desirable: One click pull from SVN, build, test, code coverage, code documentation
  • Desirable: Continuous integration (for later when we, er, get really big)

Other notes: I'm happy using Linux (would be quite refreshing!). I'm assuming MySQL for DB, as I don't require ACID compliance (and it's probably ACID by now anyway), and SVN for source control.

Any help or suggestions would be greatly appreciated.

Edit: Currently leaning towards Sinatra, as it looks very elegant, but allows the user to have as much or as little control as they want. And I will select an answer when I think the answers have stopped.

like image 264
tsimon Avatar asked May 06 '09 22:05

tsimon


1 Answers

  • Ruby
    • Ruby on rails
    • Sinatra
  • PHP
    • Zend framework
    • Symfony
  • Python
    • Django
    • Pylons
    • Web.py
  • JVM
    • Wicket (Java)
    • Spring (Java)
    • Lift (Scala)
like image 140
TomHastjarjanto Avatar answered Sep 24 '22 20:09

TomHastjarjanto