Mendix 8.10 - 더 나은 삶을 만드는 것 | Mendix

메인 컨텐츠로 가기

Mendix 8.10 – 삶을 더 좋게 만드는 것

Mendix 8.10 - 삶을 더 좋게 만들다

At Mendix 저희는 항상 여러분의 삶을 더 나은 방향으로 만들기 위해 노력하고 있습니다. 이번 달의 제품 출시에서 저희는 외부 데이터와 원활하게 통합할 수 있는 데이터베이스 커넥터, 오프라인 우선 앱에서 향상된 동기화 제어, 더 나은 접근성 옵션, 강력한 마이크로플로우 표현식과 같은 새로운 기능을 제공했습니다. 저희는 이러한 업데이트가 개발자의 삶을 편리하게 만들고 최종 사용자를 행복하게 만들 것이라고 확신합니다.

Studio Pro

데이터베이스 커넥터: 백엔드 데이터를 프런트엔드 사용자에게 제공합니다.

JDBC는 모든 유형의 데이터베이스를 야외에서 연결하는 사실상의 표준입니다. 이 릴리스를 통해 이제 Database Connector를 사용하여 거의 모든 유형의 데이터베이스에 저장된 데이터로 앱을 쉽게 확장할 수 있습니다.

따라서 데이터베이스 커넥터 데이터 검색을 위해 기존 SQL 쿼리를 사용할 수 있습니다.

구문 강조가 있는 SQL 쿼리
구문 강조가 있는 SQL 쿼리

결과는 앱에 쉽게 다시 매핑할 수 있습니다.

이제 엔터티에서 결과 개체 유형을 선택할 수 있습니다.

추가적인 유연성을 위해 쿼리 절을 매개변수화할 수 있습니다.

명령문의 매개변수는 유형별로 채워지고 Studio Pro는 올바른 값을 전달하는지 확인합니다.

마이크로플로우 툴박스에서 두 가지 새로운 활동을 찾을 수 있습니다. Execute parameterized query Execute parameterized statement. 이것들은 기존 두 가지 활동 옆에서 찾을 수 있습니다. 새로운 활동으로 즉시 이전하는 것에 대해 걱정하지 마십시오. 자신의 속도에 맞춰서 이전할 수 있습니다.

새로운 매개변수화된 활동

이러한 개선 사항은 Studio Pro 8.6 이상에서 사용할 수 있습니다. 데이터베이스 커넥터 App Store에서 v3.x를 다운로드하여 이 새로운 기능을 활용하세요! 소스 모델에 대해 자세히 알아보려면 다음을 방문하세요. GitHub 저장소.

매개변수화된 문자열 템플릿

직접 문자열 연결을 사용하여 대규모로 쿼리를 빌드하는 것은 빠르게 번거롭고 때로는 안전하지 않을 수도 있습니다. 매개변수화된 쿼리는 이러한 문제를 해결할 수 있습니다. 이 릴리스에서 우리는 문자열 템플릿 매개변수와 추가된 유형 정보를 통해 모듈 개발자는 매개변수화된 쿼리를 생성할 수 있습니다.

문자열 템플릿 매개변수가 없으면 쿼리 기반 모듈을 만드는 것이 어렵고, 일반적으로 쿼리를 제대로 빌드하는 부담은 모듈 소비자에게 주어집니다. 다음 예에서 이전 Database Connector를 사용하여 외부 데이터베이스에 대한 명령문을 실행합니다. 개발자는 전체 JDBC URL로 쿼리를 전달해야 하며 전체 쿼리를 빌드한 다음 호출해야 합니다. Execute Statement action :

Execute Statement를 사용하려면 개발자가 단일 문자열로 전체 쿼리를 제공해야 합니다.

이것은 간단한 쿼리에 편리합니다. 하지만 고급 쿼리는 쉽게 포맷할 수 없고 구문 강조와 같은 편집 서비스가 없기 때문에 유지 관리하기 어려워집니다. 쿼리가 안전한지 확인하는 부담은 부분적으로 개발자에게 있습니다. 사실, 어떤 경우에는 확인되지 않은 사용자 입력을 기반으로 하는 표현식을 수동으로 정리해야 합니다.

문자열 템플릿 매개변수를 사용하면 이제 과거의 일이 되었습니다. 개발자는 완전히 안전한 매개변수화된 SQL 문을 작성할 수 있습니다. Mendix Studio Pro에서 Java 액션에 문자열 템플릿 매개변수를 추가하면 이 액션의 호출자는 일반 문자열 입력 대신 템플릿 입력을 받게 됩니다. 다음은 이 새로운 기능을 사용하여 외부 데이터베이스에 대해 매개변수화된 업데이트 문을 실행하는 Database Connector의 예입니다.

SQL 구문 강조가 포함된 템플릿 쿼리

데이터베이스 커넥터는 JDBC를 사용하여 이 쿼리를 실행합니다. PreparedStatement즉, 전달된 모든 표현식은 유형 검사 및 이스케이프 처리를 거칩니다.

그렇다면 이것이 Database Connector에서 어떻게 구현되나요? Studio Pro에서 템플릿에는 다음이 포함됩니다. Mendix-스타일 인덱스된 템플릿 매개변수, 즉. {1} {2}Java 구현에서는 이것을 JDBC에 매핑해야 합니다. PreparedStatement. 자리 표시자, 예: {1}, JDBC로 대체해야 합니다. ?. 다음 줄을 사용하면 자리 표시자를 다음 중 하나로 바꿀 수 있습니다. IStringTemplate 방법 :

String updatedTemplate = template.replacePlaceholders((parameter, index) -> "?");

이 업데이트된 템플릿을 사용하여 준비된 명령문을 만들 수 있습니다.

PreparedStatement pstmt = con.prepareStatement(updatedTemplate);

또한 해당 유형 및 값이 포함된 템플릿 매개변수 목록은 다음에서 제공됩니다. IStringTemplate. 각 템플릿 매개변수의 유형 정보와 값을 사용하여 올바른 인덱스에 매개변수를 추가할 수 있습니다. PreparedStatement:

List templateParameters = stringTemplate.getParameters();
for (int i = 0; i < templateParameters.size(); i++) {
ITemplateParameter parameter = templateParameters.get(i);
switch (parameter.getParameterType()) {
case INTEGER:
pstmt.setLong(i + 1, (long) parameter.getValue());
break;
case STRING:
pstmt.setString(i + 1, (String)parameter.getValue());
break;
case BOOLEAN:
pstmt.setBoolean(i + 1, (Boolean)parameter.getValue());
break;
case DECIMAL:
pstmt.setBigDecimal(i + 1, (BigDecimal)parameter.getValue());
break;
case DATETIME:
pstmt.setDate(i + 1, convertDate(parameter.getValue()));
break;
}
}

문자열 템플릿을 사용하여 Database Connector 또는 유사한 모듈에 대한 사용자 친화적인 인터페이스를 빌드할 수 있습니다. 직접 만든 모듈을 포함하여 모든 종류의 모듈에 대한 쿼리 또는 쿼리와 유사한 구조를 사용하는 사용하기 쉬운 활동을 만듭니다. 영감을 얻으려면 소스 모델을 살펴보세요. GitHub의 데이터베이스 커넥터.

모바일

장치 동기화: 선택한 개체만 동기화

오프라인 우선 앱이 동기화될 때마다 오프라인 데이터베이스가 지워지고 처음부터 다시 채워져 데이터 무결성이 보장됩니다. 그러나 이는 불필요한 오버헤드를 유발할 수 있습니다. 예를 들어 자주 변경되지 않는 대규모 데이터 집합이 있어서 자주 동기화할 필요가 없는 경우입니다.

이 릴리스에서 sync-to-device라는 마이크로플로우 액티비티를 추가했습니다. 이 액티비티를 통해 개발자는 마이크로플로우를 통해 필요한 객체만 디바이스에 동기화할 수 있습니다. 이러한 객체는 로컬 데이터베이스에 추가되고 다른 데이터는 동기화되지 않으므로 성능이 매우 뛰어난 옵션입니다. 여러 엔터티의 객체를 동기화하려면 이 액티비티를 여러 번 호출할 수 있습니다.

오늘의 뉴스 항목을 동기화하는 데 사용되는 Sync-to-device

또 다른 좋은 예는 제품 목록처럼 거의 변경되지 않는 대규모 정적 데이터(예: 10k+ 개체)가 있는 경우입니다. 이 경우 일괄적으로 모든 개체를 다운로드하는 동안 장치에 진행률 화면을 표시할 수 있습니다. 서버의 데이터가 변경되면 변경된 개체만 동기화할 수 있으므로 장치와의 동기화가 매우 유연하고 효율적입니다.

참조 릴리즈 노트

Web

새로운 웹 나노플로우 활동으로 접근성 향상

앱을 더 사용자 친화적으로 만들려면 접근 가능한 앱을 만드는 것이 필요합니다. 이 릴리스에서는 접근성을 개선하기 위해 여러 가지 업데이트를 했습니다. 업데이트에 대한 자세한 내용은 다음에서 확인할 수 있습니다. 릴리즈 노트 또는 평가 가이드 접근성 지원에 대한 자세한 내용을 확인하세요.

또한 웹을 위한 4개의 새로운 나노플로우 활동을 게시했습니다. 이러한 활동은 초점 요소에 대한 더 많은 제어를 제공하여 사용자 경험을 개선합니다.

초점 설정: 특정 요소에 직접 초점을 맞춥니다.
다음에 집중하세요: 다음 가능한 요소에 초점을 맞춥니다.
이전에 초점을 맞추다: 이전 가능한 요소에 초점을 맞춥니다.
다음으로 스크롤하십시오.: 페이지의 요소

새로운 웹 액션 모듈

앱 스토어의 새로운 웹 액션 모듈에서 이러한 활동을 다운로드할 수 있습니다. 여기에서 확인하세요.

플랫폼

단순화된 스토리 개요 페이지

개발자 포털의 스토리 개요 페이지는 올해 초에 큰 변화를 겪었습니다. 2월부터 모든 사람이 새로운 모습으로 전환할 수 있었지만 이제는 기본이 되었습니다. 귀중한 피드백을 제출해 주신 모든 분들께 큰 감사를 전합니다. Mendix 커뮤니티 슬랙.

이 업데이트에서, 우리는 이 페이지를 더욱 단순화하여 사용자 친화적으로 만들었습니다. 이제 페이지 상단의 검색 상자를 사용하여 올바른 스토리를 찾을 수 있습니다. 설명, 레이블, 상태에서 스토리를 한 번에 검색합니다.

간소화된 검색

새로운 스토리 페이지에서 '다른 스토리 만들기' 버튼을 클릭하거나 키보드 단축키 Shift+Enter를 사용하면 시간을 절약할 수 있습니다.

다른 스토리를 만드세요

이러한 변경 사항 외에도 스토리 편집, 개요 페이지에서 스토리 로딩, 활성 스프린트에 도달할 때 스토리 API 등에서 성능이 개선되었습니다.

기쁨을 주는 사람들

마이크로흐름 표현의 연관성

마이크로플로우 표현식에서 항상 연관 관계를 사용할 수 있지만 사용 사례는 제한적이었습니다. 연관 관계가 비어 있는지 확인하거나 다른 객체와 비교하거나 할당에서 사용할 수 있었습니다. 그러나 예를 들어 속성 ​​값을 확인하기 위해 그 이상을 수행해야 할 때는 항상 다음을 수행해야 했습니다. 검색 연관된 객체를 먼저. 글쎄, 더 이상은 그렇지 않아!

이 릴리스에서는 연관성을 사용하기가 더 쉬워졌습니다. 이제 모든 마이크로플로우 표현식 내부에서 연관성을 직접 따를 수 있습니다(예: 의사 결정 및 값 설정 시). 다음을 작성하기만 하면 됩니다. $variable/Module.Association/Module.TargetEntity/Attribute 참조된 객체의 속성을 가져오려면

하지만 거기서 멈출 필요는 없습니다. 두 개 이상의 협회를 팔로우하고 전문 분야가 사용될 때 협회의 엔터티 유형을 확인할 수도 있습니다.

여러 연관성을 따르고 유형을 확인합니다.

일관성 오류 및 경고에 대한 시각적 표시기

애플리케이션 모델이 일관성을 유지하도록 하려면 Mendix 고급 오류 검사 메커니즘을 제공합니다. 완전히 올바르지 않은 모델을 만들 때마다 구문적 및 의미적 오류와 경고가 제공됩니다. 이러한 오류와 경고는 오류 창 Studio Pro를 목록으로 정리했습니다.

모델을 빌드하는 동안 더 빠른 피드백을 제공하기 위해 Studio Pro는 이제 관련 요소 위에 일관성 오류 및 경고의 수를 시각화합니다. 오류는 빨간색 표시기를 받고 경고는 주황색 표시기를 받습니다.

오류 및 경고의 시각적 표시기

이 기능은 다음을 기반으로 합니다. 생각 제출됨 Mendix 아이디어 포럼 Axel Brink의 글입니다. Axel, 개발을 도와주셔서 감사합니다. Mendix 더 쉬워요!

계속해서 삶을 더 좋게 만들어가세요

새로운 기능과 특징에 대해 자세히 알아보려면 다음을 확인하세요. 릴리즈 노트. 그리고 언제나 그렇듯이 최신 버전을 다운로드하세요. Mendix Studio Pro 삶을 더 좋게 만들기 위해.

언어를 선택하세요