UI5 Router 없이 화면 이동? Routing 3단계 #shorts #SAP #UI5
📖 개요: 이 글에서 다루는 것 SAP UI5 초급 개발자가 가장 자주 저지르는 실수 중 하나는 addPage() 나 to() 호출로 화면을 직접 밀어 넣는 방식입니다. 이렇게 만들면 브라우저 뒤로 가기 버튼이 동작하지 않고, URL을 복사해 공유해도 항상 첫 화면만 열립니다. 이 글
📖 개요: 이 글에서 다루는 것 SAP UI5 초급 개발자가 가장 자주 저지르는 실수 중 하나는 addPage() 나 to() 호출로 화면을 직접 밀어 넣는 방식입니다. 이렇게 만들면 브라우저 뒤로 가기 버튼이 동작하지 않고, URL을 복사해 공유해도 항상 첫 화면만 열립니다. 이 글
📖 개요: 인증 없는 CAP 서비스가 위험한 이유 CAP(Cloud Application Programming Model) 서비스는 어노테이션 한 줄 없이도 배포가 됩니다. 문제는 바로 그 지점입니다. @requires 가 없는 서비스는 BTP에 올라간 순간부터 OData 엔드포인트
📖 개요: 이 글에서 다루는 내용 SAP Fiori에서 마스터-디테일 화면을 만들 때 가장 흔한 고민은 "리스트에서 항목을 클릭하면 전체 화면이 Object Page로 넘어가 버려서 목록 맥락을 잃는다"는 점입니다. Flexible Column Layout(이하 FCL)을 적용하면 별
📖 개요: MTX 없이 멀티테넌트를 만들면 벌어지는 일 SaaS 제품을 CAP(Cloud Application Programming Model)으로 만들 때 가장 먼저 부딪히는 벽이 멀티테넌시입니다. "테이블에 tenant_id 컬럼 하나 추가하면 되지 않나?"라는 접근은 초기에 빠르
📖 개요와 목표 체크리스트 로컬 index.html 에서는 멀쩡히 돌던 UI5 앱이 Fiori Launchpad(FLP)에 올리는 순간 빈 화면만 보여주는 경우가 있습니다. 원인의 대부분은 Component.js 부재 또는 잘못된 구성 입니다. FLP는 앱을 "페이지"가 아니라 "컴포
개요 및 이 글에서 다루는 것 SAP Fiori 앱을 데스크톱에서만 테스트하고 배포한 뒤 "모바일에서 표가 잘려 보인다"는 컴플레인을 받아본 개발자가 많을 것입니다. Fiori 디자인 가이드라인은 세 가지 폼팩터(Phone/Tablet/Desktop)를 동시에 지원해야 한다고 명시하지만
1. Content Modifier와 Script의 본질적 차이 SAP Integration Suite(구 Cloud Integration, CPI)로 iFlow를 설계하다 보면 "이 데이터 변환을 Content Modifier로 처리해야 하나, Script로 처리해야 하나?"라는 판단
개요 및 이 글에서 얻어갈 것 Fiori 앱을 오픈하는 순간 사용자 눈에 처음 보이는 것은 로딩 스피너입니다. 초기 렌더링이 3초를 넘어가면 이탈률이 급격히 상승한다는 UX 통계가 있는데, Fiori/UI5 앱의 경우 라이브러리 파일이 워낙 방대하다 보니 최적화 전략 없이는 첫 화면(T
이 글에서 다룰 것 UI5에서 다량의 비즈니스 데이터를 화면에 뿌릴 때 가장 먼저 부딪히는 고민은 "어떤 컨트롤을 써야 하지?"입니다. sap.m.Table , sap.m.List , sap.m.Tree 는 겉보기에는 비슷하지만, 데이터 구조와 사용자 시나리오에 따라 명확히 다른 선택을
개요와 이 글에서 얻게 될 것 CAP(SAP Cloud Application Programming Model) 프로젝트를 로컬에서 cds watch 로 개발하다가 BTP HANA Cloud로 전환하는 순간 대다수 개발자가 "connection refused" 혹은 "no such tab
이 예제에서 다루는 내용과 도달 지점 CAP(Cloud Application Programming Model) 기반 Node.js 프로젝트를 만들다 보면 대부분 cds watch 로 로컬 인메모리 SQLite에서만 개발을 진행합니다. 그러다 BTP(Business Technology P
abapGit이 왜 ABAP 개발자의 필수 도구가 되었는가 ABAP 개발자라면 한 번쯤 이런 경험이 있을 것이다. 트랜스포트 요청(TR)을 잘못 릴리즈해서 코드가 뒤엉키고, 누가 언제 어떤 변경을 했는지 추적할 수 없어 밤을 새운 기억 말이다. abapGit 은 이런 고통을 해결하기 위
개요와 이 글에서 얻어갈 것 CAP(Cloud Application Programming Model) for Node.js 프로젝트를 개발할 때 대부분의 개발자는 cds watch 로 로컬 SQLite와 목업(mock) 인증만 사용합니다. 문제는 배포 후에야 "BTP의 XSUAA 인증
왜 CAP Node.js 프로젝트에서 같은 실수가 반복되는가 SAP Cloud Application Programming Model(CAP) for Node.js는 convention over configuration 철학을 기반으로 하기 때문에, 초기 진입 장벽은 낮지만 프로덕션에 근
UI5 QUnit 단위 테스트에서 sinon Stub과 Spy를 활용해 외부 의존 없이 함수를 모킹·감시하는 3단계 방법을 다룹니다.
UI5 Code Splitting 튜토리얼 — 곧 업데이트됩니다.
1. 개요 및 핵심 포인트 SAPUI5 / OpenUI5 애플리케이션의 부트스트랩 단계는 사용자가 화면을 보기까지 걸리는 첫 번째 병목입니다. 동기(synchronous) manifest 로드 방식은 코드가 단순하지만 브라우저 메인 스레드를 차단하고, 점차 deprecated 처리되어
1. 개요 및 핵심 포인트 UI5 애플리케이션을 BTP에 배포하면 사용자가 페이지를 열 때마다 sap-ui-core.js , Component-preload.js , 컨트롤 라이브러리 등 수백 KB의 정적 리소스가 네트워크로 흘러갑니다. 이 트래픽을 줄이고 초기 로딩을 1초 이하로 끌어
개요 및 핵심 포인트 SAPUI5/OpenUI5의 UIComponent 는 애플리케이션의 진입점이자 라우팅, 모델, 의존성 관리를 총괄하는 구성 단위입니다. 컴포넌트가 어떤 시점에 살아나고 어떤 시점에 사라지는지를 라이프사이클 훅으로 명확히 다루지 못하면, 라우터가 두 번 등록되거나 타
개요 및 핵심 포인트 SAPUI5/OpenUI5 애플리케이션에서 라우팅은 단순한 페이지 전환을 넘어 뷰 인스턴스의 생명주기(Lifecycle) 를 직접 제어하는 핵심 메커니즘입니다. 기본적으로 UI5 라우터는 한 번 생성된 뷰를 메모리에 캐시(cache)하여 재방문 시 빠르게 보여주지만