I am a desktop developer moving to web development. The guys who I am working with use procedural PHP, and coming from an event driven, objectified perspective (using WPF and C#.Net) I am completely lost in what seems like the Wild West of development.Are there any language/framework combinations that allow some semblance of state between the client and server and 'persists' the objects? Is there a way to create a definition of an object that is synonymous between the client and the server?  Is there anything that incorporates testing and UI components as well?I realize this is a somewhat broad and biased question, however it is one that I have not found any definitive answers for. Any advice and guidance would be thoroughly appreciated!
Event Driven Objects/Framework on the Web
object oriented;web framework;event programming
Your best bet is to first learn JavaScript without any frameworks. It works both in the client and server side (as Node.js). JavaScript is Event Driven by itself so you won't face much issue here.Since you are coming from a C# background and your team uses PHP, I would highly recommend the Dojo Framework. It works both on the client and server side or it can work on the client side and has integration with Zend PHP on the server side.There are Widgets in Dojo inside the Dijit package, which are basically classes used for implementing UI (Controls in the C# World). Integrating with Zend has some interesting perks includidng the persistent state you are talking about.Otherwise you could go for vanilla frameworks like jQuery and sync data with your PHP server using AJAX Calls.