Java overview 20131022


Published on

This slide is a shot overview to Java from start up to now. Where we were? Where we are? Where we’re going? Know how. Was hold in Lindholmen October, 2013

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Java overview 20131022

  1. 1. Java > where we were? > where we are? > where we’re going? & know how
  2. 2. About me: Java developer since 1995 CEO Solid Beans AB CEO Matchup AB Java Instructor for PrimeFaces Nordic agent Event organizer jDays Event organizer Android Forum Göteborg
  3. 3. Where we were? In June 1991: James Gosling starts working on an interpreter (called "Oak"), which, several years later is renamed "Java." Source File Compiler Executable File
  4. 4. Where we were? In August 1991: - A small group of Sun engineers called the "Green Team“, led by James Gosling, demonstrates basic user interface ideas and graphics system to Suns co-founders - They believed that the next wave in computing was the union of digital consumer devices and computers
  5. 5. Where we were? From 1991 to 1995: Events & evolution such as: - Mosaic 1.0, the first graphical browser for the Internet, is released - Interactive Cable TV - Java compiler in Java has been implemented (James had previously implemented it in C) - Java compatible browsers (Netscape)
  6. 6. Where we were? From 1991 to 1995: This concept was too much advanced for the industry at the time BUT it was just right for the Internet, which was just starting to take off. In 1995, the team announced that the Netscape Navigator Internet browser would integrate with Java technology.
  7. 7. Where we were? So: - The first programming language was created, a cross-platform computing environment NOT tied to any particular operating system or microprocessor! - Applications written in Java will run anywhere - Eliminating incompatibility between operating systems and versions of operating systems.
  8. 8. Where we were? Java Iterpreter Java Virtual Machine Compiler Operating System Interpreter Windows Interpreter Unix Interpreter MacOS
  9. 9. Where we were? Java Technology consists of: - Java Language: used to develop software for mobile devices, browser-run applets, games, desktop, enterprise (server-side), and scientific applications - Java Platform: consists of Java Virtual Machine (JVM) responsible for hardware abstraction - Java Tools: like java compiler
  10. 10. Where we were? Java Development Kit 1.0 was released on January 23, 1996 JDK API
  11. 11. Where we were? JDK releases: - 1995 Alpha & Beta - 1996 JDK 1.0 > Basic support for AWT - 1997 JDK 1.1 > JavaBeans, RMI, AWT, JDBC, servlets, JNDI, EJB - 1998 Java 1.2 > Reflection, Swing, Java Collections Framework, plug-in, … Becomes known as Java 2, Port to Linux.
  12. 12. Where we were? - 1999 XML support, JavaServer Pages, Java Editions (J2ME, J2SE, J2EE) … - 2000 J2SE 1.3 RMI/CORBA, JavaSound, … - 2002 J2SE 1.4 … - 2004 J2SE 5 New languages futures, @ … - 2006 Java SE 6 - 2011 Java SE 7 - 2014/01/23 Java SE 8 Final Release Candidate
  13. 13. Where we are? - 9 Million Java Developers Worldwide - #1 Choice for Developers - #1 Development Platform - 3 Billion Mobile Phones Run Java - 100 Percent of Blu-ray Disc Players Ship with Java - 97 Percent of Enterprise Desktops Run Java - 5 Billion Java Cards in use - 7 Billion Java Cards sold - 89% of desktops run java - 125 million TV devices run java Source: JavaOne 2013 Strategy Keynote
  14. 14. Where we are? Also Many embedded devices are based on Java: set-top boxes, printers, web cams, games, car navigation systems, lottery terminals, medical devices, parking payment stations, etc
  15. 15. Where we are? - Java is not a new programming language any more. - From early 1995 until now we have seen how it has developed from a JDK (Java Development Kit) to Java EE (Enterprise Edition) and new Java Open Source frameworks and technologies. - At the beginning, Java was about a few packages and APIs you could use to solve small problems. But, what about now, when Java has branched out into several technologies and Open Source frameworks?
  16. 16. Where we are? There are four Java Platforms: 1) Java Standard Edition (Java SE) 2) Java Enterprise Edition (Java EE) 3) Java Micro Edition (Java ME) 4) JavaFX ME SE EE JavaFX
  17. 17. Where we are?
  18. 18. Where we are? Java SE
  19. 19. Where we are? Java EE Built on top of the Java SE platform, for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications
  20. 20. Where we are? Java ME - APIs & small virtual machine for running java programming language applications on small devices, like mobile phones. - A subset of the JavaSE API - Java ME applications are often clients of Java EE platform services
  21. 21. Where we are? Java FX: a platform for creating rich internet applications using a lightweight user-interface API
  22. 22. Where we’re going? Open Source Many APIs & tools o o o o o o o o o o o o o o o o o o Ajax AOP Bloggers Build system Business Intelligent ByteCode Libraries CMS (Content Management System) Cache Solutions Charting & Reporting Tools Chat servers Code analyzer Code Coverage Tools Collection Libraries Command line interpreters Database Connection Pools ERP & CRM Software Eclipse plugins Expressions language Spring Primefaces Hibernate ... OPEN SOURCE
  23. 23. Where we’re going? Open Source Many APIs & tools o o o o o o o o o o o o o o o o o o Financial Software Forum Software HTML parsers IDEs Tracking software JEE frameworks JDBC drivers JMS JMX tools scheduler Localization & Internationalization Tools Logging tools Mail clients Network clients/servers NoSQL Databases PDF Libraries Parser Generators Persistence Frameworks Portals
  24. 24. Where we’re going? Open Source Many APIs & tools o o o o o o o o o o o o Project management tools SQL clients Scripting Languages Search engine Security & Cryptography tools Control Tools Swing Frameworks & Components Template Engines Testing tools Text processing UML & Modeling Validation frameworks o Web frameworks o o o o o o o Web mail clients Web servers Web services tools Web testing tools Wiki engines XML parser XML UI Toolkits o o o o o o o ... .... ...... ........ .......... ........... ............
  25. 25. Where we’re going? Open Source Many APIs & tools Open Source Web frameworks Struts JPublish Turbine Jucas Tapestry MyFaces WebWork (Struts 2) WebOnSwing Cocoon VRaptor Spring MVC IceFaces (JSF library) Maverick RichFaces (JSF library) Echo PrimeFaces (JSF library) Play! Swinglets SOFIA Wicket Verge Swingweb
  26. 26. Where we’re going? Open Source Many APIs & tools Open Source Web frameworks Trimpath Junction Brill Macaw jZeno Makumba ztemplates Calyxo Aranea Web Framework RIFE Google Web Toolkit DWR Hamlets JOSSO Aurora JAT ThinWire OpenXava Pustefix Click RSF Stripes Roma Meta Framework
  27. 27. Where we’re going? Open Source Many APIs & tools Open Source Web frameworks Mentawai wingS fleXive Helma jWic Vaadin Flower framework Wro4j Vroom Anvil Induction Japple Sombrero ... AribaWeb JVx Pandora SK
  28. 28. Where we’re going? Open Source New languages build on JVM
  29. 29. Where we’re going? Open Source New languages build on JVM Why Scala over Java: - Increased productivity due to reduced verbosity - Developers can mix and match imperative and functional programming paradigms as needed - Built-in functionality for parallelism and concurrency
  30. 30. Where we’re going? Open Source New languages build on JVM
  31. 31. Where we’re going? Open Source New languages build on JVM
  32. 32. Opportunity or concerns Now, we have a problem to solve: “there are too many choices” How do we select now? - Opportunity? - Concern?
  33. 33. SW Engineering Many factors are involved in SW engineering!
  34. 34. Know how! - Usability: focusing on end users - Focusing on problems: not technologies, tools and platforms, select the easiest ones - Be realistic: obtainable competence - Make a list of what is important for your Software lifecycle. Identify/prioritize them & then select - You can change your mind: most of your technology choices can change
  35. 35. Know how! - Easy & Quick: select a SW that you know to be easier and quicker to prototype. - Standard vs. Open Source: check the open source products licenses. Open Source != Free Software - Start with capabilities, not implementations - Cost: consider the total cost - Involve your team early - Testing and deployment: software that makes testing difficult should be avoided
  36. 36. Know how! - Avoid Lock-in: e.g. if SW has limitation, runs on a certain Operative System or environment - New versus existing software: reuse
  37. 37. Thank you for listening More Java? visit November, 26-27, Gothenburg