Java, PHP, Flash or Rails? Choose the right technology for your Web 2.0 job! Masoud Kamali,...

Post on 26-Mar-2015

213 views 0 download

Tags:

transcript

Java, PHP, Flash or Rails? Choose the right technology for your Web 2.0 job!Masoud Kamali, Sebastian Meyen

MasoudKamali

CEO, S&S Media

Sebastian Meyen

CCO, S&S Media

S&S Media: Brands

S&S Media: Offices

• Germany– Frankfurt/Main

(Headquarter)– Potsdam–Munich

• India– Bangalore

• Singapore• Indonesia– Jakarta

• USA– San Francisco

Who are you?

Who are you?

• Techie?• Company?–Startup–SMB–Enterprise

Technology

DesignBusiness

Tech Requirements

•Business Agility•Scalability•Connectivity

User 99

User 03

User 08

Technology Stacks

• Java• Microsoft .NET• PHP• Perl• Python • Ruby / Rails

Java

• Java = Programming Language• Java = Programming Platform• Languages: Java, Groovy, JRuby,

Scala, Rhino, Fan, …• Compatibility Mantra – Big

Emphasis on Standards

Java

• „Strategic“ Open Source• Sun plays a central role (but the

community could also work without them)

• Java Friends: Oracle, SAP, IBM, HP, Red Hat, …

• More Java Systems: Eclipse, Netbeans, Android

Java

• References: All Fortune 1000 Companies worldwide

Requirement Check

•Business Agility: •Scalability: •Connectivity:

Microsoft .NET

• „Internal“ Compatibility is excellent

• „External“? Microsofts Commitment to standards (but always loves its own products more than others)

• Multiple Language Platform: VB, C#, ASP.NET, C++, …

Microsoft .NET

• Always creating its own flavors–SaaS => S+S–Flash/RIA & Co. => Silverlight–Google, Salesforce, & Co.

=> Windows Live

Requirement Check

•Business Agility •Scalability •Connectivity

PHP

• „Grassroot“ Open Source• Community driven• Zend plays a central role (but the

community could also work without them)

• Dynamic Language

PHP

• High number of Frameworks, Tools, Components–Content Management–Blogs, Wikis–Architecture Frameworks

• References: Facebook, Yahoo!, Wikipedia, Sixt Car Rental, …

Requirement Check

•Business Agility •Scalability •Connectivity

Perl, Python

• Perl is Old School – but still providing Web 2.0 virtues

• Python – capable to adopt new technology paradigms

• Dynamic Languages

Requirement Check

•Business Agility •Scalability •Connectivity

Ruby/Rails

• Newcomer• Dynamic Language• Ingenious concept (adopted by

many others) –Convention over Configuration–DRY (Don‘t repeat yourself)

• Community driven

Requirement Check

•Business Agility •Scalability •Connectivity

Job statistics

Job statistics

User Interfaces / RIA

• Ajax, JavaScript• Flash, Flex• Silverlight• JavaFX

Ajax & JavaScript

• Runs (almost) everywhere• JavaScript is maturing these days• Frameworks, Libraries still not

mature• The „real“ big Internet players

love JavaScript

Flash, Flex

• Flash Runtime almost on every machine

• Mature technology• Designers love flash;

programmers hate it• Flash combined with Flex is a

real programming platform

Silverlight

• Microsofts new baby• Mature technology? (Silverlight 2.0)• Targets both: – designers („Expression“) – programmers („Visual Studio“)

• (Almost) platform independant (Firefox, Mac OS X)

• Impressive references: NBA, Olympics

JavaFX

• Sun Microsystems new baby• „Next Gen Java Applets“• Not mature yet (Previews these

days)• Targeting both: Designers and

Programmers

More technology stuff• Mashups– Ad hoc integration

• Web Services– Using the network– Amazon Web Services

• SOA – The heawy weight approach

• SaaS– Single Services or even application

platforms

Everything in the Web is based on

XML

Architecture

• Every technology needs to be architected

• Ad hoc applications:–No Flexibility–No Extensibility–No Scalability

Agility

• Communication between business people, designers, technologists is sometimes not easy

• Agile Processes–Extreme Programming–Scrum–Crystal–Feature Driven Development

Open Source

• Strategic vs. Grassroot• Freedom (Free beer vs. Freedom

of speech)• Intellectual Property• Wikinomics

Resources

• Open Source Software: http://ohloh.com

• Job Trends: http:// indeed.com• Tech Trends: http:// tiobe.com• Agility:

http://en.wikipedia.org/wiki/Agile_software_development

• Wikinomics: http://www.wikinomics.com/book/

Questions?