Java, PHP, Flash or Rails? Choose the right technology for your Web 2.0 job! Masoud Kamali, Sebastian Meyen
Jan 06, 2016
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?