Which tech/lang should I use for developing this website?
First, please no biased answers on your favorite tech/lang.
I'm a developer and confused which technology/programming language I should use for building this website.
1- The website will be much like an animated infographic for specific data.
2- The websiteís main page (after login) will have like a panel which will contain several controls, these controls will have several animations:
a. Animations onMouseEnter for every control:
i. Fade-in: Opacity will be animated to fade in.
ii. Grow: Width and Height will be animated to grow the control.
iii. When grown, more controls should appear inside the callerís control (Text containing more details about this object)
iv. Other controls related to this control, will grow and fade-in.
v. There could also be colors animations as well.
b. Animations onMouseLeave for every control will the opposite of onMouseEnter animations.
c. In some cases (for some users) there could be up to even 200 controls animated with these triggers, however; users will be advised to filter the results for better experience and performance.
3- The panel should allow children controls to be moved by mouse click and mouse drag. (Much like if they are on a canvas and the mouse re-positions the controls)
4- If a user doesnít apply any filters, they could end up having even 40,000 different user controls. (Any suggestions?)
5- The panel itself should allow zoom in/out, and pan features.
6- There could be multi-threads working on extracting the information from stored data (sometimes at other remote servers), processing the UI controls and generating the panelís children. (This takes several minutes on my laptop, including the generating of UI controls on a WPF prototype with a low graphics card)
My programming background:
1- Iím basically a C#/.NET developer, on WPF and WinForms.
2- Iím familiar with ASP.NET but still for this website I will need to do a lot of studying and practice.
3- Iíve also read before a little about AJAX within ASP.NET.
1- The website is a fun website, targeting normal customers the same as Facebook users, for example.
2- I have built a small prototype of this as a WPF application but I realized that this is better off as a web app for these reasons:
a. For this kind of app, I expect it to be more difficult to convince users to download the app to use it.
b. This is app will need an Internet connection.
c. I expect processing on my servers will be easier for customers.
d. I expect it to be easier/better to put advertisements on a website than a Windows application.
e. A website will be a better cross-platform solution.
3- Of course, Silverlight could be a good option but Iím worried about the performance of the app, do you think Silverlight can deal with this much UI controls, animations and background processing?
4- Iím also not sure how Silverlight works; will the code-behind work on the clientís computer?
5- Using XBAP will limit the functionality to Windows users. (People wonít use Mono for my application) and this just wonít seem professional.
6- Iím aware Iím going to learn new technologies but I donít waste too much on learning very different technologies that I may lose my potential.
1- Use C# as the background code since Iím good with .NET already.
2- Use ASP.NET as the engine for the website.
1- What tech/lang do you think would be the best for me?
2- How should I manage the animations?
3- If I use ASP.NET, Iím aware that I might need to buy a professional Visual Studio (Optionally), and will have to buy Windows Sever for my servers, Are there other things Iím going to buy/pay for? A license to commercially use ASP.NET maybe? (Of course the severs themselves and the bandwidth)
4- When Iím done with application, should I consider the cloud services instead of having my own servers?
5- If Iím going to learn new technologies, Iím thinking about using the Metro-UI in my application, what do you suggest about that?
Thank you very much for reading this, and thanks for your suggestions! Your help are much appreciated!