Question

Should I use LAMP, .Net, or any other platform? I have access to resources with LAMP, .Net, ROR and Java experience. Thanks.

Sorry for being vague. Could you give me a few pluses and minuses of each like Paul? Thanks for your time and effort.

Was it helpful?

Solution

If you're planning to host the system, then you are best to work in a language that you are comfortable with and can hire people to help you. That means you want something reasonably popular, but also oriented towards the type of functionality you are implementing. Presumably you are writing some form of web application.

Personally, my favorite web app language was Perl, but it took a huge amount of self-discipline to keep from making it a mess. It's probably not great for big teams, and it's hard to hire people with experience.

PHP is great for pounding out web apps, and it has a big following. Unless I haven't been keeping up on it LAMP, .Net, ROR and PHP are all bounded by web 1.0 technologies, which means augmenting them with a JavaScript library like Dojo if you want to use AJAX (which is all the rage these days).

If the software is enterprise, then Java or C# are more sellable, but since you're running it yourself that doesn't matter. Personally I'd stay far away from J2EE, it's just too much complexity for too little functionality.

My latest combo is Java, GWT and hibernate, but I find they are very difficult technologies to master. Good if you have the time for long term development, but not so great if you're in a hurry.

So, if you're in a rush, prototyping in LAMP, with a very simple 1.0 front-end is probably best, then later once you've crystallized the concept, redoing the system in some stronger technology will help you get to the next level of performance.

Paul.

OTHER TIPS

If its a professional project then use whatever you have the best resources for, if you don't know then ask your coworkers what they would be most comfortable with. If things really are equal (and I doubt they are) then use each of the platforms to write a random platform selector, and use that to make your choice.

Conversly if its a personal project and you are looking for something new, then use the thing that you know least about.

Waaaay too subjective/argumentative.

They all have gains and losses and are all adept at SAAS type architectures these days. Use whichever you're most or least comfortable with depending on your goals.

Try to see which platform has purpose built solutions. I know in .NET there is Apprenda's SaaSGrid and in Java, BEA was working on something called Genesis, but I think it was cancelled when Oracle bought them.

My answer is the same as Paul's.

  1. Know who your users are and if they have software requirements, such as Microsoft licenses etc. It's much easier to bind Microsoft applications with .net than any other language.
  2. Know your budget if you have one. PHP will be the cheapest and fastest to build a web app in. All you need is apache, roughly 10 lines of site configuration, and about 50 lines of code for a SAAS app.
  3. Is it a once-off develop and forget? Most applications won't be, so you'll need to develop it in a language that's accessible and well supported. No point developing in Ruby or Perl if you need high availability, accessibility and support.

Keep in mind that you can develop enterprise-level applications in PHP, Java and .NET. One of the reasons why people develop in .NET and Java for enterprise level applications is for the available support, stricter languages, typically better developers etc. It's a myth that PHP is no good for enterprise - each platform is only as strong as its weakest component.

Are you using an Oracle or Microsoft database? While PHP can connect to those systems, they require additional drivers to do so.

First of all, figure out what you're trying to build. Prototype it in a language that you won't develop the final solution in (unless that language is your strongest and most competent language) so that you simply can't continue using the prototype as the final solution. Transfer the business logic, framework scaffolding and library ideas to your chosen language.

I've developed SaaS apps in PHP before, and from my experience there's hundreds of ways to skin the same cat so to speak

Pros:

  1. Cheap development
  2. Rapid development
  3. Low server costs
  4. Low initial maintenance costs

Cons:

  1. Semi-competent developers who are most likely unfamiliar with OOP & SAAS concepts (this is almost always a given)
  2. Expensive maintenance down the track, especially point 1
  3. Performance overhead without effective caching strategies
  4. Every developer who touches the application will want to develop it into their own system
  5. Not a strongly typed language, so type hints are very important as well as constantly validating input for type and correctness (word?)

Hope that helps...

You could use a free web RAD called 4WS.Platform:

www.4wsplatform.org

which is free. You could deploy it in Google App Engine and use it to create web applications on the cloud, which are a Saas solution...

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top