da with wa - desktop apps with web apps

Post on 18-May-2015

1.710 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

phptechtalk 2010, MIMOS PHP COE

TRANSCRIPT

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

Facebook

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.

top related