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

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

Embed Size (px)

Citation preview

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

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

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

MasoudKamali

CEO, S&S Media

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

Sebastian Meyen

CCO, S&S Media

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

S&S Media: Brands

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

S&S Media: Offices

• Germany– Frankfurt/Main

(Headquarter)– Potsdam–Munich

• India– Bangalore

• Singapore• Indonesia– Jakarta

• USA– San Francisco

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

Who are you?

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

Who are you?

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

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

Technology

DesignBusiness

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

Tech Requirements

•Business Agility•Scalability•Connectivity

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

User 99

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

User 03

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

User 08

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

Technology Stacks

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

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

Java

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

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

Emphasis on Standards

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

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

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

Java

• References: All Fortune 1000 Companies worldwide

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

Requirement Check

•Business Agility: •Scalability: •Connectivity:

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

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++, …

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

Microsoft .NET

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

=> Windows Live

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

Requirement Check

•Business Agility •Scalability •Connectivity

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

PHP

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

community could also work without them)

• Dynamic Language

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

PHP

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

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

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

Requirement Check

•Business Agility •Scalability •Connectivity

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

Perl, Python

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

• Python – capable to adopt new technology paradigms

• Dynamic Languages

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

Requirement Check

•Business Agility •Scalability •Connectivity

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

Ruby/Rails

• Newcomer• Dynamic Language• Ingenious concept (adopted by

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

• Community driven

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

Requirement Check

•Business Agility •Scalability •Connectivity

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

Job statistics

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

Job statistics

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

User Interfaces / RIA

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

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

Ajax & JavaScript

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

mature• The „real“ big Internet players

love JavaScript

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

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

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

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

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

JavaFX

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

days)• Targeting both: Designers and

Programmers

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

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

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

Everything in the Web is based on

XML

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

Architecture

• Every technology needs to be architected

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

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

Agility

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

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

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

Open Source

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

of speech)• Intellectual Property• Wikinomics

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

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/

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

Questions?

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