|
Posted by Toby A Inkster on 04/01/07 22:39
Ben wrote:
> This app will be hit by thousands of users,
Thousands per second; per hour; per day; per year?
> - Why is/isn't .NET a better solution for large scale apps?
It is a good solution for large scale apps if your developers know it. It
isn't a good solution for large scale apps if your developers don't know
it.
> - Are the majority of current large scale web apps using .NET ?
Google mostly uses C; Yahoo mostly uses PHP; Amazon uses Perl to a large
extent; Microsoft mostly uses (surprise, surprise...) .NET.
> - Are the majority of handheld devices and cell phones using MS based
> tools or not?
No. PalmOS is big on handheld devices, though Windows (various flavours
thereof) are also a major presence and there are plenty of others too,
including a sizable installed base of various embedded Linux flavours.
Symbian is still the biggest OS in the mobile phone arena, with about 50%
of the market, though this is falling; Linux is next, with about 25% and
then Windows with about 15%; PalmOS is a minor player here too, and again,
plenty of others.
If you want to support a wide variety of mobile phones, then you want to
look at Java/MIDP, which virtually all recent mobile phones support,
except for the ones that come free with Happy Meals. Most handheld devices
could probably be coerced into running Java too -- particularly Windows
and Linux based devices.
It sounds to me like a good portion of your project is not web-based, so
PHP is probably not the ideal language for it. The method that I'd be
tempted to use would be:
1. Find a general purpose language that your development team are
comfortable with. Examples would be C, C sharp, Java, Perl or
Python. Write the majority of the application in this, including
all the logic and data access. Expose this application via a
set of web services.
2. Write your mobile client in Java. The mobile client should not
try to access the data or do anything clever on its own, but
should only access the main application's web services.
3. Write your web site in a suitable language which your development
team is most comfortable with. Examples would be PHP, Perl, Python,
Java, or ASP.NET. Again, it shouldn't do anything clever -- just
provide a web site communicating with the main bulk of the code
via your web service.
This should give you a clean split between the application, the website
and the mobile clients. You can then write each component in the most
suitable language for the task at hand.
Also, as far as web services go, although SOAP is well-established, the
current vogue is RESTful interfaces. And, unlike most fashions in
technology, there is a very good reason for it: REST is far more sane
than SOAP.
--
Toby A Inkster BSc (Hons) ARCS
Contact Me ~ http://tobyinkster.co.uk/contact
Geek of ~ HTML/SQL/Perl/PHP/Python*/Apache/Linux
* = I'm getting there!
[Back to original message]
|