Agenda. Wprowadzenie do RAD Studio XE2 64-bity Nowości VCL-a i RTL-a DataSnap i Cloud Aplikacje mobilne w RAD Studio XE2



Podobne dokumenty
Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

Nadchooooodzi FireMooooooooonkey!

Programowanie RAD Delphi

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Wymagania systemowe dla Qlik Sense. Qlik Sense February 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Programowanie w asemblerze Środowiska 64-bitowe

Programowanie na poziomie sprzętu. Programowanie w Windows API

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Wymagania systemowe dla Qlik Sense. Qlik Sense June 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Król Łukasz Nr albumu:

Wymagania systemowe dla Qlik Sense. Qlik Sense 3.1 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

Delphi. Lazarus. Kompilatory Delphi. Linki do stron o Delphi

REACT NATIVE. Anna Maziejuk Kamil Jankowski

Cloud Customers Relationships Wymagania wersja systemu:

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty

Komunikacja i wymiana danych

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

Podstawy programowania. Wprowadzenie

OpenLaszlo. OpenLaszlo

Wymagania systemowe dla Qlik Sense. Qlik Sense 3.0 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Delphi Laboratorium 3

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Wymagania systemowe dla Qlik Sense. Qlik Sense June 2017 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Programowanie Komponentowe WebAPI

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Algorytmy i struktury danych. wykład 1

Instrukcja instalacji serwera bazy danych Microsoft SQL Server Express 2014

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Ćwiczenie nr 6. Programowanie mieszane

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Nowe mechanizmy w wersji 3 Java Card. Mateusz LESZEK (138775)

Oracle Application Express -

Wybrane działy Informatyki Stosowanej

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Programowanie aplikacji dla technologii mobilnych. mgr inż. Anton Smoliński

CMS, CRM, sklepy internetowe, aplikacje Web

Kompilator języka C na procesor 8051 RC51 implementacja

Środowiska i platformy programistyczne

PODSTAWY PROGRAMOWANIA

Android tworzenie aplikacji mobilnych

akademia androida Pierwsze kroki w Androidzie część I

Przetwarzanie danych w chmurze

PODSTAWY PROGRAMOWANIA

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...

Agenda. Wstęp Zmiany Co nowego dla web developerów? Nowości we front-end developingu Czego spodziewać się może końcowy użytkownik?

Administratorzy systemów, inżynierowie, konsultanci, którzy wdrażają i zarządzają rozwiązaniami opartymi o serwery HP ProLiant

Storware KODO. Zaawansowana platforma do zarządzania i zabezpieczenia danych na urządzeniach mobilnych STORWARE.EU

Skopiuj plik do katalogu macierzystego serwera Apache (C:/xampp/htdocs). Uruchom przeglądarkę i wpisz w polu adresowym następujący ciąg:

Terytorialna analiza danych

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.

Wybrane działy Informatyki Stosowanej

Zapytanie ofertowe nr 2/IAP/2013 ( dotyczy modułu nr 2/IAP )

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

1 Wprowadzenie do J2EE

Przetwarzanie danych w chmurze

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

IBM MobileFirst! Wprowadzenie do strategii IBM w zakresie rozwiązań mobilnych! Włodek Dymaczewski"

Systemy Rozproszone Technologia ICE

Założenia projektowe dla zapytania ofertowego EAK_ZA_01/2015

Specyfikacja techniczna. mprofi Interfejs API

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Praca w środowisku Visual Studio 2008, Visual C

Wstęp do programowania. Różne różności

Programowanie obiektowe

Język programowania PASCAL

Aplikacje webowe z wykorzystaniem Node.js oraz Express

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

PODSTAWY PROGRAMOWANIA

Wsparcie informatyczne instalacja usługi BlackBerry Enterprise Server (BES)

Analiza technologii UPNP w kontekście strumieniowania multimediów. Paweł Szafer. Promotor: dr inż. doc. M. Sajkowski

Część I Istota analizy biznesowej a Analysis Services

O sobie. Adam Kowalski. Absolwent informatyki Uniwersytetu Wrocławskiego Full-stack Developer w firmie Synergy Codes.

Powiedz TAK dla mobilności w biznesie wybierając Novell ZENworks Mobile Management!

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

Mobilna przyszłość biznesu. Błażej Marciniak Dyrektor Sprzedaży Usług IT CTM Mobiltek SA

Monitorowanie Sieci nonblocking content packet filtering

Programowanie urządzeń mobilnych

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Dokumentacja techniczna

Serwery Statefull i Stateless

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

Zapytanie ofertowe nr 1/IAP/2013 ( dotyczy modułu nr 1/IAP )

Integral over IP. Integral over IP. SCHRACK SECONET POLSKA K.Kunecki FIRE ALARM

Delphi 7 + Indy 10 Przykłady prostych aplikacji sieciowych

Windows Mobile. Andy Wigley, Daniel Moth, Peter Foot, Microsoft Mobile Development Handbook, Microsoft Press 2007

Programowanie modułowe

Android - wprowadzenie. Łukasz Przywarty

Transkrypt:

Agenda 10:00 11:45 Wprowadzenie do RAD Studio XE2 64-bity Nowości VCL-a i RTL-a DataSnap i Cloud Aplikacje mobilne w RAD Studio XE2 12:15 14:00 FireMonkey (Windows & OS X) Live Bindings Podsumowanie

Tylko dla Delphi

Architektura 64-bitowa 64-bitowa przestrzeo adresowa Instrukcje bazowe assemblera takie same Nowy prefiks REX (instrukcje 64 bitowe) Względne adresowanie RIP Skoki względne +/- 2GB 16 bajtowe wyrównanie stosu

Co to wszystko znaczy dla mnie?

Bez paniki!

64-bitowe Delphi Ten sam RTL SysUtils, Classes, Generics.Collections, itd. Ten sam VCL Forms, Graphics, Controls, Menus, itd. Mapowanie Windows API 64-bitowy Windows.pas

Typy całkowite Typ 32-bity 64-bity ShortInt, Byte 1 bajt SmallInt, Word 2 Integer, Cardinal 4 LongInt, LongWord 4 Int64, UInt64 8 NativeInt, NativeUInt 4 8

Typy wskaźnikowe String, AnsiString, WideString, UnicodeString Class instance, Class reference Interface Procedure pointer Dynamic array PAnsiChar, PWideChar, PChar

Uwaga na! Rzutowanie! SizeOf(Pointer) <> SizeOf(Integer) Uchwyty Rozmiar wskaźnika (8 bajtów) (HWND, HDC, etc..)

Uwaga na! Cały kod procesu Biblioteki BPL, DLL, ActiveX Biblioteki Delphi Dwie wersje 32 i 64- bitowa IDE 32 bitowe Projektant korzysta z bibliotek 32-bitowych

Uwaga na! Tylko całe procedury Nie można wplatad bloków asm w kod Delphi owej procedury Nowy zunifikowany sposób wywołania procedur Stos Wyrównanie do 16 bajtów przy każdym wywołaniu

Uwaga na! Odpowiednie funkcje GetWindowLong GetWindowLongPtr Windows.pas (robi to za nas) wynik musi byd rzutowany na LONG_PTR (nie na Integer) Obsługa komunikatów W SendMessage konieczne jest rzutowanie parametrów za pomocą WPARAM, LPARAM i LRESULT

Delphi 64-bitowe inne uwagi (1) Jedna i tylko jedna konwencja wywołania procedur register, pascal, cdecl, stdcall are ignored. safecall jest wciąż specjalny Uwaga na starą arytmetykę wskaźnikową MyPtr := PByte(P) + 10; To działa w 32 i 64 bitach:

Delphi 64-bitowe inne uwagi (2) Zmiany wewnętrzne VCL-a Np. w typie TList atrybut FList jest teraz typu TPointerList (a nie PPointerList) Uwaga na konwersję z 32-bit do 64-bit. Własnośd Tag Jest teraz NativeInt Exception unwinding W kodzie Delphi wszystko OK W assemblerze źle obsłużony może powodowad błędy

Delphi 64-bitowe inne uwagi (3) SHL / SHR Wartości 32 bitowe przewijają się w przestrzeni 32 bitowej, 64-bitowe w 64-bitowej Nie ma typu Extended Dla kompatybilności użyj TExtendedRec80 Odczytywanie danych z plików binarnych

Predefiniowane zmienne kompilatora Kategoria Identifier dcc32 dcc64 Kompilator DCC defined defined VER230 defined defined Platforma MSWINDOWS defined defined WIN32 defined not defined WIN64 not defined defined CPU CPU386 defined not defined CPUX86 defined not defined CPUX64 not defined defined Dostępnośd ASSEMBLER defined defined UNICODE defined defined

Co mogę zrobid dzisiaj? (1) Sprawdź rzutowania wskaźników Integer<->Pointer Integer<->instance Skontroluj czy będą działad poprawnie przy 8-bajtach Sprawdź zewnętrzne biblioteki Biblioteki obrazów/ikonek Biblioteki do komunikacji z urządzeniami zewnętrznymi Kontrolki ActiveX Biblioteki komponentów

Co mogę zrobid dzisiaj? (2) Migracja z Assemblera do Pascala Rozpatrz zyski i straty Zamieo wplatany assembler na procedury maszynowe Kod Delphi międzyplatformowy Pomyśl o innych procesorach (np. ARM) Optymalizacja algorytmów a przenośnośd Przewijanie bitowe Sprawdź wszystkie wywołania SHL/SHR Upewnij się, że są wykonywane w odpowiedniej przestrzeni

RAD Studio bezpieczna inwestycja Aplikacja VCL i RTL Windows 32 API Windows 64 API

Demo Grids.Vcl.pas RAD Studio: źródła VCL i biblioteki skompilowane LIB

64-bitowy kompilator C++

Co nowego w C++? FireMonkey Live Bindings DataSnap Rozszerzone RTTI Audyty i metryki

Style VCL

Od takich formatek

Do takich!

Nowe style TStyleEngine Przetwarza komunikaty kontrolek TStyleManager Ładowanie i rejestracja stylu (z pliku lub z zasobów) Wybór stylu oraz silnika obsługi stylów Modyfikacja i dostosowanie

Project Options Appearance

Typowe użycie Moduły Uses Vcl.Styles, Vcl.Themes; Zmiana stylu TStyleManager.SetStyle( Ruby Red Graphite );

VCL Style Designer

Demo IBMastApp projekt demo z pakietu RAD Studio Marine Adventures Order Entry

RTL

Co nowego w RTL-u? TOSVersion Informacje o systemie operacyjnym Architektura (32/64), Platforma (Win/Mac) Wersja i Service Pack TFormatSettings Zebranie systemowych ustawieo formatowania TZipFile Międzyplatformowa obsługa kompresji ZIP

Co nowego w RTL-u? Obsługa SymLinks class function TFile.CreateSymLink(const Link, Target: string): Boolean; TLoginCredentialService Rozbudowany, niezależny od platformy system poświadczeo autentykacji z obsługą callback-ów Zmienione: TPoint, TRect, TSize Nowe: TPointF, TRectF, TSizeF

RAD Cloud

Czym jest Cloud API? Pozwala wykorzystad usługi oferowane przez Amazon i Microsoft

Wspierane cloud API Magazyn Azure Blobs Service Amazon S3 Tabele Azure Table Service SimpleDB Kolejki Azure Queue Service Amazon SQS

Wdrażaj w Chmurze Amazon EC2 Microsoft Azure wymagany: Platform Assistant

Amazon przykład użycia Dane SimpleDB - tabele S3 - wiadomości Przetwarzanie EC2 Windows Server Host

DataSnap XE2

Rozszerzenia DataSnap XE2 Informacje o serwerach proxy Informacje o kanale Adres IP, protokół, nazwa aplikacja HTTPS dla serwerów stand-alone Zarządzanie sesją w połączeniach TCP/IP Ulepszone Callbacks Menedżer, wygodniejsza obsługa po stronie klienta Modyfikowanie komunikatu JSON i inne

Monitorowanie i kontrola połączeo DataSnap

Co możesz zrobid? Przejąd kontrolę nad połączeniem klienta Monitorowad i zamykad połączenia Ograniczad liczbę żądao w ramach połączenia Zwiększyd bezpieczeostwo oraz wiele innych

Wykrywanie przypadkowych rozłączeo Event.Channel.EnableKeepAlive(10000); Wysyłanie pakietu keep-alive Sprawdzenie klienta

Jak używad EnableKeepAlive? Event.Channel.EnableKeepAlive(10000, 100); Ile razy ma byd powtarzane keep-alive systemowo: Win 7 robi to 10 razy

Zamykanie połączeo klienta Zamknięcie połączenia // Get the associated Channel for the given connection // and close it if FConnections.TryGetValue(Connection, Channel) then Channel.Close;

Demo DataSnapMonitor przykładowa aplikacja z pakietu RAD Studio

DataSnap Mobile Connectors

Konektory mobilne dla DataSnap ios Objective C Android Java BlackBerry Java Windows Phone 7 C#, Prism

Dodaj konektory mobilne

Proxy Dispatcher Proxy Dispatcher Współpracuje z ProxyGenerator MetaDataProvider Generuje proxy Obsługuje HTTP (download)

Pobieranie konektorów http://host:port/proxy/[device].zip Java Android konektor: http://host:port/proxy/java_android.zip Win32ProxyDownloader.exe

Demo TweetApp DataSnap Mobile Connectors

Company Tweet App

Dwie możliwości RadPHP XE2 Android, ios, JQuery Mobile PhoneGap Delphi XE2 ios Aplikacje FireMonkey

Aplikacje mobilne w RadPHP

Komponenty mobilne w RADPHP XE2 New Items Mobile Application

JQuery Mobile Technologia HTML / CSS / JavaScript Wygląd i kontrolki zoptymalizowane do urządzeo dotykowych Platformy ios Android BlackBerry Windows Phone Symbian, Bada, palm WebOS,

PhoneGap

Kreator PhoneGap Tools Wizard for PhoneGap

Mobilne RadPHP XE2 JQuery Mobile PhoneGap Demo DataSnap Mobile Connectors ios Objective C Android Java BlackBerry Java Windows Phone 7 C#, Delphi Prism Demo FireMonkey ios FireMonkey Project XCode + FPC Demo

Demo RadPHP kontrolki Mobile Wdrożenie aplikacji na PhoneGap

FireMonkey ios

Kroki Windows 1. Projekt FireMonkey ios (HD lub 3D) 2. Programowanie i testowanie w Delphi XE2 3. Eksport projektu na Mac-a Mac 4. Budowa projektu w Xcode (FreePascal) 5. Uruchomienie projektu na emulatorze lub na urządzeniu ios

Proces tworzenia RAD Studio Xcode Projekt FireMonkey Delphi ios HD / ios 3D dpr2xcode Projekt Xcode Pascal + Bilioteka FireMonkey

Wymagania Apple Mac System: Snow Leopard / Lion Xcode Xcode - download from App Store (or ios Developer Pages) (3.2.5, 3.2.6, and 4.1.1 verified working) ios SDK requires subscription to Apple Developer Program (4.2, 4.3 verified working) FreePascal Installed official FreePascal 2.4.4 binary - http://www.freepascal.org/download.var - Required to build FPC 2.5.1

FireMonkey ios Instalacja: FireMonkey-iOS for RAD Studio XE2

FireMonkey ios - Demo