Vytvoření samostatné aplikace pomocí komponenty Build4D

Automaticky přeloženo z Deepl

Nová komponenta build4D je již několik měsíců k dispozici na GitHubu. Umožňuje bez námahy vytvořit zkompilovaný projekt nebo komponentu. Věci se stávají ještě lepšími; tato nová verze komponenty vám umožní vytvářet aplikaci pro jednoho uživatele, čímž se rozšíří možnosti vašeho vývojového pracovního postupu.

S tool4D dostupným od verze v20 se tak integrace procesu generování aplikací do vašich nástrojů CI (Continuous Integration) stala pozoruhodně pohodlnou.

Pojďme se ponořit do podrobností!

Komponenta Build4D

Co komponenta dělá?

Zde je neúplný seznam toho, co vám komponenta umožňuje:

  • zkompilovat projekt,
  • sloučit 4D Volume Desktop s vaším projektem,
  • přidat informace o aplikaci, jako je Copyright, Company…,
  • přidat ikonu,
  • zvolit složky, které chcete přidat, například Documentation, WebFolder, Default Data…,
  • vyberte složky, které chcete odstranit, například složku Dev v Resources,
  • vyberte moduly, které chcete odstranit, například CEF, Mecab, php…,
  • vygenerujte licenci pro nasazení,
  • a podepište aplikaci.

Jaký je rozdíl oproti příkazu Sestavit aplikaci?

V obou případech můžete vygenerovat dokonale použitelnou aplikaci pro jednoho uživatele. Příkaz Build Application je monolitický. Pokud chcete upravit nějaký soubor nebo přidat či odebrat složku, musíte to udělat až po sestavení aplikace. A v případě aplikace pro systém MacOS musíte aplikaci znovu podepsat.

Komponenta Build4D se skládá z několika tříd a funkcí kódovaných v jazyce 4D. Pokud je tedy vaše aplikace velmi specifická a liší se od ostatních. Můžete snadno přidat novou funkci nebo vylepšit stávající.

Jak to udělat?

Níže uvedený kód je příkladem generování samostatné aplikace z externího projektu.

var $build : cs.Build4D.Standalone
var $settings : Object
var $success : Boolean

$settings :={}
// Define the external project file
$settings .projectFile:=Folder(fk documents folder).file("Kontakt/Projekt/Kontakt.4folderDProject")

// Configure the application
$settings .buildName:="myApp"
$settings .destinationFolder:="Test/"
$settings .obfuscated:=True
$settings .packedProject:=False
$settings .useSDI:=False
$settings .startElevated:=False
$settings .lastDataPathLookup:="ByAppPath"

// Define the 4D Volume Desktop path
$settings .sourceAppFolder:=Folder(fk documents folder). xml-ph-0034@deepl.internaapp")

// Specify the components required for compilation
$componentFolder :=Folder(fk documents folder).folder("4D v20.0/4D.app/Contents/Components")
$components :=[]
$components .push($componentFolder.file("4D WritePro Interface.4dbase/4D WritePro Interface.4DZ"))
$settings .compilerOptions:={components: $components}

// Delete the unnecessary module
$settings.excludeModules:=["CEF"; "MeCab"]

// Include the folders and files
$settings .includePaths:=[]
$settings .includePaths.push({source: $componentFolder.folder("4D WritePro Interface.4dbase").path; destination: "../Components/"})
$settings .includePaths.push({source: $componentFolder.folder("4D SVG.4dbase").path; destination: "../Components/"})

// Delete the folders and files
$settings .deletePaths:=[]
$settings .deletePaths.push("Resources/Dev/")

// Add the application icon
$settings .iconPath:="/RESOURCES/myIcon.icns"

// Add the application information
$settings .versioning:={}
$settings .versioning.version:="version"
$settings .versioning.copyright:="copyright"
$settings .versioning.companyName:="companyName"
$settings .versioning.fileDescription:="fileDescription"
$settings .versioning.internalName:="internalName"

// Create the deployment license file
$settings.license:=Folder(fk licenses folder).file("XXXXX.license4D")

// Sign the macOS appplication
$settings .signApplication:={}
$settings .signApplication.macSignature:=True
$settings .signApplication.macCertificate:="xxxxxx"

// Launch the build
$build:=cs.Build4D.Standalone.new($settings)
$success:=$build.build
()

Podrobnější informace o jednotlivých atributech naleznete v dokumentaci k jednotlivým třídám komponent.

V případě aplikací pro systém macOS je třeba je notářsky ověřit, abyste je mohli distribuovat. Další podrobnosti najdete v dokumentaci společnosti Apple.

Další…

Přejděte na GitHub a stáhněte si komponentu „Build4D“. Chcete-li být navíc informováni o všech nových funkcích komponenty, klikněte na tlačítko „Watch“ nebo si dejte 4D Depot nebo Build 4D do oblíbených. Pokud potřebujete pomoc, můžete si přečíst tento příspěvek na blogu, který podrobně popisuje všechny organizace 4D a způsob používání všech funkcí Githubu.

Vanessa Talbot
• Product Owner • Vanessa Talbot se připojila k programovému týmu 4D v červnu 2014. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací. Její úlohou je také zajistit, aby implementovaná funkce odpovídala potřebám zákazníka. Od svého příchodu pracovala na definování klíčových prvků ve 4D. Pracovala na většině nových funkcí preemptivního multi-threadingu a také na velmi složitém tématu: nové architektuře pro enginované aplikace. Vanessa má titul z Telecom Saint-Etienne. Svou kariéru začala ve Výzkumném ústavu kriminalistickém jako vývojářka pro audiovizuální oddělení. Působila také v mediální a lékařské oblasti jako expertka na technickou podporu, produkci i dokumentaci novinek.