How HULK Evolved from Server‑Rendered PHP to a React‑Powered Frontend (3.0)
This article details the transformation of the HULK private‑cloud platform's front‑end from a PHP‑based MVC system to a modern React SPA using webpack, Redux, SASS and code‑splitting, highlighting the motivations, architectural decisions, and performance benefits of the 3.0 overhaul.
HULK Frontend Evolution Overview
To support the productization and platformization of the HULK private‑cloud while ensuring an excellent user experience, the front‑end architecture migrated from version 2.0 (server‑side rendering) to version 3.0 (React‑based). This article shares that evolution.
HULK Cloud Platform
HULK is 360’s core private‑cloud offering, integrating compute, databases, big data, monitoring and storage to provide one‑stop services and enable rapid, second‑level deployment of cloud environments.
HULK 3.0 Frontend Overview
HULK 2.0 (Legacy) Frontend Architecture
The 2.0 version used a standard MVC stack: server‑side PHP plus a lightweight front‑end framework built on jQuery and Bootstrap. Growing team size and workload exposed shortcomings in documentation, component quality, and development speed.
Key requirements identified were fast page response, reduced duplicate code, and strong component reuse. Typical pages (A‑F) were illustrated, showing repeated elements such as top menus, side menus and content sections.
Ideal behavior included loading only new content when navigating between similar pages, avoiding full page reloads, and minimizing network requests by sharing common components.
HULK 3.0 Frontend Architecture Analysis
Given the requirements, a single‑page application built with webpack was chosen. The stack consists of the React full‑family: React, Flux, JSX, react‑router, webpack, ES2015, SASS, Babel and BEM naming conventions.
React treats the UI as a component tree that maps to the DOM. JSX allows writing component markup in a HTML‑like syntax, while react‑router controls which components are visible based on the route.
SASS is compiled to CSS via node‑sass, then inlined through a script tag; ES6 is transpiled to JavaScript with Babel. BEM prevents global style collisions.
Webpack bundles the application, enabling code‑splitting: the component tree is divided into chunks that are loaded on demand, reducing initial load time.
State Management with Redux
Dynamic data is fetched via APIs and fed into React components. Redux (a Flux implementation) provides a single‑direction data flow and separates model logic from the view.
HULK 3.0 Final Frontend Architecture
The complete 3.0 front‑end stack introduces a clear separation between front‑end static assets and back‑end services, resulting in better performance, faster iteration, and flexible deployment strategies.
The transition was driven by concrete needs rather than the desire to use a framework for its own sake, and the new architecture delivers noticeable gains in page performance and development speed.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
360 Zhihui Cloud Developer
360 Zhihui Cloud is an enterprise open service platform that aims to "aggregate data value and empower an intelligent future," leveraging 360's extensive product and technology resources to deliver platform services to customers.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
