5.주요 변경 사항 (17.1 릴리스 버전)

Edit

5.1이전 버전 마이그레이션

5.1.1Winsows XP 미지원

그래픽 라이브러리를 Skia Graphics Library로 변경하면서 일부 운영체제 최소 사양이 변경됐습니다.

윈도우 운영체제의 경우 XP를 지원하지 않으며 Android 운영체제의 경우 5.0 이상 버전을 지원합니다. 세부적인 지원 범위는 아래 정보를 참고하세요.

제품 정보 > 시스템 요구사항

운영하는 시스템의 사용자 환경에 Windows XP 또는 Windows XP Embedded 운영체제가 포함된 경우에는 운영체제를 업데이트해야 합니다.

윈도우 XP는 2014년 4월 8일, Windows XP Embedded는 2016년 1월 12일 제조사 지원이 종료되었습니다.

5.1.2모듈 프로젝트 미지원

오브젝트를 상속받아 모듈을 생성하는 모듈 프로젝트는 새로운 버전의 넥사크로플랫폼에서는 아직 미구현 상태입니다. 이전에 작성한 모듈 프로젝트는 이전 버전 넥사크로 스튜디오를 사용해야 합니다. 아래 정보를 참고하세요.

개발 도구 가이드 > 생성마법사 | 모듈 프로젝트
개발 도구 가이드 > 모듈 프로젝트 편집
개발 도구 가이드 > 모듈 프로젝트 배포 파일 생성
넥사크로 모듈 디벨로퍼 가이드 beta

5.1.3넥사크로 플랫폼 17 (17.0.0.2700 이전 버전)

17.0.0.2700 이전 버전의 프로젝트 파일을 열면 아래와 같이 확인 메시지를 표시하며 [Yes] 버튼 클릭 시 마이그레이션을 진행합니다. 마이그레이션 과정에서 파일 버전 정보가 변경되며 일부 신규 속성값을 자동으로 설정합니다.

마이그레이션이 진행된 이후에는 이전 버전의 넥사크로 스튜디오에서 변경된 프로젝트를 다시 열 수 없습니다. 프로젝트 파일을 백업한 후 마이그레이션을 진행하는 것을 권장합니다.

파일 버전 정보 변경

아래와 같이 파일 버전 정보가 변경됩니다.

항목

항목

변경

프로젝트 파일 (XPRJ)

Project > version

2.0 -> 2.1

Project > type

항목 삭제

모듈 프로젝트 지원하지 않음

폼 파일 (XFDL)

FDL > version

2.0 -> 2.1

폼 파일은 이미지 상대 경로 처리 기준 변경에 해당하는 경우에만 version 정보를 변경합니다. 코드 변경이 없다면 version 정보를 그대로 유지합니다.

마이그레이션 이후 폼 파일을 수정하고 저장하는 경우 version 정보를 2.1로 변경합니다.

Regenerate

XCSS 파일 변경으로 테마에 포함된 XCSS 파일이 Regenrate 됩니다.

부트스트랩 파일 변경

일부 표준에 맞지 않는 태그를 변경했습니다.

17.0.0.2600 이전 버전

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
<meta name="viewport" content="user-scalable=1, initial-scale=0.1, width=device-width, target-densitydpi=device-dpi" />

17.1.0.100 이후 버전

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" >
<meta http-equiv="content-type" content="text/html; charset=UTF-8" >
<meta name="viewport" content="user-scalable=1, initial-scale=0.1, width=device-width, target-densitydpi=device-dpi" >

datatyperule 속성

새로 생성하는 프로젝트의 겨우 datatyperule 속성값을 "2.0"으로 설정하지만, 마이그레이션인 경우에는 "1.0"으로 설정되고 변경된 Data 유효성 규칙을 적용하지 않습니다.

해당 속성값을 "2.0"으로 변경하는 경우 데이터 유형에 맞는 데이터는 영향을 받지 않지만, 데이터 범위를 벗어나거나 이전 버전에서 처리하지 못했던 값의 경우 영향을 받을 수 있습니다. 자세한 내용은 아래 정보를 참고하세요.

설치 경로 변경

이전 버전을 덮어쓰지 않고 새로운 폴더에 설치됩니다.

항목

기존 경로

변경

기본 설치 폴더

C:\Program Files (x86)\nexacro\17

C:\Program Files (x86)\nexacro\17.1

Alias 경로도 버전에 따라 변경됩니다. 예를 들어 %USERAPP% 으로 설정한 경우 실제 경로가 17이 아닌 17.1로 설정됩니다.

항목

기존 경로

변경

%USERAPP%

%LOCALAPPDATA%LOW\nexacro\17

%LOCALAPPDATA%LOW\nexacro\17.1

Alias 경로는 아래 정보를 참고하세요.

앱 배포 가이드 > Alias 경로

이미지 상대 경로 처리 기준 변경

ImageViewer 컴포넌트의 image 속성값 또는 컴포넌트의 background, icon 등의 속성을 지정할 때 서비스 경로가 아닌 폴더를 지정하는 경우에 상대 경로를 처리하는 방식이 변경됐습니다.

기존에는 프로젝트 폴더를 기준으로 상대 경로를 지정했다면 17.1에서는 컴포넌트가 로드되는 XFDL 파일을 기준으로 상대경로를 지정합니다. 예를 들어 프로젝트 폴더 아래에 "TEST"라는 폴더가 있고 그 안에 이미지 파일을 지정한 경우에 아래와 같이 변경됩니다.

항목

기존 값

변경 값

image

image="url('TEST\13943.png')
image="url('..\TEST\13943.png')

서브 폴더(FrameBase/TEST)를 만들어서 Form을 생성한 경우에는 아래와 같이 처리됩니다 (17.1 이전 버전에서는 서브 폴더를 만들어서 Form을 관리할 수 없습니다).

항목

기존 값

변경 값

image

-
image="url('..\..\TEST\13943.png')

유효하지 않은 라이선스

iOS 운영체제 NRE 앱에서는 유효하지 않는 라이선스 체크를 지원하지 않습니다.

5.1.4넥사크로 플랫폼 14

넥사크로 스튜디오에서 프로젝트를 열었을 때 마이그레이션 기능이 동작합니다. 마이그레이션 처리와 관련된 내용은 아래 정보를 참고하세요.

개발 도구 가이드 > 마이그레이션

5.2플랫폼 변경 기능

5.2.1용어 변경

기존에 런타임 또는 넥사크로 브라우저라고 부르던 용어를 NRE(Nexacro Runtime Environment)로 변경했습니다. 웹 브라우저의 경우에도 NRE와 비교하는 경우에는 WRE(Web Runtime Environment)로 표현합니다. 그리고 프로젝트 내에서 관리하는 Application과 구분하기 위해 최종 사용자가 실행하는 것은 App으로 표현합니다.

제품 정보 > 넥사크로플랫폼 17 개요

5.2.2Data Validation

데이터 타입과 맞지 않거나 예외적인 데이터에 대한 처리 기준을 정리하고 일관성 있는 Data Validation(유효성 처리) 규칙을 적용합니다.

datatyperule 속성값을 "1.0"으로 설정한 경우에는 변경된 규칙을 적용하지 않습니다. 이전 버전에서 작성한 프로젝트의 경우에는 아래 변경 정보를 참고하세요.

응용 개발 가이드 > Dataset Validation

5.2.3NRE 로그 (17.1.2.100)

NRE 실행 시 로그를 원하는 형식으로 확인할 수 있도록 설정 파일을 지정할 수 있습니다. 17.1.0.100에서 지원하던 로그 기능의 사용성을 개선하고 앱 내에서도 로그를 확인할 수 있도록 지원합니다.

앱 배포 가이드 > NRE 로그 확인하기

5.2.4Extension API 2

기본 제공되는 키보드, 마우스, 터치 디바이스 외 음성이나 영상 인식 등 확장을 위한 구조가 추가됐습니다. 디바이스 확장을 위해 DeviceAdaptor, Command Filter 등의 개념이 추가됐습니다. 또한 확장 모듈을 개발할 수 있도록 Extension API 버전 2를 지원합니다.

응용 개발 가이드 > 음성인식 모듈 사용하기

5.2.5Graphics 컴포넌트

Graphics 컴포넌트를 사용해서 원하는 그래픽 이미지를 생성하고 활용할 수 있습니다. 예를 들어 차트 컴포넌트 개발 시 Graphics 컴포넌트로 이미지 영역을 구성할 수 있습니다.

컴포넌트 활용 워크북 > Graphics

5.2.6Xpush protocol V3.0

X-PUSH 서버 기능이 업데이트되면서 XPush 오브젝트에 이를 지원하는 속성이 추가됐습니다.

속성

설명

protocolversion

다중 Push 처리를 지원하는 프로토콜이 추가되면서 용도에 따라 버전 정보를 구분하는 속성을 추가했습니다.

사용하는 X-PUSH 서버 버전에 따라 설정할 수 있는 속성값이 달라집니다.

projectid

X-PUSH 서버와 통신 시 사용하는 ID 속성입니다.

메소드 호출 시 projectid 속성값을 전달할 수 있도록 파라미터가 추가됐습니다.

registerTopicWithUserID(strMessageType, strMessageKey, strUserID[, strProjectID]);
registerMessageCountWithUserID(strMessageType, strMessageKey, strUserID[, strProjectID]);
unregisterTopicWithUserID(strMessageType, strMessageKey, strUserID[, strProjectID]);

5.2.7다국어 처리 인터페이스

한국어나 일본어처럼 IME를 사용해서 텍스트 편집을 하는 경우 언어에 따라 필요한 동작을 지원할 수 있도록 내부 인터페이스를 정리했습니다. 라이브러리 내에서 아래와 같이 코드가 분리해 관리합니다.

nexacro17lib\component\ComComp\lang\ko\ime.js
nexacro17lib\component\ComComp\lang\ja\ime.js

5.2.8TLS 1.0, 1.1 지원 종료 (17.1.2.100)

주요 웹브라우저에서 TLS(Transport Layer Security) 1.0, 1.1 지원을 중지함에 따라 넥사크로플랫폼에서도 TLS 1.0, 1.1 지원을 종료합니다.

IE, Edge: https://blogs.windows.com/msedgedev/2018/10/15/modernizing-tls-edge-ie11/

Firefox: https://blog.mozilla.org/security/2018/10/15/removing-old-versions-of-tls/

Chrome: https://blog.chromium.org/2019/10/chrome-ui-for-deprecating-legacy-tls.html

넥사크로플랫폼 앱에서 TLS 1.0 또는 1.1으로 설정된 서버에 접근할 경우 오류 메시지를 표시하고 앱을 종료하거나 해당 프로세스를 처리하지 않습니다. 아래 이미지는 윈도우 운영체제 앱에서 부트스트랩 파일 접근 시 TLS 1.2 미만 버전이면 에러 메시지를 표시하고 앱을 종료하는 것을 보여줍니다.

에러 메시지 및 표시 형식은 운영체제, 실행 프로세스에 따라 달라질 수 있습니다.

5.2.9Easy UI Core 기능 지원 (17.1.2.100)

‘비욘드 스크린’에 대응하기 위한 UI·UX 플랫폼의 기술적인 문제가 해결된다 하더라도 많은 고객, 그리고 개발자가 이용하게 하는 것과는 별개의 문제다. 다양한 신기술 등장에 따라 UI 역시 다양해지고 있는 만큼 복잡한 개발을 좀 더 쉽게 할 수 있는지에 대한 고민도 필요하다.
출처 : 확대되는 ‘비욘드 스크린’ 환경, OSMU로 넘어선다 | 데이터넷 2020.04.03

데이터(Model), UI 템플릿(View), 액션(Action)을 선택하고 조합해서 기능을 개발할 수 있는 방식을 제공합니다. 현재 버전에서는 프로젝트 내에서 공통 개발 단계에서 디자인팀과 함께 ViewSet 템플릿, View 템플릿을 정의하고 데이터 스키마에 따라 Model을 구성하고 필요한 Action을 만들어 개발팀에서 이를 화면 요구 사항에 따라 조합하고 기능을 추가하는 형태로 개발을 진행할 수 있습니다.

업무를 개발하는 데 있어서 기존 개발자에게는 보다 높은 생산성의 손쉬운 개발 환경인 Low-code를 제공해 주고, 개발자의 범위를 전문 개발자 외의 업무설계자나 최종사용자에게까지도 넓혀주는 No-code도 포괄하며, 현업과의 빠른 업무진행의 도구로도 활용됨은 물론 롱 테일 분야의 개발 병목도 일부 해소하여 최종적으로 현업 및 IT 개발의 전반적인 비즈니스 프로세스 효율 개선이 가능한 Digital Transformation을 제공하게 됩니다.
출처 : 비즈니스 프로세스 효율 개선과 혁신-Easy UI | 투비통 2020.02.28
개발 도구 가이드 > Easy UI Core
- Easy UI Core 샘플을 내려받아 기능을 살펴보고 각 샘플을 어떻게 만드는지 설명합니다.
개발 도구 가이드 > Project Wizard에서 Easy UI 모드 활성화하기
- 새로운 프로젝트를 만들 때 Easy UI 모드를 사용하면 필요한 옵션을 활성화하고 기본 샘플을 제공합니다.
개발 도구 가이드 > ViewSet 템플릿 등록하고 사용하기
- View 컴포넌트를 포함하는 ViewSet 템플릿을 만들고 사용하는 방법을 설명합니다.

넥사크로 17.1 EasyUI 개발 교육 동영상 링크입니다.

  1. EasyUI 개요 & 개발방법 소개 https://youtu.be/9rlSmdfX3Go

  2. 기능 활용 https://youtu.be/wokCs41B3aQ

  3. 조회화면 만들기 https://youtu.be/C-m6sQ9WWRY

  4. Master Detail 화면 만들기 https://youtu.be/BV-guERoN5k

5.2.10NRE 원격 디버깅 (17.1.2.100)

NRE 실행 시 크롬, Edge 브라우저의 Devices inspect 기능을 사용해 실행 중인 앱 디버깅을 할 수 있습니다. 윈도우, macOS, Android 운영체제를 지원합니다.

앱 배포 가이드 > NRE 원격 디버깅

5.2.11DataObject 오브젝트 (17.1.2.100)

JSON이나 다양한 형식의 데이터를 다룰 수 있도록 DataObject 오브젝트를 추가했습니다. REST API 통신을 지원하며 DataSet 오브젝트와 바인딩을 통해 받아온 데이터를 Grid 컴포넌트 등에 바로 표시할 수 있습니다.

아래 링크에서 간단한 예제를 통해 동작 방식을 살펴볼 수 있습니다.

컴포넌트 활용 워크북 > DataObject
- DataObject 오브젝트를 활용한 예제를 살펴봅니다. 예제를 통해 기본 기능을 설명합니다.
개발 도구 가이드 > DataObject Editor
- DataObject Editor 기본 기능을 설명합니다.

5.2.12NRE 폰트 엔진 변경 (17.1.2.100)

외곽선 방식의 글꼴(벡타 글꼴)이 좀 더 자연스럽게 표시되도록 폰트 엔진이 변경됐습니다. 폰트 엔진 변경으로 아래와 같은 변경이 발생할 수 있습니다.

5.3개발 도구 변경 기능

5.3.1Form 템플릿

자주 사용하는 폼을 템플릿으로 등록하고 사용할 수 있습니다.

개발 도구 가이드 > 폼 템플릿 등록하고 사용하기

5.3.2Component 프리셋

자주 사용하는 컴포넌트는 프리셋 형태로 등록하고 사용할 수 있습니다.

개발 도구 가이드 > 컴포넌트 프리셋 등록하고 사용하기

5.3.3LiteDB 에디터

LiteDBConnection, LiteDBStatement 오브젝트를 사용 시 데이터베이스 정보를 조회하고 쿼리를 작성하는 에디터 기능을 사용할 수 있습니다.

개발 도구 가이드 > LiteDB 데이터베이스 파일 정보 조회 및 쿼리 편집기

5.3.4Form, 이미지 미리보기

Form이나 이미지를 열어보지 않고 어떤 형태인지 미리 확인할 수 있는 미리보기 기능을 사용할 수 있습니다.

개발 도구 가이드 > Form, 이미지 미리보기

5.3.5서브 폴더 관리

TypeDefinition에서 서브 폴더를 설정할 수 있는 서비스의 유형이 확대됐습니다. Form이나 이미지 파일을 폴더 단위로 관리할 수 있습니다.

개발 도구 가이드 > 서비스 정보 편집

5.3.6웹 서버 URL 설정

로컬 웹 서버 외 톰캣 같은 웹 서버 URL을 설정할 수 있습니다.

개발 도구 가이드 > 옵션 설정 (Launch)

5.3.7MetaInfo 에디터

MetaInfo 편집 기능이 좀 더 직관적이고 간결해졌습니다.

넥사크로 모듈 디벨로퍼 가이드 (베타)

5.3.8부트스트랩 템플릿 관리 기능 (17.1.2.100)

프로젝트 generate 시 생성되는 부트스트랩 파일 중 HTML 파일의 일부 내용을 템플릿 형태로 수정하고 반영할 수 있습니다. 외부 스크립트 코드를 추가할 수 있으며 URL 파라미터로 넘어오는 값을 받아서 처리하도록 수정할 수 있습니다.

개발 도구 가이드 > 부트스트랩 템플릿 관리하기

5.3.9BuildApp 사용성 개선 (17.1.2.100)

BuildApp 실행 시 필수 항목만 선택하고 바로 앱을 생성할 수 있도록 사용성을 개선했습니다. 자주 사용하지 않는 옵션 항목은 필요한 경우 옵션 항목을 펼쳐서 선택할 수 있습니다.

개발 도구 가이드 > 사용자에게 배포할 설치 파일(또는 웹 문서) 만들기

iOS, Android, macOS 앱 빌드 시 사용하는 AppBuilder 콘솔 화면의 사용성도 같이 개선했습니다. 전체적인 UI를 개선했으며 관리자가 개발자가 좀 더 직관적으로 사용할 수 있도록 기능을 보완했습니다.

서버 설정/개발 가이드 > App Builder
앱 배포 가이드 > App Builder (Android, iOS, macOS)