Simplifying web programming
Modern web programming is plagued by a jungle of heterogeneous programming frameworks and lacks adequate abstractions for endto- end rapid, structured, design and development. We studied the current problems faced by developers using an online survey, and found that integrating client-side interactivity with the back-end is a major source of inefficiency. Based on the reported issues, we developed a new programming environment, called WEBNAT, to reduce the burden of client-server programming. WEBNAT makes it easy to specify bindings of client-side views with server-side data and provides multiple abstractions that enable succinct specifications for interactive web applications. We conducted a user study to understand its usefulness and barriers to adoption. Our participants were able to learn and use WEBNAT in less than 2 hours showing minimal learning curve. We also discovered that although novices embrace the system readily, experience developers are more cautious about adopting a new web programming framework.