Qt Design Studio 1.2 to be Rolled Out

Solution allows to simplify the workflow of designers and developers to create working prototypes of complex and scalable interfaces
04 June 2019   272

Qt Design Studio 1.2 was released, environment for designing a user interface and developing Qt-based graphical applications. Qt Design Studio allows to simplify the collaboration of designers and developers to create working prototypes of complex and scalable interfaces. Designers can focus only on the graphic layout of the design, while developers can focus on developing the application logic using automatically generated QML code for the designer’s layouts.

Regarding the discovery of source code, it is reported that the application is a specialized version of the Qt Creator environment, collected from a common repository. Most of the Qt Design Studio-specific changes are already included in the main Qt Creator codebase. Some of the features of Qt Design Studio are available directly from Qt Creator, for example, starting with release 4.9, a graphical editor based on the time scale is available. Photoshop and Sketch integration modules remain proprietary.

The Qt Design Studio 1.2 release is notable for adding the Qt Bridge for Sketch module, which allows you to create ready-to-use components based on the layouts prepared in Sketch and export them to QML code. Of the general changes, implementation of the support for complex gradients based on Qt Quick Shapes, which can now be treated as components of Qt Design Studio, is highlighted. For example, spherical and conical gradients combined with animation can be used to effectively visualize measurements and sensor readings. In addition, the design of interfaces can no longer be limited to linear vertical gradients.

Get more info at official website.

Google to Propose to Develop Own Libc For LLVM

Development is caused by Google's unsatisfaction in the existing libc and it's planned to be phased, gradually increasing functionality
26 June 2019   26

One of the developers from Google raised on the LLVM mailing list the topic of developing a multi-platform standard C-library (Libc) within the framework of the LLVM project. For a number of reasons, Google is not satisfied with the current libc (glibc, musl) and the company is on its way to developing a new implementation, which is proposed to be developed as part of LLVM.

LLVM developments have recently been used as the basis for building Google's assembly tools. The main idea is that if Google has already begun to develop its libc, then why not immediately develop its system as part of LLVM, which already offers its standard library for C ++ (Libc ++), but does not have a similar standard library for C ( Libc).

Development is planned to be phased, gradually increasing functionality. The first options are proposed to be in the form of a layer between the application and the system libc, from which the unrealized features will be borrowed. After reaching a certain level of functionality, the new Libc can be used as a complete replacement for the system Libc. It is planned to start with the support of x86-64 architecture, Linux and static binding (dynamic loading, packaging, and additional architectures will be implemented in the second place).

The project is still at the initial stage of development, but the basic goals have already been defined:

  • Modularity and development in accordance with the philosophy of supplying a granular library, rather than a monolithic set;
  • Static binding support in modes with PIE (Position-independent executables) and without PIE. Providing CRT (C runtime) and PIE loader for statically linked executable files;
  • Support for most of the functions of the standard C library with POSIX add-ons and some system-specific extensions in demand in existing applications;
  • Careful attitude to vendor-specific extensions and adding them only when necessary. For support for third-party extensions, it is proposed to use the Clang and libc ++ projects approach;
  • Using exemplary practices in development using LLVM tools, such as applying sanitizer and fuzzing testing from the start.

Get more info at the email.