470 likes | 574 Vues
Explore the best technology for your Web 2.0 project. Understand the advantages, compatibility, and scalability of Java, PHP, Flash, and Ruby on Rails. Learn about user interfaces, job statistics, and more to make an informed decision.
E N D
Java, PHP, Flash or Rails? Choose the right technology for your Web 2.0 job! Masoud Kamali, Sebastian Meyen
Masoud Kamali CEO, S&S Media
Sebastian Meyen CCO, S&S Media
Germany Frankfurt/Main(Headquarter) Potsdam Munich India Bangalore Singapore Indonesia Jakarta USA San Francisco S&S Media: Offices
Who are you? • Techie? • Company? • Startup • SMB • Enterprise
Business Design Technology
Tech Requirements • Business Agility • Scalability • Connectivity
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
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
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/