RAD 4월 8일, 2022에 포스트됨 공유하기 4월 8일, 2022에 포스트됨 원문: https://blogs.embarcadero.com/the-next-big-thing-in-native-windows-development/ 작성자: Muminjon (2022.4) What, precisely, do we mean by native app development? What is a native user experience or native developer experience? What are the pros of native app development? Why has Native Windows development come storming back on center stage and become such a hot topic? 정확하게, 네이티브 앱 개발의 의미는 무엇일까? 네이티브 사용자 환경이나 네이티브 개발자 환경이란? 네이티브 앱 개발의 장점은 또 무엇일까? 네이티브 윈도우 개발이 갑자기 개발의 중심으로 복귀해 화제가 된 이유는 무엇일까? We want to briefly talk about native app development and explain why you should get in with the In Crowd. 네이티브 앱 개발을 간단히 살펴보고, 핵심 그룹(In Crowd)에 들어야 하는 이유를 찾아보고자 한다. 네이티브 앱이란? (What is a native app?) Native applications are not only defined by the look and feel or fonts. Yes, if you follow these UI guidelines, it looks great and smooth. But if your app is running on Windows, it should behave like other native Windows applications, and if it is another platform, for example Android, it should behave like Android apps. The app needs to look visually cultivated it also needs to keep up with the users’ expectations of how it should behave and contain certain core functionality. It is a problem if it does not behave like the other apps, doesn’t comply with widely established system behaviors, or does not give the performance they need. Native apps are not just about look and feel, they need to be an all-round, first-class good citizen of the operating system environment. 네이티브 애플리케이션은 룩앤필, 폰트로만 정의되는 것이 아니다. 다음과 같은 UI 지침을 따르면 보기에도 좋고 매끄럽다. 그러나 앱이 윈도우에서 실행중인 경우, 다른 네이티브 윈도우 애프리케이션처럼 작동해야 하고, 안드로이드처럼 다른 플랫폼에서 실행된다면, 안드로이드 앱처럼 작동해야 한다. 앱은 보기에도 좋아야 하고, 동작 방식 또한 사용자의 기대치를 따라야한다. 그리고 특정 핵심 기능을 제공해야 한다. 다른 앱들처럼 동작하지 않는다거나, 널리 설정된 시스템 동작을 준수하지 않는다거나, 필요한 성능을 제공하지 않으면 문제가 된다. 네이티브 앱은 단순히 되관과 느낌만을 위한 것이 아니라 운영 체제 환경 모든 면에서 우수해야 한다. Native user interface controls achieve compliance and help meet the users’ expectations because they follow the system and behave as it should be, largely by allowing the operating system to enable their functionality with minimal additional code on top. For instance, in our case, standard Win32 UI controls, like how they react to clicks and animations and how the shadows and fonts behave when there is a window resizing. We need this because users have subconscious anticipations – “muscle memory” – from the application. If it resizes and animates differently, you risk losing a star in an online review or, perhaps worse, having your application uninstalled and your reputation permanently dented which in turns creates a barrier to the adoption and success of any future applications you might develop. 네이티브 UI 컨트롤들은 규정 준수를 따르며, 사용자 기대 충족에 도움이 된다. 이는 컨트롤들이 원칙에 따라 작동하고, 시스템을 따르기 때문에 가능한 것인데 주로 최소한의 코드 추가만으로 기능을 활성화하기 위해 운영체제를 따르기에 가능한 것이다. 예를 들면, 우리의 경우 표준 Win32 UI 컨트롤이 있는데 즉, 클릭과 애니메이션에 반응하는 방식이나, 창 크기 조절 시 폰트와 그림자가 작동하는 방식과 같은 것이다. 사용자가 애플리케이션에 대한 잠재 의식 -"체화(muscle memory)" -을 갖고 있기 때문에 우리는 이것이 필요한 것이다. 애플리케이션에 네이티브 컴포넌트 사용 시 이점 (What other benefits are there to using native components in our applications?) Now let’s see another side of native applications. Except for these UI/UX, native applications also utilize system functions and hardware technologies present on the target system or device. Native applications can access this hardware directly, which gives much higher performance than apps which use layers of abstraction and support code to achieve similar but inferior functionality. 이제 네이티브 애플리케이션의 다른 면도 살펴보겠다. UI/UX를 제외하고, 네이티브 애플리케이션은 타겟 시스템이나 기기에 있는 시스템 기능 및 하드웨어 기술도 활용한다. 네이티브 애플리케이션은 하드웨어에 직접 액세스할 수 있다. 이는 추상화 계층과 지원 코드를 사용해 한 단계 낮은 수준의 기능을 제공하는 앱과 비슷하기는 하지만, 네이티브 애플리케이션은 훨씬 더 높은 성능을 제공한다. To really create native applications for Windows, your selected development tool should allow you to utilize the system-defined UI controls and libraries. For instance, Delphi with the Visual Component Library (VCL) is the easiest and most stable platform with maximum native power for Windows desktop app development. 윈도우용 네이티브 애플리케이션을 실제로 개발할 때는, 선택한 개발 도구를 사용해 시스템 정의 UI 컨트롤과 라이브러리를 사용할 수 있어야 한다. 예를 들어 VCL(Visual Component Library)이 있는 델파이의 경우 윈도우 데스크탑 앱 개발에 있어 가장 강력한 네이티브 파워를 갖춘 가장 쉽고 안정적인 플랫폼이다. 네이티브 앱 개발이란? (What is native app development?) Now you know the meaning and benefits of native applications. The development process of native applications starts with selecting the proper framework or library. 이제 네이티브 애플리케이션의 의미와 이점까지 살펴보았다. 네이티브 애플리케이션 개발 프로세스는 적합한 프레임워크와 라이브러리 선택부터 시작된다. More than two decades ago, there was not much abstraction, variety, or choice of code libraries because the standard operating system APIs were basic and easy to work with them directly. This is no longer the case. Currently, we have Visual Component Library, FireMonkey, Universal Windows Platform, Window Forms, and others. These frameworks and libraries are handy because they have implemented layers of abstraction but making the right choice means picking ones which have a light touch without weighing down the app with unnecessary code or interfering with the users’ experience. 20년 전만 해도 표준 운영체제 API가 기본이고 직접 작업하기 쉬워 코드 라이브러리의 추상화, 다양성, 선택권이 많지 않았다. 하지만 이제는 그렇지 않다. 지금은 VCL, 파이어몽키, UWP, 윈도우 폼 등등이 있다. 이러한 프레임워크와 라이브러리는 추상화 계층을 구현했기 때문에 편리하다. 다만 올바른 선택은 사용자 경험(UX)을 방해하거나 불필요한 코드로 앱에 부담을 주지않고 가볍게 터치하는 것으로 가능한 것을 고르는 것이다. Delphi‘s stable and popular VCL (Visual Component Library) is well designed and gives you high productivity while keeping the native APIs inside. Native code is what Delphi does at its best. Since this Delphi VCL utilizes core libraries, you won’t lose any new technologies while providing an authentic user experience in your Windows apps. Moreover, Delphi’s another award-winning FireMonkey (FMX) visual framework can be used to create cross-platform responsive user interfaces. 델파이의 안정성과 대중성을 모두 갖춘 VCL(Visual Component Library)는 설계부터 잘 되어 있으며, 내부에 네이티브 API가 있어 높은 생산성을 제공한다. 네이티브 코드는 델파이가 가장 잘하는 것이다. 델파이 VCL은 핵심 라이브러리를 활용하기 때문에 윈도우 앱에서 진정한 사용자 경험(UX)을 제공하면서도 새로운 기술도 놓치지 않는다. 또한 여러 분야에서 수상을 한 델파이의 파이어몽키(FMX) 비주얼 프레임워크로 크로스 플랫폼 대응 UI를 만들수도 있다. But we have other sets of technologies by Microsoft itself and other communities. For instance, Microsoft has been pushing all Windows desktop developers to the Universal Windows Platform (UWP) since Windows 8. The idea is the ability to run the same application on a desktop PC, Windows phone, gaming console, and visor technology. But this technology has limited access to the underlying operating system and incompatible with the classic APIs. Besides, we can see that Microsoft itself is back to native apps with the rise of Windows App SDK. Moreover, newer technologies by Microsoft provide a way better experience to create native apps. However, it is still in preview mode, and our development tools, Delphi and C++ Builder, is already in the correct position for more than 25 years and have grown in many ways. 하지만 우리는 마이크로소프트 자체와 다른 커뮤니티의 다른 기술도 가지고 있다. 예를 들어, 마이크로소프트는 윈도우 8 이후로 모든 윈도우 데스크탑 개발자들을 UWP(Universal Windows Platform)로 밀어내고 있다. 이 아이디어로 데스크탑 PC, 윈도우 폰, 게임 콘솔, 바이저 기술에서 동일한 애플리케이션이 실행할 수 있다. 하지만 해당 기술이 기본 운영 체제에 대한 액세스가 제한적일 뿐 아니라 기존 API와도 호환되지 않는다. 또한 마이크로소프트가 윈도우 앱 SDK의 등장으로 네이티브 앱으로 돌아오기도 했다. 마이크로소프트의 새로운 기술은 네이티브 앱을 만들 수 있는 더 나은 경험을 제공한다. 다만 여전히 프리뷰 모드이며, 델파이와 C++빌더는 이미 25년 이상 이 위치를 지키고 있으며 여러 면에서 성장해왔다. Windows App SDK is the future, bringing all technologies under one umbrella for developers to take advantage of all things. 윈도우 앱 SDK는 개발자가 모든 기능을 활용할 수 있도록 모든 기술을 하나로 모아놓은 미래이다. Native applications or classic API-powered applications are here to stay. Delphi and C++ Builder, with their VCL and FMX frameworks, are the best ecosystem for building native Windows and cross-platform applications because, when you compare other visual frameworks that utilize the classic APIs, VCL has gotten more attention and improvements over these years. From additional UI controls to embedded WinRT and Reunion controls, from support for high DPI to UI styling, the VCL library has kept expanding at a much higher rate than competing native libraries. 네이티브 애플리케이션 또는 기존 API 지원 애플리케이션은 그대로 유지된다. VCL과 FMX 프레임워크가 있는 델파이, C++빌더는 기본 윈도우와 크로스 플랫폼 애플리케이션 구축에 가장 적합한 에코시스템이다. 기존 API를 활용하는 다른 비주얼 프레임워크와 비교했을 때, VCL은 최근 몇 년간 더욱 더 개선되었기 때문이다. 추가 UI 컨트롤부터 임베디드 WinRT와 Reunion 컨트롤 그리고 high DPI 지원부터 UI 스타일까지, VCL 라이브러리는 경쟁 네이티브 라이브러리보다 훨씬 더 빠른 속도로 확장되어 왔다. In a nutshell, Delphi and C++ Builder provide first-class Windows app development without a problem. 한마디로 델파이와 C++빌더는 최고의 윈도우 앱 개발을 전혀 문제없이 지원한다. 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.