1# Overview
2
3The JavaScript-compatible web-like development paradigm uses the classical three-stage programming model, in which HML is used for building layouts, CSS for defining styles, and JavaScript for adding processing logic. UI components are associated with data through one-way data-binding. This means that when data changes, the UI automatically updates with the new data. This development paradigm has a low learning curve for frontend web developers, allowing them to quickly transform existing web applications into ArkUI applications. It could be helpful if you are developing small- and medium-sized applications with simple UIs.
4
5For details about the components, see [Component Reference (JavaScript-compatible Web-like Development Paradigm)](../reference/apis-arkui/arkui-js/js-components-common-attributes.md).
6
7
8## Overall Architecture
9
10ArkUI with the JavaScript-compatible web-like development paradigm consists of the following layers: application layer, frontend framework layer, engine layer, and porting layer.
11
12
13
14![en-us_image_0000001223127696](figures/en-us_image_0000001223127696.png)
15
16- Application
17
18  Contains applications with FAs you developed. The FA application in this document refers to the application with FAs developed using JavaScript.
19
20- Framework
21
22  Parses UI pages and provides the Model-View-ViewModel (MVVM), page routing, custom components and more for front end development.
23
24- Engine
25
26  Accomplishes animation parsing, Document Object Model (DOM) building, layout computing, rendering command building and drawing, and event management.
27
28- Porting Layer
29
30  Abstracts the platform layer to provide abstract interfaces to connect to the platform. For example, event interconnection, rendering pipeline interconnection, and lifecycle interconnection.
31