Multiplatform Software Development

Basic information
Neptun code: 
viauma04
Hosting department: 
AUT
Major: 
BME-VIK Engineering Information Technology
Level: 
MSc - Master of Science
Type: 
Specialization subject
Availability: 
planned
Objective: 
A tárgy célja a multiplatform szoftverfejlesztés módszereinek gyakorlatorientált bemutatása. A hallgatók megismerkednek a modern C++ nyelv és a HTML5/JavaScript alapú technológiák felhasználásával a cross-platform alkalmazásfejlesztés során. Bemutatásra kerülnek a C++ 11 újdonságainak gyakorlati előnyei, a felhasználói felület megvalósításának módszerei és a különböző platformokkal való alacsonyszintű együttműködés technikái. Mélységeiben tárgyalja a HTML5, a CSS3 és a modern JavaScript alkalmazásfejlesztést könnyítő újdonságait. Kiemelt hangsúlyt kapnak a napjainkban népszerű önálló mobilkliensek és a nagyméretű rendszerek fejlesztésének kérdései.

Short topics

Advantages and disadvantages of multiplatform development. Overview: C, Java, .NET, Flash / Air, Mono Game. HTML based OSs. Possibilities: C ++, HTML5 / JS, other technologies. C ++ iteration, Development tools, compilers, C ++ 11, new language features. Development patterns: RAII, Exception handling, native exception handling at platform level, Crossplatform techniques, native interfaces, implementation at platform level, preprocessor directives, template metaprogramming. Native layer and platform collaboration, interoperability: C ++ / CX, JNI, Objective-C. Qt introduction, Qt object model, collection classes, tree, lifetime, sharing, signal slot concept, events. Qt coordinate system, drawing, QML, network access, multilingualism, resources. Designing the user interface for Tablet and mobile applications using HTML and CSS. Modernizer. Typescript / ECMA Script 6 based, object oriented application development. Mobile UI, Single page application architecture, client side frameworks. Large application development: architectural samples, modules, preprocessors, minification, performance analysis. Data storage issues for hybrid applications: local storage, IndexedDB. Asynchrony, network management, real-time and two-way communication, SignalR / socket.io. Native HTML / JS applications: PhoneGap, Titanium (includes: location, camera, access to native mobile features). Node.js.