Enviar pesquisa
Carregar
О разработке десктопных приложений / About desktop development
•
1 gostou
•
438 visualizações
Alexander Granin
Seguir
Лекция в ЗабГУ о разработке десктопных приложений
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 22
Baixar agora
Baixar para ler offline
Recomendados
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Vadim Martynov
Azimut framework
Azimut framework
dmamel
Dotnet development
Dotnet development
MageCloud
Platypus platform ivbit
Platypus platform ivbit
jskonst
внедрении Wpf в сложных системах (слайды)
внедрении Wpf в сложных системах (слайды)
WhiteMbIXA
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Ontico
SCRUMopen Developer Max Kolodezniy
SCRUMopen Developer Max Kolodezniy
Alexey Krivitsky
использование .Net framework
использование .Net framework
jskonst
Recomendados
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Vadim Martynov
Azimut framework
Azimut framework
dmamel
Dotnet development
Dotnet development
MageCloud
Platypus platform ivbit
Platypus platform ivbit
jskonst
внедрении Wpf в сложных системах (слайды)
внедрении Wpf в сложных системах (слайды)
WhiteMbIXA
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Ontico
SCRUMopen Developer Max Kolodezniy
SCRUMopen Developer Max Kolodezniy
Alexey Krivitsky
использование .Net framework
использование .Net framework
jskonst
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
it-people
CI для Microsoft Dynamics crm
CI для Microsoft Dynamics crm
Roman Savran
GitFlow_MOEX
GitFlow_MOEX
Sergey Maximov
Вадим Митин - как выстроить техническую платформу для стабильной работы web...
Вадим Митин - как выстроить техническую платформу для стабильной работы web...
sergey doronin
GraphQL tools | Никита Галкин | Zlit Tech
GraphQL tools | Никита Галкин | Zlit Tech
Zlit
голубушин
голубушин
Петр Левич
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Ontico
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
yaevents
Ruby on Rails снижаем стоимость разработки
Ruby on Rails снижаем стоимость разработки
Media Gorod
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
Ontico
About emacs
About emacs
jskonst
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + Qlik
Positive Hack Days
Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008
Александр Шамрай
разработка собственной Agile методологии для управления крупными проектами
разработка собственной Agile методологии для управления крупными проектами
SQALab
Алексей Кабанов
Алексей Кабанов
SQALab
Continuous Integration(как мы подружили frontend и backend)
Continuous Integration(как мы подружили frontend и backend)
Talks&Works
Continuous integration, или как мы подружили front end и back-end
Continuous integration, или как мы подружили front end и back-end
wlbl
Прямая выгода BigData для бизнеса
Прямая выгода BigData для бизнеса
Alexey Lustin
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
Pavel Tsukanov
WinRT: интеграция с С++
WinRT: интеграция с С++
Mykhail Galushko
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
Mikhail Chinkov
What's new in Visual Studio 2012
What's new in Visual Studio 2012
InTRUEdeR
Mais conteúdo relacionado
Mais procurados
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
it-people
CI для Microsoft Dynamics crm
CI для Microsoft Dynamics crm
Roman Savran
GitFlow_MOEX
GitFlow_MOEX
Sergey Maximov
Вадим Митин - как выстроить техническую платформу для стабильной работы web...
Вадим Митин - как выстроить техническую платформу для стабильной работы web...
sergey doronin
GraphQL tools | Никита Галкин | Zlit Tech
GraphQL tools | Никита Галкин | Zlit Tech
Zlit
голубушин
голубушин
Петр Левич
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Ontico
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
yaevents
Ruby on Rails снижаем стоимость разработки
Ruby on Rails снижаем стоимость разработки
Media Gorod
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
Ontico
About emacs
About emacs
jskonst
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + Qlik
Positive Hack Days
Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008
Александр Шамрай
разработка собственной Agile методологии для управления крупными проектами
разработка собственной Agile методологии для управления крупными проектами
SQALab
Алексей Кабанов
Алексей Кабанов
SQALab
Continuous Integration(как мы подружили frontend и backend)
Continuous Integration(как мы подружили frontend и backend)
Talks&Works
Continuous integration, или как мы подружили front end и back-end
Continuous integration, или как мы подружили front end и back-end
wlbl
Прямая выгода BigData для бизнеса
Прямая выгода BigData для бизнеса
Alexey Lustin
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
Pavel Tsukanov
WinRT: интеграция с С++
WinRT: интеграция с С++
Mykhail Galushko
Mais procurados
(20)
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
CI для Microsoft Dynamics crm
CI для Microsoft Dynamics crm
GitFlow_MOEX
GitFlow_MOEX
Вадим Митин - как выстроить техническую платформу для стабильной работы web...
Вадим Митин - как выстроить техническую платформу для стабильной работы web...
GraphQL tools | Никита Галкин | Zlit Tech
GraphQL tools | Никита Галкин | Zlit Tech
голубушин
голубушин
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Ruby on Rails снижаем стоимость разработки
Ruby on Rails снижаем стоимость разработки
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
About emacs
About emacs
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + Qlik
Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008
разработка собственной Agile методологии для управления крупными проектами
разработка собственной Agile методологии для управления крупными проектами
Алексей Кабанов
Алексей Кабанов
Continuous Integration(как мы подружили frontend и backend)
Continuous Integration(как мы подружили frontend и backend)
Continuous integration, или как мы подружили front end и back-end
Continuous integration, или как мы подружили front end и back-end
Прямая выгода BigData для бизнеса
Прямая выгода BigData для бизнеса
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
WinRT: интеграция с С++
WinRT: интеграция с С++
Semelhante a О разработке десктопных приложений / About desktop development
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
Mikhail Chinkov
What's new in Visual Studio 2012
What's new in Visual Studio 2012
InTRUEdeR
DevOps для 1С
DevOps для 1С
Alexey Lustin
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Fwdays
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
Tech Talks @NSU
X Window
X Window
Alexander Babich
Desktop app based on node js and html5
Desktop app based on node js and html5
Provectus
Профессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом Enterprise
Alexander Granin
Совместные решения Citrix и Dell для правильной организации рабочих мест
Совместные решения Citrix и Dell для правильной организации рабочих мест
Dell_Russia
Jelastic для разработчиков ПО
Jelastic для разработчиков ПО
Dmitry Lazarenko
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
DrupalCamp MSK
Console application with ZF 2.0
Console application with ZF 2.0
Alexey Kachayev
ПартФорум DIRECTUM 2013 - разработка прикладных решений
ПартФорум DIRECTUM 2013 - разработка прикладных решений
Виктор Золотов
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
Aliaksandr Ikhelis
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
SQALab
Frontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиков
CodeFest
Экскурс в мир WEB разработки
Экскурс в мир WEB разработки
IT-Доминанта
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
Olesya_V
[RU] Connecting AutoCAD and Python (by Alex Bausk)
[RU] Connecting AutoCAD and Python (by Alex Bausk)
Alexander Bausk
Денис Захаркин, VR Concept - MIXAR2016
Денис Захаркин, VR Concept - MIXAR2016
mixARConference
Semelhante a О разработке десктопных приложений / About desktop development
(20)
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
What's new in Visual Studio 2012
What's new in Visual Studio 2012
DevOps для 1С
DevOps для 1С
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
X Window
X Window
Desktop app based on node js and html5
Desktop app based on node js and html5
Профессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом Enterprise
Совместные решения Citrix и Dell для правильной организации рабочих мест
Совместные решения Citrix и Dell для правильной организации рабочих мест
Jelastic для разработчиков ПО
Jelastic для разработчиков ПО
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Console application with ZF 2.0
Console application with ZF 2.0
ПартФорум DIRECTUM 2013 - разработка прикладных решений
ПартФорум DIRECTUM 2013 - разработка прикладных решений
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Frontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиков
Экскурс в мир WEB разработки
Экскурс в мир WEB разработки
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
[RU] Connecting AutoCAD and Python (by Alex Bausk)
[RU] Connecting AutoCAD and Python (by Alex Bausk)
Денис Захаркин, VR Concept - MIXAR2016
Денис Захаркин, VR Concept - MIXAR2016
Mais de Alexander Granin
Concurrent applications with free monads and stm
Concurrent applications with free monads and stm
Alexander Granin
Hierarchical free monads and software design in fp
Hierarchical free monads and software design in fp
Alexander Granin
Final tagless vs free monad
Final tagless vs free monad
Alexander Granin
Monadic parsers in C++
Monadic parsers in C++
Alexander Granin
The present and the future of functional programming in c++
The present and the future of functional programming in c++
Alexander Granin
Принципы и практики разработки ПО 2 / Principles and practices of software de...
Принципы и практики разработки ПО 2 / Principles and practices of software de...
Alexander Granin
Принципы и практики разработки ПО / Principles and practices of software deve...
Принципы и практики разработки ПО / Principles and practices of software deve...
Alexander Granin
Закон Деметры / Demetra's law
Закон Деметры / Demetra's law
Alexander Granin
Design of big applications in FP
Design of big applications in FP
Alexander Granin
GitHub - зеркало разработчика
GitHub - зеркало разработчика
Alexander Granin
The Present and The Future of Functional Programming in C++
The Present and The Future of Functional Programming in C++
Alexander Granin
Functional programming in C++ LambdaNsk
Functional programming in C++ LambdaNsk
Alexander Granin
Transition graph using free monads and existentials
Transition graph using free monads and existentials
Alexander Granin
Software transactional memory. pure functional approach
Software transactional memory. pure functional approach
Alexander Granin
Вы не понимаете ФП / You don't understand FP
Вы не понимаете ФП / You don't understand FP
Alexander Granin
Functional "Life": parallel cellular automata and comonads
Functional "Life": parallel cellular automata and comonads
Alexander Granin
Functional microscope - Lenses in C++
Functional microscope - Lenses in C++
Alexander Granin
Дизайн больших приложений в ФП
Дизайн больших приложений в ФП
Alexander Granin
Линзы - комбинаторная манипуляция данными
Линзы - комбинаторная манипуляция данными
Alexander Granin
Линзы - комбинаторная манипуляция данными (Dev2Dev)
Линзы - комбинаторная манипуляция данными (Dev2Dev)
Alexander Granin
Mais de Alexander Granin
(20)
Concurrent applications with free monads and stm
Concurrent applications with free monads and stm
Hierarchical free monads and software design in fp
Hierarchical free monads and software design in fp
Final tagless vs free monad
Final tagless vs free monad
Monadic parsers in C++
Monadic parsers in C++
The present and the future of functional programming in c++
The present and the future of functional programming in c++
Принципы и практики разработки ПО 2 / Principles and practices of software de...
Принципы и практики разработки ПО 2 / Principles and practices of software de...
Принципы и практики разработки ПО / Principles and practices of software deve...
Принципы и практики разработки ПО / Principles and practices of software deve...
Закон Деметры / Demetra's law
Закон Деметры / Demetra's law
Design of big applications in FP
Design of big applications in FP
GitHub - зеркало разработчика
GitHub - зеркало разработчика
The Present and The Future of Functional Programming in C++
The Present and The Future of Functional Programming in C++
Functional programming in C++ LambdaNsk
Functional programming in C++ LambdaNsk
Transition graph using free monads and existentials
Transition graph using free monads and existentials
Software transactional memory. pure functional approach
Software transactional memory. pure functional approach
Вы не понимаете ФП / You don't understand FP
Вы не понимаете ФП / You don't understand FP
Functional "Life": parallel cellular automata and comonads
Functional "Life": parallel cellular automata and comonads
Functional microscope - Lenses in C++
Functional microscope - Lenses in C++
Дизайн больших приложений в ФП
Дизайн больших приложений в ФП
Линзы - комбинаторная манипуляция данными
Линзы - комбинаторная манипуляция данными
Линзы - комбинаторная манипуляция данными (Dev2Dev)
Линзы - комбинаторная манипуляция данными (Dev2Dev)
О разработке десктопных приложений / About desktop development
1.
О разработке десктопных
приложений Александр Гранин graninas@gmail.com
2.
О себе ● Разработчик
в “Лаборатории Касперского” (C++, C#) ● Выпуск ИВТ-04, 2009 ● Хаскеллист, функциональный программист ● LambdaNsk - сообщество функциональных программистов ● Доклады: C++ User Group, Dev2Dev, DevDay, FPConf, LambdaNsk, … ● https://github.com/graninas
3.
План ● Архитектура десктопных
приложений ● Windows Presentation Foundation (WPF) ● Qt Quick, QML ● Вопросы реализации
4.
Архитектура десктопных приложений
5.
Desktop applications Presentation Layer (GUI) Business Logic Layer Data
Access Layer
6.
“Forms and Controls” VCL
(Delphi, C++ Builder) WinForms (C#, .NET) Qt Widgets (Qt, C++, crossplatform) ... Model - View - Controller (MVC) View Controller Model User Input Updates Modifiers
7.
WPF (C#, .NET) Qt
Quick (QML, C++, JavaScript) “Separated Presentation” View ViewModel Model Notifications Bindings Commands Model - View - ViewModel (MVVM)
8.
WPF Windows Presentation Foundation
9.
10.
WPF (Windows Presentation
Foundation) XAML (.xaml) Code behind (.cs) ViewModel (.cs) Data Model (.cs) Services API (.cs) NotificationsData Bindings Model - View - ViewModel (MVVM)
11.
ViewModel (.cs) ViewModel (.cs) XAML
(.xaml) Code behind (.cs) XAML (.xaml) Code behind (.cs) WPF (Windows Presentation Foundation) Model - View - ViewModel (MVVM) XAML (.xaml) Code behind (.cs) ViewModel (.cs) Data Model (.cs) Services API (.cs) NotificationsData Bindings
12.
<WPF - Live
Coding>
13.
Qt Quick, QML Qt
Meta-Object Language
14.
ViewModel (.cs) ViewModel (.cs) XAML
(.xaml) Code behind (.cs) XAML (.xaml) Code behind (.cs) Qt Quick, QML (Qt Meta-Object Language) Model - View - ViewModel (MVVM) QML (.qml, JS) ViewModel (.cpp) Data Model (.cpp) Services API (.cpp) SignalsData Bindings
15.
<Qt Quick, QML
- Live Coding>
16.
Вопросы реализации
17.
Хороший код
18.
Очень хороший код ●
SOLID ● API ● Inversion of Control ● Unit testing ● Design Patterns
19.
SOLID - принципы
ООП-разработки ● Single responsibility principle ● Open/closed principle ● Liskov substitution principle ● Interface segregation principle ● Dependency inversion principle
20.
Спасибо за внимание! Александр
Гранин graninas@gmail.com
21.
Чуть больше о
C# ● Value Type vs Reference Type ● IEnumerable ● LINQ ● Lambdas
22.
Чуть больше о
C++ ● Const reference ● STL Containers ● <algorithm> ● Lambdas
Baixar agora