Server Side Template to Client Side JavaScript Transformation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing web development methods require software developers to know multiple programming and markup languages to manually transform server side templates into client side templates, making the process inefficient and error-prone, especially for creating rich user experiences on sophisticated websites.

Innovation Solution

A method and device that transforms server side templates into client side templates by parsing HTML and logical instructions to generate a document object model and replacing them with equivalent JavaScript code, allowing for the creation of complex web pages without the need for an intermediate template language on the client device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If manual transformation of server side templates to client side templates is performed by developers, then the transformation can be done with flexibility, but the process becomes time-consuming and error-prone

Engineering Contradiction:
Improvetransformation accuracyVSAvoidtransformation time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system performs automatic transformation of server-side templates to client-side templates using a template transformation engine that parses server-side template syntax and generates equivalent client-side JavaScript code, eliminating the need for manual developer intervention and reducing both time and errors in the transformation process

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The manual mechanical process of template transformation by developers is replaced with an automated computational system that uses parsing algorithms and code generation techniques to transform templates automatically, substituting human labor with a systematic automated process

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Adaptability or versatility

If developers use multiple programming and markup languages for server and client side development, then the development can be done with existing tools, but the complexity of the development process increases

Engineering Contradiction:
Improvedevelopment language flexibilityVSAvoiddevelopment process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system enables a single server-side template language to serve dual purposes by automatically transforming it into client-side executable code, allowing the same template syntax to function both on the server for generation and on the client for dynamic rendering, thereby reducing the need for developers to master multiple languages

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of operation

If intermediate template language is used on client device, then the template can be interpreted on the browser, but an additional layer of complexity is introduced

Engineering Contradiction:
Improvebrowser compatibilityVSAvoidtemplate execution complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system extracts and eliminates the intermediate template language layer by directly transforming server-side templates into native client-side JavaScript code that executes directly in the browser without requiring interpretation of a separate template syntax, thereby maintaining browser compatibility while reducing execution complexity

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11677809B2Methods for transforming a server side template into a client side template and devices thereof
Publication Date: 2023.06.13 USABLENET INC
  • US11677809B2 patent drawing
  • US11677809B2 patent drawing
  • US11677809B2 patent drawing

AI summary

A method, non-transitory computer readable medium, and web content server that assists with transforming server side template to client side template includes obtaining a server side template comprising a plurality of Hypertext Markup Language (HTML) and logical instructions responsive to a request for webpage received from a client device. The obtained server side template is parsed to generate a document object model. The parsed document object model is traversed to identify the plurality of HTML and logical instructions. The obtained server side template is transformed to a client side template by replacing each of the identified plurality of HTML and logical instructions during the traversing with an equivalent JavaScript code.