Upload
kitconference
View
304
Download
0
Embed Size (px)
Citation preview
Development
Paradigms and
languages
Practices and tools
Architectures and
frameworksProcesses
©2016 ANTON HRYTSENKO 2
Paradigms and languagesPROGRAMMING PARADIGM IS A STYLE OF PROGRAMMING THAT IS DEFINED BY A SET OF CONCEPTS AND TECHNIQUES.
©2016 ANTON HRYTSENKO 3
Paradigms
Classes
• Hierarchy
• Composition
Functions
• First-class
• Higher-order
• Pure
• Anonymous
©2016 ANTON HRYTSENKO 5
ParadigmsCLASSES
Collection
List
ArrayList
Set
HashSet
FUNCTIONS
Map Filter Fold
©2016 ANTON HRYTSENKO 6
Paradigms
Generic programming
Aspect-oriented
programming
Event-driven programming
©2016 ANTON HRYTSENKO 7
LanguagesParadigm Java JavaScript
Object-oriented programming Java TypeScript
Functional programming Scala ECMAScript
©2016 ANTON HRYTSENKO 8
Practices and toolsENGINEERING PRACTICE REPRESENTS A WIDELY USED TECHNIQUE THAT ALLOWS TO OBTAIN BETTER RESULTS IN COMPARISON WITH OTHER MEANS.
©2016 ANTON HRYTSENKO 10
Practices
Version control
Build automation
Unit testing
Static analysis
Continuous integration
©2016 ANTON HRYTSENKO 11
ToolsPractice Java JavaScript
Version control Git
Build automation Maven Gulp, npm
Unit testing JUnit, Mockito Karma, Jasmine
Static analysis FindBugs JSLint
Continuous integration Jenkins
©2016 ANTON HRYTSENKO 12
Architectures and frameworksARCHITECTURE IS THE FUNDAMENTAL ORGANIZATION OF A SYSTEM EMBODIED IN ITS COMPONENTS, THEIR RELATIONSHIPS TO EACH OTHER, AND TO THE ENVIRONMENT, AND THE PRINCIPLES GUIDING ITS DESIGN AND EVOLUTION.
©2016 ANTON HRYTSENKO 14
Architectures
Component-based
Components
Multi-layered
Layers
Resource-oriented
©2016 ANTON HRYTSENKO 15
ArchitecturesService-oriented
architecture
Event-driven architecture
Microservice architecture
©2016 ANTON HRYTSENKO 16
Frameworks
Software framework
• Jersey
Platform
• Java EE
©2016 ANTON HRYTSENKO 17
Frameworks
Software framework
• Bootstrap
Application framework
• AngularJS
©2016 ANTON HRYTSENKO 18
ProcessesBUSINESS PROCESS IS A COLLECTION OF RELATED ACTIVITIES PERFORMED TOGETHER TO PRODUCE A SPECIFIC PRODUCT FOR A PARTICULAR CUSTOMER.
©2016 ANTON HRYTSENKO 19
Activities
Development
Quality assurance
Project management
User interface
design
Configuration management
©2016 ANTON HRYTSENKO 21