www.mimos.my © 2009 MIMOS Berhad. All Rights Reserved. Software Development Lab, Software Development & Central Engineering Errazudin Ishak DA with WA Desktop Apps with Web Apps Technology
May 18, 2015
www.mimos.my © 2009 MIMOS Berhad. All Rights Reserved.
Software Development Lab,
Software Development & Central Engineering
Errazudin Ishak
DA with WADesktop Apps with Web Apps Technology
• Introduction
• Enterprise PHP
• Desktop Application
• PHP Desktop Development
• Comparison
• Titanium
Agenda
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
• Senior Engineer at MIMOS Berhad
• Software Dev. Lab, Software Development & Central Engineering
• 2009 : FOSS.my
MyGOSSCON
Me
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
“Enterprise == ?”
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
Enterprise PHP
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
BA
Designer
Project Lead
DBA Tester
PM
Sys. Ad
PHP Geek
TEAM
Enterprise PHP
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
TEAMRequirement
•Customer need this …•User want that …•My boss add this …•My BA... more headache …
Enterprise PHP
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
TEAMRequirementArchitecture
•Design Diagrams (Technical )•HLD•Blueprint
Enterprise PHP
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
TEAMRequirementArchitectureTools
•Planning•Development•Deployment
Enterprise PHP
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
TEAMRequirementArchitectureToolsFoundation
•Stable?•Framework vs No-Framework•On Your Own Frame to-do work
Enterprise PHP
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
TEAMRequirementArchitectureToolsFoundationDesign patterns
•Best practice of solving probs.•MVC?
Enterprise PHP
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
TEAMRequirementArchitectureToolsFoundationDesign patternsTesting
•Developer, Unit, Functional, Performance, Integration,Usability
Enterprise PHP
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
TEAMRequirementArchitectureToolsFoundationDesign patternsTestingOptimization
•They want it fast•We need
•Accelerator (eAccelerator, Alternative PHP Cache, ionCubePHP Accelerator,Turck MMCache,XCache,NuspherePhpExpress,Zend Optimizer+,Zend Platform •Cache (Smarty, Zend_Cache, Memcached)
Enterprise PHP
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
TEAMRequirementArchitectureToolsFoundationDesign patternsTestingOptimizationSecurity
•Prevention of harmful event(s)•Real Risk•Severe consequences
Enterprise PHP
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
TEAMRequirementArchitectureToolsFoundationDesign patternsTestingOptimizationSecurityDeployment
•Develop, Test, Deploy (Test, Live)•Simple XAMPP to HA, Scalable architecture
Enterprise PHP
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
TEAMRequirementArchitectureToolsFoundationDesign patternsTestingOptimizationSecurityDeploymentOperation
•Helpdesk•Monitoring•Root cause analysis•Change management
Introduction : Enterprise PHP
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
TEAMRequirementArchitectureToolsFoundationDesign patternsTestingOptimizationSecurityDeploymentOperation
www.mimos.my © 2009 MIMOS Berhad. All Rights Reserved.
Desktop Application
• Why DA using WA?
• WA : one of world’s most popular client application technology solutions
Openness (standards)
Cross platform
Develop, Deploy and Maintain (Easy)
Introduction
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
• Why DA using WA?
• DA
More responsive feel
Complete access to local sys
Offline functionality
Multimedia
Desktop Application
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
• To build web applications : People, tools, skills, and technology
• To build desktop applications : Existing resources?
• Faster deployment to production
• Maintain existing codebase (Platform)
• Proprietary tools and specialized skills
Desktop Application
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
• Native apps using web technologies that already mastered
• Cross platform apps from a shared codebase
• Open source, open standards
DA With WA. Possible?
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
www.mimos.my © 2009 MIMOS Berhad. All Rights Reserved.
PHP Desktop Development
PHP-GTK
• PHP extension that implements language bindings for GTK+.
• Provides an OO interface to GTK+ classes & functions
• Simplifies writing client-side cross-platform GUI applications.
PHP Desktop Development
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
Winbinder
• Open source extension for PHP
• Allows PHP programmers to easily build native Windows applications.
PHP Desktop Development
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
Phalenger
• PHP implementation on the PHP language into the family of compiled .NET languages.
• Provides PHP applications an execution environment, compatible with array of existing PHP code.
• Benefit from both the ease-of-use and effectiveness of the PHP language and the power and richness of the .NET platform
PHP Desktop Development
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
Adobe AIR (Adobe Integrated Runtime)
• Cross-operating system runtime that enables usage of existing HTML/Ajax, Flex, or Flash web development skills and tools to build and deploy rich Internet applications to the desktop.
• Adobe AIR applications support native desktop integration :
clipboard
drag-and-drop support
local file IO
system notification …more.
PHP Desktop Development
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
Appcelerator Titanium
• Open source platform for building desktop & mobile applications using web technologies
• Build applications using standard HTML, CSS and JavaScript—as well as server-side technologies
PHP Desktop Development
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
www.mimos.my © 2009 MIMOS Berhad. All Rights Reserved.
Comparison :
PHP Desktop Development
PHP Desktop Development Head-2-Head
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
Language / env.
PHP-GTK WinBinder Phalenger AIR Titanium
Platforms Linux, Unix, BeOS, OSX, Windows
Windows Windows Linux, Win32, Mac OS X
Linux, Win32, Mac OS X
Native No Yes Yes Yes Yes
Programming models
Object-oriented Procedural and object-oriented
Object-oriented Object-oriented Object-oriented
Footprint 1.8-6.5 MB 130kB 12MB 15MB 6MB
License LGPL BSD Custom License Proprietary Apache 2.0
Current status
Mature, stable Under development
Stable, Noupdates since 2008
Mature, stable Rapidly moving, stable
PHP Desktop Development Head-2-Head
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
Language / env.
PHP-GTK WinBinder Phalenger AIR Titanium
Platforms Linux, Unix, BeOS, OSX, Windows
Windows Windows Linux, Win32, Mac OS X
Linux, Win32, Mac OS X
Native No Yes Yes Yes Yes
Programming models
Object-oriented Procedural and object-oriented
Object-oriented Object-oriented Object-oriented
Footprint 1.8-6.5 MB 130kB 12MB 15MB 6MB
License LGPL BSD Custom License Proprietary Apache 2.0
Current status
Mature, stable Under development
Stable, Noupdates since 2008
Mature, stable Mature, stable
www.mimos.my © 2009 MIMOS Berhad. All Rights Reserved.
Titanium
• Future of Open Source RIA?
• Build applications that have :
Better performance
Full control over OS-specific UI, database access
Offline functionality, notifications, and multimedia.
Deploy as Linux applications, Windows, OSX, or all those three from one code base
1/10th the memory of Adobe AIR apps
VVIP access to the local system.
Cloud services
Titanium
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
• Apache 2.0 License
• Open source SDK
• Mobile: iPhone OS, Android
Titanium
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
• Desktop: Linux, Win32, Mac OS X (Intel)
• No knowledge of Objective-C, Java, .NET or other structured programming languages is required.
Titanium
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
• Enterprise applications
• Data-driven web service clients
• Web service mash-ups
• Social utilities
• Casual games
• * Cross-platform
Titanium : Destination
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
Titanium Platform
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
Titanium Developer 0.8.2
Titanium Desktop : Architecture
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
PHP
Platform
Process
Python
Ruby
UI
UpdateManager
Worker
Titanium Desktop : API
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
Analytics
App
Blob
Codec
Database
Desktop
Filesystem
JSON
Media
Network
Notification
Titanium Mobile : Architecture
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
Geolocation
Gesture
Media
Network
Platform
UI
Yahoo
Titanium Mobile: API
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
API
Accelerometer
Analytics
Database
Filesystem
• Is a Titanium Application
• Create and manage project(s)
• Deploys code to simulators
• Developer also helps with testing and packaging for devices
Titanium Developer (Studio)
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
Titanium Developer
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
• http://www.appcelerator.com
• http://github.com/appcelerator
• http://www.codestrong.com/titanium
Resources
www.mimos.my © 2010 MIMOS Berhad. All Rights Reserved.
THANK YOU
www.mimos.my © 2009 MIMOS Berhad. All Rights Reserved.