java 20年史 (jjug ccc 2015 春 基調講演)

Post on 15-Jul-2015

2.497 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Java 20年史

自己紹介

河村嘉之

日本Javaユーザグループ

創設メンバー

副会長

初めて触れたJavaのバージョン

1.0

1995

2015

今日のお話

Javaの20年

1995.5.23

Java リリース

Java リリース

1995/5/23 Sun World Conference

JDK 1.0 リリース

1996/1

Java

Write Once, Run Anywhere

Java仮想マシン

オブジェクト指向

ポインタなし

Networkを意識したAPI群

スレッド

1995〜2000

JDK 1.1

1997年2月リリース

新機能

国際化!

AWTイベントモデルの再構成

内部クラス

リフレクション

Java Beans

JDBC

Java RMI

J2SE 1.2

1998年12月リリース

呼び名がJava 2へ

新機能

Swing

JITコンパイラ (Sun製)

Java IDL (CORBAとの相互運用)

コレクションフレームワーク

Servlet

Servlet

HTTPリクエストを受け取ってサーバ側でJavaを実行し処理をする仕組み

1.0 1997/01

2.1 1998/11

Java Servlet Development Kit (JSDK)

Apache Jserv

EJB

Enterprise Java Beans

Javaエンタープライズアプリケーションのコンポーネント化技術

当初はネットワーク上のリモートオブジェクトとして提供

EJB1.0 1998/3

EJB1.1 1999/12

EJB2.0 2001/8

EJB2.1 2003/11

コンポーネントの再利用

J2SE・J2EE・J2ME

1998年発表

J2SE → Java 2 Standard Edition

J2EE → Java 2 Enterprise Edition

J2ME → Java 2 Micro Edition

Tomcat

Apache Software Foundationから1999年にRelease

Servlet & JSPを実行するためのWebコンテナ

ブラウザ戦争

Netscape Navigator

1994年に1.0がリリース

1995年 JavaScriptサポート

Internet Explorer

Microsoftが1995年にリリース

Internet Explorer 6のリリースは2001年

1995〜2000

2000〜2005

Struts

Craig McClanahanが開発し、2000/5にApache Foundation

に寄贈されたMVCフレームワーク

2005年にトッププロジェクトへ昇格

1.x系最終リリース 2008/10 (2013/4サポート終了)

2.x系

Spring Framework

Rod Johnsonが開発したサーバサードJavaのフレームワーク

2002年10月リリース

IoC / DI

J2SE 5.0

2004/9/30 リリース

J2SE 5.0の新機能

Generics

アノテーション

拡張for文

Enum

Javaの大改造1回目

Webサービス

SOAP、RESTなどHTTPなどのインターネット技術を通してメッセージの送受信可能なサービス

当初は実験的なサービスが中心

バックエンド連携にもWebが広がる

2000〜2005

2005〜2010

Java EE 5

Java 2 Enterprise Edition

2006年5月リリース

新機能

アノテーション対応

DI

POJO化

JPA

Javaとオープンソース

Java リリース当時

新しい技術はSun/IBMなどの大企業から

2000年代中頃からの傾向

新しい技術はオープンソースから

オープンソース→標準という流れ

Javaオープンソース化2006/11/13

Java SE 6

Java 2 Standard Edition 6.0

2006年12月リリース

新機能

スクリプト言語サポート / Rhinoの組み込み

JDBC 4.0 / JavaDB

JAXB 2.0 / StAX parser

JAX−WSの向上

Java EE 6

2009年12月リリース

新機能

CDI

Bean Validation

JAX−RS

日本Javaユーザグループ創設2007/4/23

JavaScriptの再生

Ajax

Asynchronous JavaScript + XML

ページ遷移だけではないWebページの表現が可能に

Web 2.0

APIを使ったサービスのMashupなど

ブラウザの役割の変化

ページを見るツール

→ Webアプリケーションのクライアント実行環境

第2次ブラウザ戦争

Firefox

源流は1998年のNetscape Communicatorのオープンソース化

Mozilla Foundationが提供するWebブラウザ

Mozilla Firefox 0.8 2004/2リリース

Chrome

Googleが提供するWebブラウザ

2008/12リリース

Internet Explorer 6のレガシー化

スマートフォン・タブレット

iPhone

2007年1月 Macworld Expoで発表 (6月発売開始)

iPad

2010年1月発表 (4月発売開始)

Android

2007年11月 Open Handset Allianceを通じて概要が発表

2008年9月初の商用端末

クラウド

コンピューティングリソースをインターネットの向こう側に持っていく

リソースの提供形態

SaaS – アプリケーション

PaaS –プラットフォーム

IaaS – インフラ

2005〜2010

2010〜2015

Sun 買収

Java SE 7

2011年7月リリース

約5年ぶり

新機能

Project Coin (言語仕様の小さな変更)

NIO.2

InvokeDynamic

Fork/Join Framework

Java EE 7

2013年5月リリース

新機能

WebSocket

JSONサポート

Concurrency Utilities

バッチ

HTML5対応 (JSF、JAX−RS)

Java SE 8

2014年3月リリース

新機能

Lambda式への対応

Stream

Date and Time APIの追加

Type Annotation

新JavaScriptエンジン Nashorn

JavaFX 8 (JavaFXのJDKに対する統合)

コンパクトプロファイル (小さなデバイス向けのSEのサブセット)

Javaの大改造2回目

Internetに参加する”もの”

IoT

Internet of Things (もののインターネット)

今までに考えられなかった“もの”のネットワークへの参加

Wearable

今まで収集されなかったデータを集める機会

Big Data

生成されるデータの増大

収集・蓄積されていくデータ

集まると見えてくるもの

2010〜2015

Javaの20年とは?

Internet

ComputerとNetworkの遍在

Software is eating the worldMarc Andreessen, 2011

http://www.wsj.com/articles/SB10001424053111903480904576512250915629460

2035

The best way to predict

the future is to invent it.(未来を予測する最善の方法は、

それを発明することだ)Alan Kay, 1971

創ろう!

Happy 20th Anniversary, Java!

top related