스레드
이온디

@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');



.page {
max-width: 800px;
margin: 0 auto;
padding: 60px 50px;
}

@media print {
.page {
padding: 40px;
}
.page-break {
page-break-before: always;
}
}

/* Header */
.header {
text-align: center;
margin-bottom: 50px;
padding-bottom: 40px;
border-bottom: 3px solid #2563eb;
}

.logo {
width: 120px;
margin-bottom: 20px;
}

.header h1 {
font-size: 32px;
font-weight: 700;
color: #1a1a1a;
margin-bottom: 10px;
}

.header .subtitle {
font-size: 18px;
color: #2563eb;
font-weight: 500;
}

.header .company {
margin-top: 20px;
font-size: 14px;
color: #666;
}

/* Section */
.section {
margin-bottom: 45px;
}

.section h2 {
font-size: 22px;
font-weight: 700;
color: #1a1a1a;
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 2px solid #e5e7eb;
}

.section h3 {
font-size: 18px;
font-weight: 600;
color: #374151;
margin: 25px 0 15px 0;
}

.section p {
margin-bottom: 15px;
color: #374151;
}

/* Problem List */
.problem-list {
list-style: none;
padding: 0;
}

.problem-list li {
padding: 12px 0 12px 30px;
position: relative;
border-bottom: 1px solid #f3f4f6;
}

.problem-list li:before {
content: "⚠️";
position: absolute;
left: 0;
}

/* Comparison Table */
.comparison-table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}

.comparison-table th,
.comparison-table td {
padding: 15px;
text-align: left;
border: 1px solid #e5e7eb;
}

.comparison-table th {
background: #f8fafc;
font-weight: 600;
color: #1a1a1a;
}

.comparison-table td:last-child {
background: #eff6ff;
color: #1e40af;
font-weight: 500;
}

/* Highlight Box */
.highlight-box {
background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
border-left: 4px solid #2563eb;
padding: 25px;
margin: 25px 0;
border-radius: 0 8px 8px 0;
}

.highlight-box p {
margin: 0;
font-size: 16px;
color: #1e40af;
font-weight: 500;
}

/* Speed List */
.speed-list {
list-style: none;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 15px;
margin: 20px 0;
}

.speed-list li {
background: #f0fdf4;
padding: 15px;
border-radius: 8px;
text-align: center;
border: 1px solid #bbf7d0;
}

.speed-list li strong {
color: #15803d;
}

/* Demo Table */
.demo-table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}

.demo-table th,
.demo-table td {
padding: 15px;
text-align: left;
border-bottom: 1px solid #e5e7eb;
}

.demo-table th {
font-weight: 600;
width: 30%;
}

.demo-table a {
color: #2563eb;
text-decoration: none;
}

/* Pricing Card */
.pricing-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
margin: 25px 0;
}

.pricing-card {
border: 2px solid #e5e7eb;
border-radius: 12px;
padding: 25px;
text-align: center;
}

.pricing-card.featured {
border-color: #2563eb;
background: #eff6ff;
}

.pricing-card h4 {
font-size: 16px;
color: #374151;
margin-bottom: 10px;
}

.pricing-card .price {
font-size: 28px;
font-weight: 700;
color: #1a1a1a;
margin-bottom: 15px;
}

.pricing-card .price span {
font-size: 14px;
font-weight: 400;
color: #666;
}

.pricing-card ul {
list-style: none;
padding: 0;
text-align: left;
font-size: 14px;
}

.pricing-card ul li {
padding: 8px 0;
padding-left: 20px;
position: relative;
}

.pricing-card ul li:before {
content: "✓";
position: absolute;
left: 0;
color: #2563eb;
font-weight: bold;
}

/* Process */
.process-steps {
display: flex;
justify-content: space-between;
margin: 30px 0;
position: relative;
}

.process-steps:before {
content: "";
position: absolute;
top: 25px;
left: 50px;
right: 50px;
height: 2px;
background: #e5e7eb;
}

.process-step {
text-align: center;
position: relative;
z-index: 1;
}

.process-step .number {
width: 50px;
height: 50px;
background: #2563eb;
color: #fff;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 18px;
margin: 0 auto 10px;
}

.process-step .label {
font-size: 13px;
color: #374151;
}

/* CTA Box */
.cta-box {
background: #1e40af;
color: #fff;
padding: 35px;
border-radius: 12px;
text-align: center;
margin: 30px 0;
}

.cta-box h3 {
color: #fff;
font-size: 22px;
margin-bottom: 15px;
}

.cta-box p {
color: #bfdbfe;
margin-bottom: 10px;
}

/* About */
.about-list {
list-style: none;
padding: 0;
}

.about-list li {
padding: 10px 0 10px 30px;
position: relative;
}

.about-list li:before {
content: "•";
position: absolute;
left: 10px;
color: #2563eb;
font-size: 20px;
}

/* Contact */
.contact-box {
background: #f8fafc;
padding: 30px;
border-radius: 12px;
text-align: center;
}

.contact-box h3 {
margin-bottom: 20px;
}

.contact-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 15px;
text-align: left;
max-width: 500px;
margin: 0 auto;
}

.contact-item {
display: flex;
align-items: center;
gap: 10px;
}

.contact-item .icon {
width: 24px;
text-align: center;
}

.contact-item a {
color: #2563eb;
text-decoration: none;
}

/* Footer */
.footer {
margin-top: 50px;
padding-top: 20px;
border-top: 1px solid #e5e7eb;
text-align: center;
font-size: 13px;
color: #9ca3af;
}





XE 사이트 현대화 제안서


React 기반 프론트엔드 전환 솔루션

이온디(EOND) · XE 전문 개발





문제 인식


XE 기반 사이트를 오래 운영하셨다면 이런 고민이 있으실 겁니다.



  • 페이지 이동할 때마다 전체 새로고침으로 인한 느린 체감 속도

  • 모바일 환경에서의 불편한 사용자 경험

  • "XE는 옛날 기술"이라는 이미지 문제

  • 그렇다고 데이터 이전하며 플랫폼 바꾸기엔 부담






솔루션: XE + React


기존 XE 구조는 그대로, 프론트엔드만 현대화합니다.






구분
기존 XE
React 전환 후




페이지 전환
매번 새로고침
즉시 전환 (SPA)


체감 속도
클릭마다 대기
앱처럼 빠름


모바일 경험
기본 반응형
네이티브 앱 수준


기술 이미지
레거시 PHP
최신 React 스택




왜 가능한가?



  • 자체 개발한 XE REST API 모듈 활용

  • XE 데이터베이스/관리자 기능 100% 유지

  • 프론트엔드만 React로 교체하는 비파괴적 전환






체감 속도 차이


React 기반 SPA(Single Page Application)의 특성상:




초기 로딩 1회 후, 이후 페이지 전환은 거의 즉시 이루어집니다.





  • 게시판 목록 → 글 상세
    즉시

  • 카테고리 이동
    즉시

  • 검색 결과 표시
    즉시



기존 XE처럼 매번 서버에서 HTML을 받아오는 방식이 아니라,
필요한 데이터만 API로 받아와 화면을 갱신하기 때문입니다.






라이브 데모


실제 React로 전환된 XE 사이트를 직접 체험해보세요.





메인 사이트
https://eond.com


블로그
https://eond.com/blog


포트폴리오
https://eond.com/portfolio



직접 클릭해보시면 속도 차이를 체감하실 수 있습니다.








서비스 구성 및 가격





React 스킨 패키지


50만원~


  • React 레이아웃 스킨

  • React 게시판 스킨

  • React 통합검색 스킨

  • 설치 가이드 제공







API 모듈 단독


200만원~


  • XE REST API 모듈

  • API 문서 제공

  • 자체 개발팀용








진행 프로세스




1

문의 및 상담



2

사이트 분석



3

견적 안내



4

개발



5

검수 및 인도







무료 사이트 진단


관심이 있으시다면, 먼저 현재 사이트를 무료로 분석해드립니다.


현재 사이트 속도 측정 · React 전환 시 개선 포인트 · 예상 견적 및 일정






이온디(EOND) 소개



  • XE 기반 디지털 제품 500개 이상 제작/판매

  • XE 커뮤니티 15년 이상 활동

  • React + XE REST API 자체 개발






연락처




🌐
eond.com



📞
0507-1433-0311







0 좋아요 0 답글 245 조회