Laborator 5 - Paradigme de Programare

Documente similare
Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (ve

Lucrarea 10

Instructiuni pt. depunerea declaratiei A4200 Declaratia A4200 se construieste pornind de la o colectie de fisiere XML, reprezentand fiecare o zi fisca

Laborator 10 - Paradigme de Programare Corutine - suport nativ pentru paralelism în Kotlin Înainte de a trece la realizarea unei aplicații utilizând c

COLEGIUL NAŢIONAL „AVRAM IANCU” CÎMPENI – JUD

PowerPoint Presentation

Minicurs CCS C / Aplicatia1 1.Programul CCS C Compiler. Instalare.Creare proiect. Descarcati ultima versiune a programului de

Proiectarea Sistemelor Software Complexe

Curs de formare Informatică și TIC pentru clasa a V-a Portofoliu pentru evaluarea finală Tema: ELEMENTE DE INTERFAŢĂ ALE UNUI SISTEM DE OPERARE (DESKT

Biomedical Wi-Fi data transmissons

AcadNet Etapa Naţională Secțiunea calculatoare, clasele Citiți cu atenție toate subiectele înainte de a începe rezolvarea. Aveți 15 minut

Laborator - Proiectarea și Implementarea Adresării cu VLSM Topologie Obiective Partea 1: Examinați Cerințele Rețelei Partea 2: Proiectați Schema Adres

Platforma 5. 1 Introducere in MSSQL Introducere Pe parcursul ultimilor ani, se poate observa o cuplare a limbajelor de programare majore cu tipuri de

Nr.înregistrare: 88 / Social Media in the Classroom Prof.Cucuianu Marița Colegiul Național,,Neagoe Basarab"Oltenița,jud.Călărași 2.Quizizz E

CONSILIUL CONCURENȚEI LANSEAZĂ MONITORUL PREȚURILOR CARBURANȚILOR Consiliul Concurenţei lansează Monitorul Preţurilor Carburanţilor, platforma on-line

CURS

Gestionarea I/E

Ghid utilizare aplicație PARKING BUCUREȘTI Aplicație PARKING BUCUREȘTI 1

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test

Laborator - Configurarea Rutelor IPv4 Statice și Implicite Topologie Tabela de Adresare Echipame nt Interfață Adresă IP Masca de subreţea Default Gate

Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de

Update firmware aparat foto Mac Mulţumim că aţi ales un produs Nikon. Acest ghid descrie cum să efectuaţi acest update de firmware. Dacă nu aveţi încr

Microsoft Word - O problema cu bits.doc

客厅电脑 酷影Q1000

manual_ARACIS_evaluare_experti_v4

Furnicuţa şi-a construit un depozit pentru grăunţe

Ruby on Rails Pop Alexandru Pavel Razvan Calculatoare 4


SRS-BTS50_QSG_ro

Investeşte în oameni Proiect cofinanţat din Fondul Social European prin Programul Operaţional Sectorial pentru Dezvoltarea Resurselor Umane

GHERCĂ MAGDA CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G


Web Social FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 2. Dezvoltarea blogurilor prin intermediul WordPress.com PREZE

Secţiunea 5-6 avansaţi PROBLEMA 1 Concurs online de informatică Categoria PROGRAMARE 100 puncte NR Un număr natural nenul V care se plictisea singur,

LABORATOR 1. Stocarea si partajarea fisierelor online cu ajutorul Dropbox, WeTransfer.com PREZENTAREA LUCRĂRII DE LABORATOR Lucrarea de laborator îşi

e-learning Agronomie Platforma de e-learning Versiunea: Ghid de utilizare Beneficiar: UNIVERSITATEA DE STIINTE AGRONOMICE SI MEDICINA VETERINARA

Laborator Depanarea Rutării Inter-VLAN Topologie 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public. Page 1 of 8

{LINGO} Specificațiile produsului: - Dimensiune: 61 x 18 x 8 mm - greutate: 8,6 g - rază: 10 m -capacitatea și tipul bateriei: 90 mah, baterie polimer

Entrepreneurship and Technological Management

Ghid de conectare la web MFC-J825DW MFC-J835DW DCP-J925DW Versiunea 0 ROM

Fâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M


SSC-Impartire

CASA CORPULUI DIDACTIC BRAILA PROGRAM DE FORMARE INFORMATICA SI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: TIMOFTI V. AFRODITA COLEGIUL

Laborator 6 - Paradigme de Programare

Chertif Ionuț - Andrei Prietenul meu, calculatorul CLASA a V - a, 1 ora pe săptămână ARGUMENT Transformările societăţii româneşti din ultimii ani, dez

客厅电脑 酷影Q1000

Laborator 3

AdVision este un software de narrowcasting, destinat tuturor celor care administrează conţinut pe o reţea de monitoare. Fie că este vo

Laborator - Configurarea de bază DHCPv4 pe un router Topologie Tabela de Adresare Echipame nt Interfață Adresă IP Masca de subreţea Default Gateway Ob

A TANTÁRGY ADATLAPJA

Cuantizare Vectoriala.doc

Termeni și Condiții Termeni și condiții Pentru folosirea în cele mai bune condiții a site-ului, se recomandă citirea cu atenție a acestor termeni și c

Paradigme de Programare

PowerPoint Presentation

EXCEL FĂRĂ SECRETE Grafice şi diagrame

Programe derulate în ediția a treia Junior IT Fun Factory *În cadrul Junior IT Fun Factory fiecare înscriere se face pentru un program individual în f

Microsoft Word - MI_05_009_Prescriere_1.doc

HONEYWELL AWARD

manual_ARACIS_evaluare_experti_v5

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 3. Achizitionarea domeniilor web si a

A

BC MOLDINDCONBANK SA

Concepte de bază ale Tehnologiei Informației

Proiect didactic

LABORATOR 2

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Paradigme de programare

FONDUL SOCIAL EUROPEAN

Microsoft Word - Ansamblul software CRONIS

Școala: Clasa a V-a Nr. ore pe săptămână: 4 Profesor: MATEMATICĂ Clasa a V-a Aviz director PLANIFICARE CALENDARISTICĂ ORIENTATIVĂ Nr. crt. Unitatea de

Facultatea de Științe Politice, Administrative și ale Comunicării Str. Traian Moșoiu nr. 71 Cluj-Napoca, RO Tel.: Fax:

Portalul Acces Delgaz Grid Acces direct la datele dumneavoastră Bine aţi venit pe portalul Acces Delgaz Grid - secţiunea dedicată Operatorilor de Revi

PowerPoint Presentation

Informatică aplicată TEST GRILA TEST GRILĂ - REZOLVAT 1.Structura de principiu a unui sistem de calcul contine urmatoarele componente principale: A. u

Microsoft Word _POO_Lab_1_Modificari_v01.htm

Manual de utilizare a Sistemului Informațional al Institutului Național al Justiției (SI INJ) intranet.inj.md Ver.2 Manual de utilizare a Sistemului I

CABINET MINISTRU

Ghid de utilizare pentru Platforma E-Admitere intranet.inj.md

Raportarea serviciilor de dializă la nivel CNAS

Lucrarea nr

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIȘA DISCIPLINEI 1.

-

E_d_Informatica_sp_MI_2015_bar_02_LRO

Manual scurt pentru instalare rapida a Accesoriului Wi-Fi 1. Instalare fizica a accesoriului Wi-Fi 2. Intrare in modul AP pentru conectarea la reteaua

REVISAL Versiunea: Data release: 15 martie 2016 IMPORTANT! Distribuţia curentă (v6.0.4) a aplicaţiei Revisal conţine nomenclatorul COR ISCO 08 î

Inter IKEA Systems B.V Serviciul de planificare bucătării Devino designerul propriei tale bucătării! Folosește instrumentul de planificare IKEA

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Dunărea de Jos Galați 1.2 Facultatea Economie și Administr

Title (in romanian or english, caps lock, Times New Roman, bold, 14pt, center)

Ch

SSC-Introducere-2

DISCIPLINA: Matematică și explorarea mediului, clasa a II-a PROIECTAREA UNITĂȚII DE ÎNVĂȚARE UNITATEA DE ÎNVĂŢARE: Universul. Planetele. Timpul.Banii

Laborator 9 - Paradigme de Programare Aplicații ale modelelor de proiectare utilizând Python Problema 1: Având în vedere că metodele de a realiza logg

Înregistraţi produsul achiziţionat şi veţi putea beneficia de suport pe pagina CD250 CD255 SE250 SE255 Ghid de iniţiere rapidă

Microsoft Word - Lucrarea_10_t.doc

Microsoft Word - Istoric Modificari declaratii WM.doc

DCS-2330L_A1_QIG_v1.00(EU).indd

MINISTERUL EDUCAŢIEI AL REPUBLICII MOLDOVA UNIVERSITATEA DE STAT ALECU RUSSO DIN BĂLŢI FACULTATEA DE ȘTIINȚE REALE, ECONOMICE ȘI ALE MEDIULUI CATEDRA

Transcriere:

Laborator 5 - Paradigme de Programare Dezvoltarea unui GUI utilizând libsdl Graphics și platforma Kotlin-Native Kotlin ca și Python nu au avut din proiectare o bibliotecă specializată în oferirea de facilități necesare dezvoltării unor interfețe grafice. Deși încă în dezvoltare platforma Kotlin-Native oferă suport nativ pentru o gama variată de sisteme de operare precum: ios Android Embedded ARM Windows x86 Windows x64 Linux x86 Linux x64 Pentru a obține o astfel de adaptabilitate dat fiind complexitatea limbajului mecanismul de compilare beneficiază de translări succesive între Kotlin, Java și platforma țintă, folosind suportul din Kotlin-Native care la rândul lui utilizează o serie de compilatoare multi-platformă (cross-platform) (De exemplu pentru a genera aplicații executabile de tip x64 pentru Windows, Kotlin-Native va utiliza mingw x64 cu GCC) Deoarece complexitatea medie a aplicațiilor specifice limbajelor moderne este mult peste exemplele foarte simple de utilizare s-a preferat crearea unei aplicații complexe din care vom analiza și modifica și în cadrul studierii altor concepte cum ar fi modelele de proiectare (design patterns). Pentru lucrare de laborator de azi veți găsi pe stație InteliJ instalat și cu două proiecte model deja instalate și configurate. Acestea vor trebui modificate prin adăugarea de noi componente sau abilități. Problema 1 Aici este prezentat un exemplu pentru realizarea componentei grafice utilizând SDL. Pornind de la modelul prezentat realizați unul dintre desenele sugerate mai jos: Un om din elemente grafice simple (cercuri, linii, pătrate, puncte) sau o schiță de mașină sau o casă sau un cadran de ceas. Problema 2 Modelul a fost pregătit pentru a studia maniera de tratare a evenimentelor în SDL. Se pleacă de la proiectul incipient al unui calculator de buzunar și se vor efectua următoarele operații. 1. Se modifică programul, astfel încât în obiectul GEdit să apară caracterele trimise de evenimentele de apăsare a tastelor. 2. Adăugați celelalte butoane cu digiții lipsă. 1

3. Adăugați suport pentru realizarea operațiilor de scădere, înmulțire și împărțire Pentru a vă ajuta este prezentată mai jos și o diagramă de clase utilizată pentru această problemă (bazată pe modelul de proiectare bazat pe compunere recursivă (Composite - detalii la cursurile de paradigme) Tema pentru acasă: Terminați de rezolvat tot laboratorul și evident puteți aduce orice alte îmbunătățiri sau face orice modificări vă mai vin în cap pornind de la unul din proiectele puse la dispoziție. 1. Configurarea Intelij pentru Kotlin-Native și SDL Această secțiune este necesară pentru a instala și configura Intellij pentru a putea modifica aplicația furnizată ca exemplu pentru a realiza tema pe acasă. În laborator aceste configurări au fost deja realizate. Se descarcă sursele proiectului de pe GIT: https://github.com/jetbrains/kotlin-native Pentru a folosi platforma, trebuie realizat o operație de compilare urmând pașii precizați pe GIT pentru a obține folderul dist cu componentele binare ale compiler-ului Kotlin- Native. Pentru genera executabile din proiectele de bază, deși se pot folosi scripturile puse la dispoziție (prin gradlew), vom folosi IntelliJ IDEA. Vom presupune că există deja instalat acest IDE pe sistemul de lucru. Pentru cei cărora li se pare prea complicat acest proces 2

(ca și în cazul Graal VM) se poate lucra separat combinând prin scripturi la nivel consolă părțile implicate în dezvoltarea unui executabil nativ conform instrucțiunilor puse deja la dispoziție de către dezvoltatori. Pentru ca IntelliJ să poată fi folosit cu proiectele existente în kotlin-native, se va instala Gradle pentru a putea importa aceste proiecte în IDE, ulterior. Se va importa în IntelliJ, proiectul gradle aferent unei aplicații pentru Windows EXE care afișează un MessageBox: Apoi se selectează calea către varianta de gradle descărcată anterior: 3

Deoarece există unele incompatibilități minore la nivelul versiunii gratuite de IntelliJ, acesta va încerca să înlăture unele componente din proiect. Nu i se va permite acest lucru prin deschiderea dialogului corespunzător (vezi mai jos). Acum se poate adăuga o configurație de tip Gradle: Acum putem alege un nume pentru proiectul curent după cum este prezentat și în figură. 4

Se va utiliza ca parametru: build În urma execuției cu succes, de această dată se creează executabilul nativ platformei țintă alese (win 32): Acum aplicația rezultată poate fi lansată manual în execuție: 5

Adăugare biblioteci pentru dezvoltarea de aplicații utilizând libsdl Se va utiliza librăria SDL x64. Din ceea ce pune la dispoziție această bibliotecă vom utiliza pe moment numai ceea ce se află în directoarele include și lib 6

În acest laborator sunt prezentate complet două probleme din care numai prima din ele folosește aceasta bibliotecă, proiectele sunt gata configurate deci pașii de mai jos sunt utili numai în situația în care veți aplica modificările cerute în cadrul temei pe acasă. Se va importa proiectul P1 din Gradle în IntelliJ, urmând pașii descriși anterior și finalizând cu o configurație Gradle specifică proiectului: În urma execuției (build), obținem o eroare, deoarece biblioteca SDL descărcată anterior nu este găsită în folderele folosite de cross-compiler: Adăugăm biblioteca în directoarele cross-compilerului. 7

Reluăm procesul de compilare a aplicației: Acum se poate lansa aplicația creată din interiorul directorului specific. Crearea unui proiect Pentru a crea un proiect, pașii sunt identici cu cei prezentați mai sus, cu următoarele mici diferențe: 1. Copiem folderul P1 într-altul cu un nume diferit (de exemplu MyProject, sub acelasi folder samples ). 2. Ștergem din folderul P1, subfolderul build, subfolderul.idea și fișierul P1.iml. 3. Modificăm în fișierele build.gradle și gradle.properties toate stringurile, din P1 în MyProject. 4. Redenumim folderul P1Main în MyProjectMain. 5. Repetăm pasul 3 pentru fișierul Info.plist din MyProjectMain\resources. 8