We are witnessing a drastic shift in architectures for web applications. This in response to the increasing market for Rich Internet Applications (RIAs) that offer collaborative and off-line functionality, at global scales. Realizing these qualities requires distributing previously centralized application logic and state vertically from the server to a client tier and horizontally between instances of the same tier Both bring about the essential complexity of maintaining the consistency and safeguarding the security of replicated or shared application assets, along with the accidental complexity of reconciling a myriad of heterogenous tier-specific technology.
The Tearless project aims to address both complexities through a vision in which multi-tier web applications are developed, tested and maintained as a single artefact that spans all tiers. This tierless programming should relieve developers of distribution, consistency and security concerns. We will not pursue this vision through a new and potentially esoteric programming language. Instead, we will pursue a two-pronged solution of enabling technologies & development tooling. This enables the gradual incorporation of our technology in existing code and maximizes valorization opportunities for different stakeholders.