RAD Studio 12 Athens Update 1

Nová aktualizace RAD Studio 12.1 Athens je zaměřena především na odstranění hlášených chyb, ale zahrnuje i některá významná vylepšení. Mezi ta nejdůležitější patří:

Rozdělění editoru (Split Editor)

Vývojové prostředí nově umožňuje použití více instancí editoru. Editory lze otevřít vedle sebe horizontálně, vertikálně, nebo tyto možnosti kombinovat. Jednotlivé editory mohou být ukotveny, nebo je lze používat jako plovoucí okna. Vytvořit si tak můžete vlastní rozvržení, které lze uložit a kdykoliv se k němu vrátit. Počet současně otevřených editorů je omezen pouze velikostí vašeho monitoru.

MultiEditorErr

Výhody použití více zobrazení jsou zřejmé. Můžete například:

  • Současně zobrazit interface a implementation sekce funcí nebo procedur
  • Současně otevřít související jednotky (např. datové moduly)
  • Jednoduše kopírovat kód mezi několika jednotkami

Android Target API úrovně 34

RAD Studio verze 12.1 posouvá nejvyšší verzi podporovaných Android API na úroveň 34. Tato změna si vyžádala změny v Android SDK a některých dalších nástrojů pro platformu Android. Aktualizacováno bylo rovněž běhové prostředí Java a to na Eclipse Temurin JDK OpenJDK 17 (Hotspot) JVM.
Výchozí nastavení cílové platformy v souboru Android Manifest (targetSdkVersion) je nově nastavenna verzi 34.

RAD Studio 12.1 poskytuje znatelné zvýšení výkonu při vytváření .apk souborů, protože verze 12.1 nově využívá knihovny zipflinger a signflinger společnosti Google, které místo všech souborů zpracovávají pouze soubory, které byly od posledního zpracování změněny.

Verze 12.1 rovněž přešla při sestavování ze zastaralého AAPT na novou verzi nástroje AAPT2.
AAPT2 společnosti Google je novým standardem pro kompilaci prostředků systému Android a jejich zabalení do .zip nebo .apk souboru.

Knihovna FireDAC

Kromě řady jiných vzlepšení je speciálně pro uživatele v České a Slovenské republice dobrou zprávou, že Update 1 pro RAD Stuido 12 Athens přinesl dlouho očekávanou podporu oblíbeného databázového stroje Firebird 5.x. Hlavní výhody přechodu na Firebird 5 jsou například:

  • Operace, jako je zálohování, obnova, vytváření indexů a zpracování příkazů, lze pro zkrácení celkové doby provádět paralelně ve více vláknech.
  • Počínaje ODS 13.1 používá Firebird pokročilou metodu komprese RLE (s čítačem s proměnnou délkou). Zlepšila se tak úroveň komprese pro částečně vyplněná pole VARCHAR (zejména ta, která jsou kódovaná pomocí UTF8).
  • Parciální indexy (také známé jako filtrované indexy) ve Firebird 5 umožňují omezit index pouze na řádky, které odpovídají podmínce vyhledávání WHERE.
  • Mezipaměť (cache) umožňuje ukládání zkompilovaných příkazů SQL. Není tak znovu volán parser nebo optimalizér.
  • Vylepšený profiler umožňuje uživatelům lépe měřit náklady na spouštění kódu SQL a PSQL.
  • Firebird 5.0 zavádí upgrady ODS, které umožňují aktualizovat databázi na nejnovější podverzi bez nutnosti provádět zálohu a obnovení databáze.

Úplný výčet novinek a vylepšení ve Firebird 5 naleznete na https://www.firebirdsql.org/file/documentation/release_notes/html/en/5_0/rlsnotes50.html#rnfb50-new

C++Builder

Integrace kompilátoru Clang 15

Jazyk C++ patří dlouhodobě mezi jazyky se stabilní vývojářskou základnou. Podle Tiobe indexu z Března 2024 obsadil skvělou třetí příčku (viz https://www.techrepublic.com/article/tiobe-index-language-rankings.

Cpp_Tiobe_03-2024

Jazyk C++ nepatří konkrétní společnosti a ve svých nástrojích jej tak může používat v podstatě kdokoliv. Existují zde vak dvě komise, které společně pracují na standardizaci jazyka C++. Jedná se o ISO/IEC JTC1/SC22/WG21 (ISO C++ komise) a INCITS PL22.16 (U.S. C++ komise, často označována jako “ANSI C++ komise”). Jazyk C++ je stále aktivně vyvíjen, a nové verze přinášejí další vylepšení a nové funkce.

C++Builder 12.1 Athens je velmi kvalitní IDE, které nově integruje upgradovaný Clang toolchain pro platformu Windows 64. Sada nástrojů (toolchain) obsahuje nový kompilátor Clang 15, LLVM lld linker, libc++ STL, UCRT C runtime a další součásti. Paralelně lze i nadále používat původní sady nástrojů pro platformy Windows 64 nebo Windows 32. Kterou z variant použijete pro překlad svého projektu vyberete jednoduše v prostředí C++Builderu klepnutím pravým tlačítkem myši na na položku "Target Platforms". Pro aktulizovaný Clang Toolchain vyberte "Windows 64-bit (Modern)".

TargetPlatform

Z pohledu implementace standardů jazyka C++ je pozice Embarcadero C++Builderu následující:

  • Nástroj nabízí plnou podporu normy C++17
  • Při použití přepínače -std=c++20 získáte velmi dobrou (ne však úplnou) podporu normy c++20
  • Podporovány jsou některé vlastnosti normy c++23

Podrobné informace o vlastnostech jazyka jednotlivých úrovní norem c++ naleznete na stránce https://libcxx.llvm.org/Status/. Špatnou zprávou pro vývojáře využívající C++Builder je dočasná absence podpory vývoje aplikací pro platformy Android, iOS, MacOS nebo Linux. Na opětovné podpoře výše uvedených platforem ale společnost Embarcadero aktivně pracuje.

Visual Assist

IntelliSense a zvýrazňování syntaxe: Visual Assist vylepšuje funkce IntelliSense, což je inteligentní automatické doplňování kódu. Dále také zvýrazňuje syntaxi, aby bylo snazší sledovat strukturu kódu.

VisualAssist

Hlavní oblasti, kde Visual Assist výrazně vylepšuje vestavěné editory kódu jsou:

  • Navigace v kódu - Pomocí Visual Assist můžete snadno najít a přejít k různým symbolům, metodám, souborům nebo odkazům ve vašich projektech.
  • Refaktoring - Visual Assist nabízí nástroje pro refaktoring kódu. Můžete například zlepšit čitelnost kódu nebo rozšířit jeho funkčnost bez změny vnějšího chování
  • Generování kódu - Pomocí šablon můžete rychle vytvářet kód. Visual Assist také nabízí kontextové návrhy pro generování kódu.

Opravy a vylepšení

Update 1 pro RAD Studio 12 Athens přináší také přes 700 oprav a vylepšení dotýkajících se všech oblastí (IDE, VCL, FireMonkey, RTL, DB, překladače):

  • Přes 50 oprav chyb hlášených uživateli v rámci technické podpory
  • Více jak 300 chyb a nedostatků reportovaných prostřednictvím Quality Portal

Úplný výčet oprav naleznete v sekci "Fixed issues" .