I'm looking for suggestions for the following issue, and I realize there is really not going to be a perfect answer to my question:
I have a UI built in WinForms.NET (v4.0 framework) with WCF back-end and EF4 model objects, that I am looking to port to the web. UI is not huge and is not super complex and is structured well. But it is not a super simple system either. I am looking to pick a technology stack for the web-frontend that will target desktop & partially mobile platforms, provide a good development platform to build on开发者_开发百科, and facilitate code reuse across UI and back-end tiers...
I would rather avoid:
- custom coding of UI-centric scripts, because they are hard to debug, non-compiled, usually a maintenance nightmare, almost always start to contain business logic, and duplicate some of the logic that back-end tiers have (especially validation)
- custom-coding for Desktop Web and Mobile Web UI's separately (although I realize that mobile web UI will likely contain fewer of data-entry screens and more reporting screens)
- non-.NET technology stacks
I would love to:
- target the reporting capabilities of the system toward mobile web browsers
- not have to write a single line of script (javascript, jquery, etc.)
- utilize a good collection of controls that produces an elegant UI
- use .NET for everything
The way I see it right now, I need to re-write this app in Silverlight, utilize a 3rd party UI framework like Telerik, and re-do the reports UI again for mobile platforms separately. However, I'm rather concerned about the shelf-life of Silverlight and the needed to deploy a different architecture to deal with mobile platform.
Is there an ASP.NET/MVC/Ajax architecture/framework/library that would allow me to get at the power of .NET and without painful (imho) client-side scripting, while providing a decent user experience
Thank you
Your issue is always going to be that if you want to make a good browser experience you'll have to learn browser technologies.
You may be able to do a hand-javascript-less site with some combination of Asp.net-Ajax and some Telerik controls but you're wading into a trap. Asp.net ajax and Telerik controls are like the sirens from greek myths that lure sailors to their doom. Sounds real good until your ship ( your app ) crashes into the rocks ( configuration and webforms-ajax bloatware ).
Your concerns about client side code seem strange. For example you are never forced to duplicate logic client side. You also have this strange idea in your head that you can share UI logic between desktop and mobile websites. That isn't possible.
What kind of experience do you have in web or javascript/jquery? To be honest it sounds like you are just trying to avoid learning something new.
SilverLight would give you the compile-time support and wouldn't have you writing "script".
精彩评论