2018年03月08日
オープンソース活用研究所 所長 寺田雄一
「Oracle JDKの有償化」の状況について2回に分けて紹介します。
第1回目として「Javaリリースモデル変更」と「Oracle JDKの有償化」について紹介します。
※紹介する内容は2018年2月時点の情報です。
「Oracle JDK」とは、Oracle社が提供しているJava用ソフトウェア開発キットです。主要コンポーネントとして多くのプログラミングツールが含まれています。
Java開発ツールキットとして世界中で多くのユーザーが利用しています。
「OpenJDK(Open Java Development Kit)」は、Java開発環境のオープンソース実装です。
Oracle社は、「Oracle JDK(有償版)」で提供していた機能をオープンソース化してOpenJDKプロジェクトに寄贈し、「OpenJDK」にも含めるように作業を進めています。
Java 11がリリースされる予定の2018年9月にこの作業を完了し、「Oracle JDK(有償版)」と「OpenJDK」は、機能および品質の両面において同じものになる予定です。
Javaのリリースモデルが「機能ベースのリリースモデル」から「タイムベースのリリースモデル」に変更されることになりました。
Java 9以後は、「毎年3月と9月」の年2回のタイムベースサイクルで、メジャーバージョンアップが実施される予定です。
・2017年9月 「Java 9」リリース
・2018年3月 「Java 10」リリース予定
・2018年9月 「Java 11」リリース予定
※以降6ヶ月ごとにメジャーバージョンリリース
マイナーバージョンは、年4回(1月、4月、7月、10月)のペースでリリースされる予定です。
バージョンアップの基本ポリシーは次のように定められています。
・メジャーバージョンアップ=機能の追加変更など
・マイナーバージョンアップ=バグフィクスやセキュリティ対応変更のみ
Javaは、これまで「機能ベースのリリースモデル」を採用し、大きな機能追加に合わせてメジャーバージョンアップを行ってきました。
しかし、新機能開発には長い時間を要し、開発スケジュール遅延なども発生していました。
・「Java 6」から「Java 7」 4年8カ月
・「Java 7」から「Java 8」 2年8カ月
・「Java 8」から「Java 9」 3年6カ月
安定を重視するエンタープライズシステム開発においては、頻繁に機能が変化しない点は好まれていましたが、他の開発言語と比較した場合、先進的な面で遅れてしまっているという指摘が増えてきていました。
Javaは、従来の「機能ベースのリリースモデル」を改め「タイムベースのリリースモデル」に移行することで、より速いペースで先進的な機能を取り込み、前進させようとしています。
Javaのリリースモデルが変更される一方で、Oracle社は「Oracle JDK」の長期サポート版(LTS:Long Term Support)の有償化を発表しました。
『Oracle JDKの長期サポート提供は、Oracle社と商用サポート契約を結んでいる顧客に対してのみ提供される』とされています。この新しいモデルはJava 9以降に適用されるとされています。
つまり『Oracle JDK(LTS版)を入手し、Oracle社の長期サポートを受けるためには、Oracle社との契約が必須になる』ことを意味しています。
これは「Oracle JDK」を利用してエンタープライズシステムなどを開発してきた企業などには、非常に大きな影響が発生することになります。
関連記事
→Oracle JDKの有償化②---Oracle JDK有償化に伴うサポート内容変更
1993年、株式会社野村総合研究所(NRI)入社。 インフラ系エンジニア、ITアーキテクトとして、証券会社基幹系システム、証券オンライントレードシステム、損保代理店システム、大手流通業基幹系システムなど、大規模システムのアーキテクチャ設計、基盤構築に従事。 2003年、NRI社内に、オープンソースの専門組織の設立を企画、10月に日本初となるオープンソース・ソリューションセンター設立。 2006年、社内ベンチャー制度にて、オープンソース・ワンストップサービス「OpenStandia(オープンスタンディア)」事業を開始。オープンソースを活用した、企業情報ポータル、情報分析、シングルサインオン、統合ID管理、ドキュメント管理、統合業務システム(ERP)などの事業を次々と展開。 オープンソースビジネス推進協議会(OBCI),OpenAMコンソーシアムなどの業界団体も設立。同会の理事、会長や、NPO法人日本ADempiereの理事などを歴任。 2013年、NRIを退社し、株式会社オープンソース活用研究所を設立。
「cifuzz」とは 概要 「cifuzz」は、「ファズテスト」を作成するためのオープンソースのコマンドラインツールです。 ファズテスト(ファジングテスト)とは・・・ ファズテスト(フ...
「Finch」(フィンチ)とは、コンテナ開発用のオープンソースCLIクライアントです。コンテナをローカルで作成して実行し、OCI(Open Container Initiative)コンテナイメージをビルドして公開できます。既存プロジェクトでも活用可能で、コンテナをインストールして、実行と構築を開始できます。
「DevSpace」(デブスペース)とは、オープンソースのKubernetes環境用開発ツールです。クラウドネイティブソフトウェアを迅速に開発し展開できるようにするために、Docker+Kubernetesを使用してアプリケーションを「開発」「デプロイ」「デバッグ」するために必要なすべての機能を提供します。
「Spring Boot」は、Javaプラットフォーム向けオープンソースアプリケーションフレームワーク「Spring」をベースとした開発環境です。本番環境グレードのスタンドアロンアプリケーションを簡単に作成できます。Springアプリケーションのセットアップに必要なボイラープレート構成を排除し、より高速で効率的な開発エコシステムとして機能します。
Ionic Framework(イオニックフレームワーク)とは、オープンソースUIツールキットです。JavaScript+標準Web技術を使用して、単一コードベースから「クロスプラットフォームネイティブアプリ」および「プログレッシブWebアプリ」を構築できます。
Go言語(ゴー言語)とは、Googleによって開発されたオープンソースのプログラミング言語です。プログラマーの生産性を向上させるために、シンプルで効率的なコーディングを行えるように設計されています。特に、並列処理を簡単に記述できる特徴があり、ネットワーク化されたマシンを最大限に活用するプログラムを作成できます。
Eclipse(エクリプス)とは、オープンソースのクロスプラットフォーム高機能統合開発環境(IDE)です。プラグイン機構により、ほぼすべての言語とアーキテクチャに対応しています。Java開発においては標準的な開発環境になっており、数々の機能強化と安定性強化が続けられています。
Apache Axis2(アパッチアクシス ツー)とは、「Java+XML技術」に基づいたWebサービスフレームワークです。「Apache Web Servicesプロジェクト」のサブプロジェクトとしてスタートした「Apache Axis」の後継プロジェクトであり、内部構造が大幅にブラッシュアップされています。
OSS-Fuzz(オーエスエス ファズ)とは、Google製のオープンソースソフトウェア向け継続的ファズテストツールです。複数ツールを組み合わせて「ファジング手法+分散実行」によりソフトウェア脆弱性を検出します。予測不可能な入力データを入力し、意図的に例外を発生させ、その応答を監視することで脆弱性を検出します。
Concourse CI(コンコース シーアイ)とは、パイプラインベースのCI/CD(継続的インテグレーション/デリバリー)ツールです。タスクの集まりをパイプラインとして記述することでビルドパイプラインを実行し可視化できます。プロジェクトをCIの細部から切り離すプラクティスを奨励します。
React(リアクト)とは、Facebook製のJavaScriptライブラリです。Webアプリケーションのユーザーインターフェースを効率的に構築することを目的としており、主にView部分を実装します。「堅牢」「スケーラブル」「メンテナンスしやすい」アプリケーションを構築できます。
Hibernate(ハイバネート)とは、JavaプログラミングのためのO/Rマッピングライブラリです。マッピングファイルによって「オブジェクト」と「リレーショナルデータベース上のテーブルおよびレコード」を関連付けて一元管理できます。全体のコード記述量を削減できることで生産性が向上します。
OpenJDK(Open Java Development Kit)とは、JDK(Java Development Kit)のオープンソース実装です。OpenJDKは「Javaランタイムエディション」および「Java Development Kit」の起点を表すコミュニティアップストリームプロジェクトになっています。
Godot(ゴドー)とは、クロスプラットフォームゲームエンジンです。統合されたインターフェースで2Dおよび3Dゲームを開発できます。開発したゲームは「デスクトップOS」「モバイルOS」「HTML5ベース」「コンソール」などにワンクリックでエクスポートできます。
WSO2 API Managerとは、エンタープライズクラスのAPI管理ソリューションです。APIプラットフォームとして、Web APIの「作成」「管理」「使用」「監視」などを実施できます。「開発者用ポータル機能」「APIアクセス制御機能」「APIプロビジョニング機能」「包括的API分析機能」なども提供し、「API+サービス+アプリケーション」全体のガバナンスを強化します。
Karate(カラテ)とは、APIおよびUIのテスト自動化フレームワークです。スクリプトはJava言語に依存していないため、プラグラミング言語知識がないユーザーでも、豊富なサポート機能を利用してテスト用スクリプトを作成できます。マルチスレッド並列実行や分散テスト機能による高速処理も特徴としています。
Appium(アピウム)とは、オープンソースのクロスプラットフォームテスト自動化ツールです。「iOS」「Android」「Windows」の各環境において「ネイティブアプリ」「モバイルWebアプリ」「ハイブリッドアプリ」を自動化してテストを実施できます。
JSON Server(ジェイソン サーバ)とは、JSONファイルを元にしてWebAPIサーバモックアップを作成できる簡易サーバです。構成ファイルを記述するだけで簡単に簡易CRUD APIモックアップを立ち上げられるため、開発中のWebAPIテストなどで活用できます。
R言語(アール言語)とは統計解析に特化したプログラミング言語です。汎用プログラミング言語(Java、C#など)ではなく、データ解析/分析用機能に特化しています。R言語を使用するためには、技術的な言語仕様の理解に加えて、基礎的な統計学知識も必要となります。解析処理をシンプルに記述でき、高度なグラフ化機能も特徴としています。
React Native(リアクトネイティブ)とは、React宣言型UIフレームワークです。「UI構築用JavaScriptライブラリ:React」と「ネイティブ開発」を組み合わせた開発が可能で、AndroidおよびiOSのネイティブアプリケーションを構築できます。
Hermes(エルメス)とは、ReactNative用に最適化されたJavaScriptエンジンです。Facebookが中心となり開発しています。小型かつ軽量で、AndroidでReactNativeアプリを実行するために最適化されており、事前の静的最適化による高速動作を特徴としています。
SonarQube(ソナーキューブ)とは、コード内の「バグ発見」「脆弱性発見」「メンテナンス困難なコード検出」などをサポートする自動コードレビューツールです。すべての開発者がよりクリーンで安全なコードを作成できるように、既存のCI/CDワークフローと統合して、プロジェクトブランチとプルリクエスト全体で継続的なコードインスペクションが可能となります。
Flutter(フラッター)とは、Googleが中心となり開発しているUIツールキットです。単一コードベースから「モバイル環境」や「デスクトップ環境」向けの美しいアプリケーションUIを構築可能で、ネイティブコンパイルによる高速なユーザーエクスペリエンスを提供できます。
Open Lowcode(オープンローコード)とはローコード開発環境です。特定のアプリケーションを迅速かつ正確に構築して、最小限の予算でそれらを拡張できます。「財務アプリ」「タスク管理アプリ」「複雑データ処理アプリ」「セキュリティ管理アプリ」「ワークフローアプリ」などを素早く開発できます。
Mantis Bug Tracker(MantisBT)(マンティスバグトラッカー)とは問題追跡ツールです。プロジェクトチームメンバーと効果的にコラボレーションしながらの問題管理が可能で、ソフトウェアの欠陥を追跡するバグトラッキングツールとして利用できます。
Corteza(コルテザ)とは、自己ホスト型クラウドプラットフォームです。コアテクノロジーとして「統合ワークスペース」「エンタープライズメッセージング」「レコードベース管理ソリューション」「CRM」を安全かつ迅速に提供するためのローコード環境で構成されています。
OSBP(Open Standard Business Platform)とは、Eclipseエコシステムにおけるフルスタックローコードソフトウェア開発環境です。エンタープライズアプリケーションをドメイン固有言語に基づいて簡単な方法でモデリングすることにより実装したい開発者向けに作られています。
Node-RED(ノードレッド)とは、ローコードプログラミング開発ツールです。Node.js上に構築されており、イベント駆動型のノンブロッキングモデルを最大限に活用して、「ハードウェアデバイス」「API」「オンラインサービス」などについて、フローベースプログラミング手法で接続できます。
OpenXavaとは、オープンソースのローコードプラットフォームであり、Javaドメイン駆動型Webフレームワークです。プレーンJavaでドメインクラスのみを記述することで、効率的かつ迅速にエンタープライズWebアプリケーションを開発できます。
ROS(Robot Operating System)とは、ロボット用ソフトウェアプラットフォームです。オペレーティングシステムではなく、ロボットソフトウェア開発用ソフトウェアフレームワークコレクションであり、異種コンピュータクラスタ向けに設計されたサービスを提供します。
Joget Workflow(ジョジェワークフロー)とは、「ローコード」+「ノーコード」のオープンソースアプリケーション開発プラットフォームです。迅速に「ワークフロー」および「ビジネスプロセス管理アプリケーション」を構築し、クラウドおよびモバイルでのビジネスプロセスを自動化できます。
Kong(コング)とは、オープンソースのマイクロサービスAPIゲートウェイプラットフォームです。「クラウドネイティブ」「高速処理」「スケーラブル」「分散型」などの特徴を持ち、すべてのマイクロサービスとAPIを高性能で柔軟なAPIプラットフォームに接続します。
Convertigo(コンバーティゴ)とは、オープンソースのローコードアプリケーション開発プラットフォーム(LCAP)です。「モバイルアプリ」「Webアプリ」「バックエンドサービス」開発向けのフルスタックMXDP(Multi eXperience Development Platform)機能を備えています。
StackStorm(スタックストーム)とは、サービスおよびツール全体の統合および自動化のためのプラットフォームです。既存のインフラストラクチャやアプリケーション環境を結び付けることが可能であるため、特に「イベントに応じたアクション実行」に重点を置いた自動化を実現できます。
VisionX(ビジョンエックス)とは、アプリケーション全体を視覚的に開発できるローコード開発プラットフォームです。Javaオープンソーススタック上に「Webアプリケーション」「デスクトップアプリケーション」「モバイルアプリケーション」を構築できます。
GanttProject(ガントプロジェクト)はプロジェクト管理ソフトウェアです。プロジェクトの進捗について「タスク」「時間」「リソース」などの複数の要素について統合的に管理できます。「ガントチャート」や「PERTチャート」を利用してプロジェクト全体を見渡しながら適切なスケジューリングを行えます。
Skyve(スカイブ)とは、オープンソースのローコードプラットフォームであり、洗練された堅牢でスケーラブルなクラウドソリューションを構築するために必要なすべての主要機能を提供します。少ないコード量と短期間で必要な機能を備えたプロフェッショナルソフトウェアソリューションを開発できます。
「iPLAss」はローコード開発プラットフォームとして、コーディング量を最小限に抑えた迅速なアプリケーション開発を実現します。エンタープライズクラスのシステム開発における生産性向上を主目的として「ノンプラグラミング」または「Java(Groovy)プログラミングベース」で迅速な開発を実施できます。
XAMPP(ザンプ)は、Windows/Linux/Mac環境に「Webアプリケーション開発用必須ソフトウェア」や「各種開発ツール」などの関連ソフトウェアを一括インストールできます。「Apache」+「MariaDB」+「PHP/Perl」によるPHP開発環境を簡単に構築できます。
Apache Jmeter(アパッチジェイメーター)とは、サーバ負荷テスト(パフォーマンス計測)アプリケーションです。サーバに対して大量の各種リクエストを投げかけ、負荷をかけてパフォーマンスを計測します。多数の機能を搭載しており、レスポンス内容の妥当性も判定できるため、条件分岐などを含むテストシナリオを作成し単体機能テストにも使用できます。
Qt(キュート)とは、クロスプラットフォームアプリケーション開発フレームワークです。さまざまなプラットフォームに対して同じコードベースを使用して、「高速動作」「高性能」「直感的」なアプリケーションやUIを開発できます。C++言語で実装されているため、高速動作できる点も特徴です。
Spring Framework(スプリングフレームワーク)とは、Javaプラットフォームを対象とするアプリケーションフレームワークです。「DI(依存性注入)」と「AOP(アスペクト指向プログラミング)」を中核とした豊富な機能を搭載し、効率的にエンタープライズJavaアプリケーションを開発できます。
Ruby(ルビー)は、日本製オープンソースオブジェクト指向プログラミング言語です。「Enjoy Programming!」が設計思想になっていて、主にWebアプリケーション開発に使われています。「シンプル」「読みやすさ」「高機能」が人気となり世界に認められた日本製言語です。
PHP(ピーエイチピー)は、スクリプトタイプのオープンソースプログラミング言語です。サーバサイドで動作するWebアプリケーション開発に適しており、静的なHTMLページにプログラムを埋め込み、動的なWebページを作成することを目的として開発されています。初心者に対して非常に分かりやすいという特徴があります。
Gitは、Linuxカーネルの生みの親「Linus Torvalds」氏が、Linuxカーネルの巨大プロジェクトにおいて、ソースコードを効率良く管理するために開発したものです。巨大プロジェクトにも対応できるように動作速度に重点が置かれています。Gitは「分散型」であるため、ローカルPCの各ユーザのワーキングディレクトリにローカルリポジトリが作成されます。
Python(パイソン)とは、パワフルなオープンソースプログラミング言語です。汎用の高水準プログラミング言語として設計されており、「インタプリタ」「動的型付け」「純粋オブジェクト指向」「インデント強制ルール」などの特徴を持つスクリプト言語です。さまざまな領域に対応できる大規模ライブラリが提供されているため、フレームワークレベルの力を有しています。
※Seasar2は2016年9月26日をもってサポート終了となっています。Seasar2とは、「DI(Dependecy Injection:依存性の注入)」と「AOP(Aspect-Oriented Programming:アスペクト指向プログラミング)」と呼ばれる設計思想に基づく国産オープンソースJavaフレームワークです。
Redmine(レッドマイン)とは、オープンソース「プロジェクト管理」ソフトウェアです。Webベースで、プロジェクトの「タスク管理」「進捗管理」「情報共有」が行えます。バージョン管理システム(GitやSubversionなど)との連携ができるため、「ソフトウェア開発」や「Webサイト制作」などのITプロジェクトで特に威力を発揮します。
Apache Cordova(アパッチコルドバ)とは、オープンソースのアプリケーション開発フレームワークです。Web標準技術を使用して複数のプラットフォームで動作するクロスプラットフォームモバイルアプリをワンソースで開発できます。ネイティブアプリの中に簡易ブラウザ「WebView」を表示し、その中でWebアプリを動作させる仕組みによって実現しています。
MyBatis(マイバティス)とは、JavaのDBアクセス用OSSライブラリでO/Rマッピングツールです。「オブジェクト指向言語におけるオブジェクト」と「データベースに関する処理」を対応づけてソフトウェア開発の生産性を効率化できます。
Anaconda(アナコンダ)とは、「データサイエンス」や「機械学習関連アプリケーション」のためのPythonおよびR言語用のディストリビューションです。必要とするライブラリを1つずつインストールする手間を省くことができ、データサイエンスや機械学習を行うための環境を即座に構築できます。
API Umbrellaは、WebサービスAPIを公開するためのオープンソースのAPI管理プラットフォームです。APIの前に位置するプロキシとして動作し、「APIキー」「レート制限機能」「分析機能」などの一般的な機能をシームレスにAPIに追加できます。
Hackは、PHPとシームレスに相互運用する仮想マシン「HHVM」用のプログラミング言語です。他のモダンプログラミング言語で一般的に見られる多くの機能を追加しながら、「静的型付けによって提供される規律」と「動的型付け言語PHPの速い開発サイクル」により、効率的な開発を実施できます。
Jenkins(ジェンキンス)とは、オープンソース継続的インテグレーション支援ツールです。ソフトウェア開発プロジェクトなどにおける「ビルド」「デプロイ」「テスト」などの作業自動化/効率化を支援します。「ソースコード品質向上」「テスト工数削減」などの効果が得られます。
Xamarin(ザマリン)とはクロスプラットフォームアプリ開発環境です。Xamarinを使用すると、iOSアプリもAndroidアプリもC#で実装できます。ビジネスロジック部分を共通化できるため、効率的な開発を行えます。
SikuliX(シクリ)とは、画像認識を利用したUI操作自動化ツールです。簡単な操作で「テスト作業自動化」や「RPA」用途として利用できます。「検索ボックスに検索ワードを入力して検索ボタンをクリックする」などの視覚的な操作をワークフローとして自動化できます。
CoffeeScript(コーヒースクリプト)とは、JavaScriptベースのプログラミング言語です。簡単な方法でJavaScriptの良い部分を公開しようとする試みとして開発されており、CoffeeScriptで作成したコードはJavaScriptコードにコンパイルされます。JavaScriptと比較して簡潔さと可読性を向上させています。
Julia(ジュリア)とは、科学計算処理向けの高水準/動的プログラミング言語です。比較的新しい言語で「JITコンパイラによる高速処理」「外部ライブラリ連携」などの特徴があります。「実行速度」と「記述性」の両立を目指したテクニカルコンピューティングのためのハイレベルで高性能な科学技術計算向けプログラミング言語として活用できます。
Kotlin(コトリン)とは、マルチプラットフォームアプリケーション用のJVMプログラミング言語で、Androidの正式な開発言語に採用されています。「Java/Androidと100%相互運用可能」「従来のJavaよりシンプルに記述できる」「安全性が高い」などの特徴があります。
Rust(ラスト)とは、「安全性」「速度」「並行性」「実用性」にフォーカスしているプログラミング言語です。関数型/手続き型/オブジェクト指向型などのマルチパラダイム言語で、「C++」に代わる低レイヤーまでを制御できるシステムプログラミングに適した言語を目指しています。
Visual Studio Code(ビジュアルスタジオコード)とは、オープンソースの高機能コードエディタです。軽量動作ながら強力なコーディングサポート機能を搭載し、拡張性にも優れています。主要プログラミング言語に対応し、HTML/CSS/JavaScriptなどのWeb技術を利用するコーディングにも適しています。
PowerShell(パワーシェル)とは、Microsoft社が開発したシェル(スクリプト言語)です。拡張可能で高機能な運用管理機能を提供します。システム管理者やパワーユーザー向けに設計されており、システム管理でよく使われる処理を実行したり、スクリプト化して自動実行を行えます。
Swift(スウィフト)とは、「OS X」「iOS」用ネイティブアプリケーションを開発するためのプログラミング言語です。「モダン」「安全性」「高速性」「インタラクティブ」「最新のソフトウェア設計アプローチ」などの特徴を持つ汎用プログラミング言語として効率的な開発を実施できます。
Laravel(ララベル)とは、PHP向けフルスタックWebアプリケーションフレームワークです。MVC(Model View Controller)アーキテクチャを採用し、表現力豊かで洗練された構文を持ち、高い開発生産性が特徴です。
GitLab(ギットラボ)とは、ソフトウェア開発支援環境で、「GitHub」のようなサービスを社内などのクローズド環境に独自で構築できるGitリポジトリマネージャーです。ローカルで管理できるため、コスト/セキュリティの観点でGitHubを使えない企業から注目を集めています。
Selenium(セレニウム)とは、Webアプリケーションのテスト自動化を実現するブラウザ駆動型テストツール群です。ブラウザ操作からテストスクリプトを作成でき、Webベース管理タスクの自動化も行えます。Webブラウザの自動操作ライブラリとしてさまざまな機能を備えています。
Android Studio(アンドロイドスタジオ)とは、Googleが提供するAndroidネイティブアプリケーション開発用公式統合開発環境(IDE)です。高い生産性で高速で開発ができるように、さまざまな機能やアプリ開発用ツールが搭載されています。
C#(シーシャープ)とは、Microsoftが開発した「.NET Framework」向けマルチパラダイムプログラミング言語です。「.NET Framework」の中核的言語として位置づけられており、タイプセーフなオブジェクト指向型言語です。
なでしことは、日本語プログラミング言語(開発環境)です。日本語の言語感覚でコーディングができるため、プログラミング入門やプログラミング教育に向いている言語です。さまざまな命令(関数)が用意されており、日々の定型処理の自動化など、身近な作業効率化のための実用的アプリケーションも作成できます。
Atom(アトム)とは、オープンソースのプログラマー向けコードエディタです。GitHubが主体になって開発しており、強力な機能拡張性が特徴です。初心者はシンプルなエディタとして利用でき、上級者は各種カスタマイズを行うことで自分が望む理想のエディタに仕上げることができます。
core Flight System(cFS)(コアフライトシステム)とは、NASAが開発したフライトソフトウェア開発用フレームワークです。
.NET Core(ドットネットコア)とは、Microsoftおよび.NET開発コミュニティによって管理されているオープンソースの汎用開発プラットフォームです。
Bootstrap(ブートストラップ)とは、Webサイト/WebアプリをCSSで開発するためのWebフレームワークです。「レスポンシブデザイン」や「グリッドシステム」などの特徴があります。
Arduino(アルデュイーノ/アルドゥイーノ)とは、オープンソースハードウェアとオープンソースソフトウェアに基づくシングルボードマイクロコントローラプラットフォームです。
Drone(ドローン)とは、継続的デリバリープラットフォームです。Dockerベースのパイプラインを構成し、ソフトウェア配信の最適化と自動化をサポートします。
Grails(グレイルズ)とは、Java系言語「Apache Groovy」ベースのWebアプリケーションフレームワークです。Javaアプリケーション構築ツール「Spring Boot」上に構築されており、高い開発生産性が特徴です。
Dojo Toolkit(ドージョーツールキット)とは、JavaScriptツールキットです。Webアプリケーションを構築するために必要な機能を提供します。
GNU Scientific Library(GSL)(グヌーサイエンティフィックライブラリ)とは数値計算用ライブラリです。さまざまな科学技術用計算手法を実装しています。
Vue.js(ビュージェイエス)とは、シンプルで拡張性に優れているJavaScriptフレームワークです。学習コストが低いため導入しやすいメリットがあります。
Oracle JDK(オラクルジェーディーケー)とは通称であり、Oracle社が提供するJava言語用開発ツールキット「JDK(Java SE Development Kit)」を指します。
IntelliJ IDEA(インテリジェイ アイディア)とは、Java言語を中心として多くのプログラミング言語に対応する統合開発環境です。
CodeIgniter(コードイグナイター)とは、PHPフレームワークです。軽量高速動作を特徴としており、フル機能のWebアプリケーションを作成できます。
Pandas(パンダス)とは、Python用データ分析ライブラリです。高性能で使いやすいデータ構造とデータ解析ツールを提供します。データフレーム形式(2次元テーブル形式)を扱うことができ、特に時系列データ分析に向いています。
Meteor(メテオ)とは、フルスタックWebアプリケーション開発プラットフォームです。リアクティブプログラミングを前提とし、JavaScriptでのクロスプラットフォーム開発を行えます。
CakePHP(ケイク ピーエイチピー)とは、PHP実装のWebアプリケーションフレームワークです。「PHP開発者が誰でも素早く快適に開発を行える」を目標として開発されています。
Ryu SDN Framework(リョー エスディーエヌ フレームワーク)とは、SDN(Software Defined Networking)構築フレームワークです。SDNコントローラを開発するためのツールやライブラリを提供します。
GNU Compiler Collection(GCC)(グニューコンパイラコレクション)とは、UNIX互換ソフトウェア群開発プロジェクト「GNU」によって開発されるコンパイラ群です。「多くの言語に対応」「マルチアーキテクチャ」などの特徴があります。
Django(ジャンゴ)とは、Python実装のWebアプリケーションフルスタックフレームワークです。Webアプリケーション/サービスの迅速開発をサポートします。
Mono(モノ)とは、オープンソースの「.NET Framework」互換環境です。.NETクロスプラットフォームアプリケーションを開発できます。同様の開発環境「Xamarin」の基盤になっています。
UroboroSQL(ウロボロスキュール)とは、JavaのシンプルなSQL実行ライブラリです。「SQL中心設計思想」「2way-SQL方式」「REPL」「カバレッジレポート出力機能」などの特徴があります。
Onsen UI(オンセンユーアイ)は、ハイブリッドアプリ/モバイルWebアプリのためのUIフレームワークです。ネイティブアプリのようなパフォーマンスに優れたUIを実現します。
Infrataster(インフラテイスター)。テスト自動化ツールです。構築したサーバに対して外部からサービス利用者に近い視点から振る舞いのテストを行えます。
Dart(ダート)。Googleが開発したWebアプリケーション開発向けプログラミング言語です。クラスベースのオブジェクト指向言語で、大規模アプリケーション/サービス開発に対応できます。
OCaml(オーキャムル)。オブジェクト指向を取り入れた関数型プログラミング言語です。言語理論研究の成果が取り入れられており、高信頼で簡潔なコードを記述できます。プログラミング言語「ML」から派生しています。
Google Web Toolkit(グーグルウェブツールキット)。Web用Ajaxアプリケーション開発フレームワークです。Googleが開発しており、Javaコードを「JavaScript+HTML/XML」に出力し、複雑なWebベースアプリケーションを容易に構築できます。
Elixir(エリクサー)。関数型並列処理環境「Erlang仮想マシン」上で動作するプログラミング言語です。「マルチパラダイム」「関数型」「並列プログラミング」「スケーラビリティ」「耐障害性」「Ruby風」などの特徴があります。
TypeScript(タイプスクリプト)。JavaScriptを拡張したプログラミング言語です。Microsoftによって開発された言語で、「静的型付け」「クラスベースオブジェクト指向」などの特徴があります。
ResearchKit(リサーチキット)。Appleが提供するオープンソース医療研究アプリ向けフレームワークです。iOSデバイスを利用して医療ビッグデータを収集し、医学研究のサポートを目的としています。
NetBeans(ネットビーンズ)。オープンソースの統合開発環境(IDE)です。Oracleを中心としたコミュニティにより開発されているため、Java最新版にいち早く対応できる利点があります。
NW.js(エヌダブリュージェイエス)とは、HTML/CSS/JavaScriptで書かれたWebアプリケーションを、デスクトップ(Windows/Mac/Linux) 向けにパッケージングし、ネイティブアプリケーションとして実行するためのクロスプラットフォーム実行環境です。(「node-webkit」から「NW.js」に改名されました。)
framework-spider(フレームワークスパイダー)。オープンソースのPHPWebアプリケーションフレームワークです。PHP4/PHP5で動作します。シンプル軽量なライトウェイトコンテナです。
Play Framework(プレイフレームワーク)とは、オープンソースWebアプリケーションフレームワークです。肥大化したエンタープライズJavaを代替する洗練されたフレームワークで、「Ruby on Rails」ライクな生産性をもたらします。Java/Scalaで記述できるRESTfulなMVCフレームワークです。
Scala(スカラ)。オブジェクト指向言語と関数型言語の特徴を統合したマルチパラダイムプログラミング言語です。Java仮想マシン(JVM)上で動作し、Javaの後継を担う言語として注目されています。
F#(エフシャープ)とは、Microsoftが開発した「.NET Framework」向けマルチパラダイム関数型プログラミング言語です。「OCaml」言語をベースにしています。
Electron(エレクトロン)。クロスプラットフォーム開発/実行フレームワークです。Web技術(HTML5、Node.js、JavaScript)を使用してデスクトップアプリケーションを開発できます。
AngularJS(アンギュラージェイエス)。Googleとコミュニティにより開発されているオープンソースJavaScriptアプリケーションフレームワークです。ブラウザ上で動作するWebアプリケーション開発にMVCアーキテクチャを取り入れることを目的としています。
Cocos2d-x(ココス・ツー・ディー・エックス)は、オープンソースのゲームエンジンです。1ソースで複数OSのゲームを簡単に開発することができます。
Apache Subversion(アパッチサブバージョン)とは、オープンソースのバージョン管理システムです。プログラムのソースコードなどを管理するための集中型バージョン管理を行います。
Ruby on Rails(ルビーオンレイルズ)。オープンソースのMVCアーキテクチャに基づいたWebアプリケーション開発フレームワークです。
Perl(パール)。テキスト処理を得意とするオープンソースプログラミング言語です。実用性、多様性、簡潔な記述、柔軟性、拡張性の高さが特徴で、CGIなどのサーバサイドプログラムも得意としています。