NetBeans

NetBeans IDE
NetBeans
NetBeans 12.2のスクリーンショット
開発元 Apacheソフトウェア財団[注釈 1]
リポジトリ
  • github.com/apache/netbeans
ウィキデータを編集
対応OS Windows, Ubuntu, Solaris, Mac OS X
プラットフォーム クロスプラットフォーム
種別 統合開発環境
ライセンス Apache License
公式サイト
  • netbeans.apache.org
  • netbeans.org
  • ja.netbeans.org
テンプレートを表示

NetBeansネットビーンズ)とは、オラクル(買収以前はサン・マイクロシステムズ、以下同)を中心としたコミュニティにより開発されている、オープンソース統合開発環境 (IDE) である。Java/PHP/C言語/C++/JavaScript/Groovy等のいくつかのプログラミング言語に対応している。NetBeans Platformを利用して開発されており、様々なモジュールを組み込むことが可能である。NetBeansの特徴の一つであるGUIエディタ (Project Matisse) もその一つである。

概要

ほぼ100%Javaで書かれている統合開発環境である。バージョン4.0以降は、Java仮想マシン自体の大幅な高速化もあって、ネイティブな環境との速度差は感じないとされる。

このソフトウェアはJavaを開発しているオラクルが開発していることから、最新版のJavaにいち早く対応できるという利点がある。Java SE 5.0が登場した際には他のIDEに先んじて、新機能であるジェネリックアノテーションに対応した。またGUI開発はNetBeansがJava IDEの中で秀でており、「フリーデザイン」によるコンポーネントの配置などの優れた機能を持つ。

NetBeansは始めから多言語に対応しており日本語などの多くの言語をインストール直後から利用可能である。

パッケージによって異なるが開発できる言語として、Java・JavaScript・PHP・C/C++Groovyがある。またWebアプリケーションを動作させるのに必要なApache TomcatGlassFishといったアプリケーションサーバが同封されているパッケージもあるため、別途インストールすることなく利用できる。

Java IDEとして既に広く使われているEclipseと比較されることが多い。現状、シェア、多機能性、プラグインの豊富さは、Eclipseに一日の長がある。NetBeansは3.51までJava Look&Feelを使用していたため、特にWindowsユーザーに受け入れられにくかったようである。3.6でLook&FeelをSystemLook&Feelに変更したことにより、ユーザーが増加しはじめた。

沿革

4.0からJava SE / EEのリファレンス的な開発環境としての側面が強まっている。5.5からは、WebサービスパーシスタンスAPI等に対するスムーズな開発を可能にしており、UMLJSFのビジュアル開発なども取り込まれた。

6.0ではRubyJavaScriptのサポート、プロファイラの統合、ビジュアルWebJSFと通常のWEBプロジェクトの統合、Swingアプリケーションフレームワーク、そして大幅なエディタの見直しやレスポンスの改善などがあげられる。Java言語以外のサポート、複数バージョンのTomcatサーブレットコンテナや各種アプリケーションサーバの対応など標準機能でカバーする範囲が広がったのが特徴である。また、使用者の利用するパッケージを選択できるインストーラもいままでになかったものである。

6.1では新たに暫定版ではあるもののPHP対応がされた。また、Rubyの更なるサポート、JavaScriptの本格サポートなどJava以外の言語の対応が充実したのも特徴である。また、標準API以外のサポートは珍しいのだが、Spring2.5がWebプロジェクトのフレームワークとしてサポートされた。JSR311 としてRESTful Web サービスもサポートされ、Javaの最新技術も引き続き先行搭載されていくようである。バージョン管理システムとしてMercurialが標準サポートされたが、これはNetBeans自体のバージョン管理にMercurialを使うようになったためだろう。

6.5では新たに暫定版ではあるもののPythonに対応した。またPHPが正式に標準対応した[† 1]。そのほかJavaScriptのフレームワークにも対応し、prototype.js、jQueryなどをすぐに設定し使用することが可能になり[† 2]、それぞれのフレームワークに合わせた補完も効くように強化された。NetBeansのJavaは標準API以外のサポートが比較的珍しいのだがHibernateがサポートされ[† 2]、HQLを即座に試せるようになっている。データベースの扱いが強化され、データの編集にSQLをうたなくても容易に行えるようになった。

6.4以前は英語版から一ヶ月程度遅れてML(多言語)版が登場するのが普通であったが、6.5以降では同時リリースされている。

6.7ではJIRA と Bugzillaといった課題追跡に対応した[† 3]。また、継続的インテグレーションツールであるHudsonとの統合機能も追加された[† 3]。プロジェクトの形式として従来のAntベースのもののほかにMaven2が標準でサポートされた[† 3]。あわせてPHPUnit[† 3]、Selenium[† 3]、Ruby のリモートデバッグ[† 3]C / C++でのプロファイリングなどがサポートされたこともあり、品質向上のための機能が大幅に強化されたのが本バージョンでの最大の特徴である。

その後7.0でPythonとRuby[† 4]のサポートが外され、7.1でJavaFXCSS3のサポートが追加された[† 5]。7.2ではパフォーマンスチューニングが中心であったが、Amazon Elastic Beanstalk等クラウドリソースへの対応(7.2.1でOracle Cloudの対応も追加された)やSubversionがリリースに組み込まれる等の新機軸もある[† 6]

7.3では新しいJavaScriptエンジン、組み込みWebkitブラウザ、FirefoxChromeとの連携、そしてHTML5やCSS3への対応強化等、Webアプリケーション開発を中心とした大型の変更が予定されている。

なお、オラクルがサポートしているわけではないが、Scalaも動作する。こちらはScala開発チームが公式のプラグインをリリースしている。

歴史

NetBeansは、1996年に始まったチェコの学生によるプロジェクトであるXelfiにその源流を持つ。XelfiはJavaで書かれた最初のIDEであり、1997年に最初のプレリリースが行われている。やがてXelfiは、チェコの実業家Roman Stanekの支援を得て、ネットワーク環境を前提としたJava Beansコンポーネント開発用のIDEとして開発が進められることになった。この基本構想が、NetBeansの名前の由来となっている。NetBeansの名を冠した最初のリリースは、1999年である。

この1999年は、NetBeansにとって重要な年であった。より良いJava開発環境を求めていたサンが、NetBeansと契約。サンは、その後別のツールであるForteを獲得したが、ForteではなくNetBeansをForte for Javaの名の下にリリースを行った。これは当時の知名度を優先したビジネス判断であった。しかし、ほどなくNetBeansの名は復活し、現在に至っている。なお、Xelfiに関わったメンバーの多くは、現在もNetBeansコミュニティで活躍している。

サン・マイクロシステムズの買収

2010年の1月にオラクルがサン・マイクロシステムズを買収した。元々オラクルはJavaの統合開発環境JDeveloperを開発しており、サン・マイクロシステムズのNetBeansとはライバル製品のため、経営戦略により消えるのではないかと危惧された。しかしオラクルはJDeveloperを置き換える計画はないとしている。また、NetBeansをJavaエコシステムの重要要素と見なしており、Java開発に使用するIDEの選択肢を開発者が持ち続けることは重要であると考えているとし、開発を継続するとしている [1]

2010年1月27日のOracle + Sun Strategy Update Webcastにおいて、OracleがNetBeans IDEを今度の計画のなかでどう位置づけているかが発表された[2]。発表されたスライドショーから関係する部分を抜き出すと

  • NetBeans IDEはJava開発向けの軽量IDEとしての位置づけを継続していく
  • Java EE6、Java ME、スクリプト言語へ注力
  • モバイル開発環境やスクリプト言語へのフォーカスを強める

となっており、従来の方針をそのまま継続する形となっている。

オラクルはまたEclipseへの投資を継続する方針も表明している。IDEにはそれぞれ一長一短があり、多様であるべきとの考えからである。

Apacheソフトウェア財団への寄贈

2016年、オラクルはNetBeansのApacheソフトウェア財団への寄贈を提案し[3]、プロジェクトはApache Incubatorに登録された[† 7]。2019年にはApache Incubatorを脱し、トップレベルプロジェクトに昇格した[4]

NetBeansの機能

NetBeansの主要な機能は以下の通りである。

プラグイン

標準で必要な機能が多く提供されているが、プラグインにより追加機能を使用できる。NetBeansコミュニティーや多くのベンダーから提供されている。

ビルドツール

JavaのビルドにApache Antが標準となっており、コンパイル作業が楽に行える。

コード支援

クラス・変数・関数等のコード支援があり、開発者の手助けをしてくれる。また、JavadocにJava SEのAPI日本語ドキュメントを指定すればクラスやメソッドのコード補完中に小窓が現れて日本語の説明文を読める。

リファクタリング

リファクタリングにより安全にクラス名・メソッド名・変数名の変更等が行える。

データベース管理

JDBCドライバを使うことで、データベース管理システムに接続でき、データ操作が行える。

バージョン管理システム

バージョン管理システムとして、GitMercurialSubversionの3つが利用できる。

xUnit

ユニットテストxUnitであるJUnitやPHPUnitが使用できる。

対応オペレーティングシステム

IDE自体がJavaで書かれていることから、Java VMを搭載したオペレーティングシステム上で動作が可能である。

なお公式にサポートしているオペレーティングシステムは、以下のものである[† 8]

その他、Oracle Enterprise Linux 5、Ubuntu 8.x および 10.04、Red Hat Enterprise Linux など、ほかのさまざまなLinuxディストリビューションで動作することも確認されている。またFreeBSDのportsコレクションにも組み込まれている。

ライセンス

NetBeansのコードの大部分は、Common Development and Distribution License (CDDL) とGNU General Public License v2 (GPLV2) のデュアルライセンスの下でソースコードを公開している。CDDLは、Mozilla Public License (MPL) をベースとしたOSI承認ライセンスの一つである。

Apacheソフトウェア財団への寄贈後はApache License 2.0に一本化された。

関連製品

  • Java Studio Creator - サンが開発したNetBeansベースの無償の統合開発環境。VBに慣れたプログラマでも取り込めるようウェブGUI開発をDreamweaverを使うような感覚で容易に行うことができる。
  • JDeveloper - オラクルが開発したJavaの統合開発環境。

ねこび〜ん

ねこび〜ん

ねこび〜ん は NetBeans のキャラクター

カネウチカズコにより作成され、日本コミュニティを介して提唱されたマスコットキャラ。とNetBeansをかけあわせたもの。Creative Commons 表示-継承 2.1 日本ライセンスされている[† 9]

2008年2月27日、仙台のグループ「東北デベロッパーズコミュニティ」の設立総会後に行われた懇親会・二次会で、カネウチカズコが見せたキャラクター画像を見て、「NetBeansのキャラクターが欲しい」という話となり、ここからねこび〜んが誕生するきっかけとなった[5][6][† 10]

イベントでの利用やグッズ制作にも多数使われるようになっている[7]

注釈

  1. ^ オラクルからの寄贈。さらに買収前はサン・マイクロシステムズ

出典

  1. ^ FAQ - OracleのJava開発ツール(最終更新日2010年1月27日)[リンク切れ]
  2. ^ NetBeansはJava開発のままいく - Oracle マイナビニュース
  3. ^ “OracleがNetBeansをApache Foundationに提供”. InfoQ. 2019年7月26日閲覧。
  4. ^ “「Apache NetBeans」が“インキュベーター”を卒業”. 窓の杜. 2019年7月26日閲覧。
  5. ^ 設立総会レポート 東北デベロッパーズコミュニティ, 2012年7月27日閲覧
  6. ^ 「ねこび〜ん」を応援しましょう! 東北デベロッパーズコミュニティ, 2012年7月27日閲覧
  7. ^ NekoBean NetBeans Wiki

一次資料

  1. ^ “NetBeans IDE 6.5 リリースノート”. 2019年7月30日閲覧。
  2. ^ a b “NetBeans IDE 6.5 情報”. 2019年7月30日閲覧。
  3. ^ a b c d e f “New and Noteworthy: NetBeans IDE 6.7” (英語). 2019年7月30日閲覧。
  4. ^ “NetBeans IDE 7.0 リリースノート”. 2019年7月30日閲覧。
  5. ^ “NetBeans IDE 7.1.2 Release Information” (英語). 2019年7月30日閲覧。
  6. ^ “NetBeans IDE 7.2.1 Release Information” (英語). 2019年7月30日閲覧。
  7. ^ “NetBeans Project Incubation Status”. The Apache Software Foundation. 2019年7月26日閲覧。
  8. ^ [1]
  9. ^ NetBeans ねこび〜ん
  10. ^ グッズ売上げを義援金として寄付させていただきました ねこび〜ん, 2012年7月27日閲覧

外部リンク

ポータル FLOSS
ウィキメディア・コモンズには、NetBeansに関連するカテゴリがあります。
ウィキブックスにJava関連の解説書・教科書があります。

NetBeans

  • Welcome to Apache NetBeans:公式ウェブサイト
  • NetBeans 日本語サイト
  • NetBeans.jp NetBeans 日本コミュニティー
  • PlanetNetBeans.org プラネットNetBeans

ねこび〜ん

  • ja:NetBeans ねこび〜ん
  • ねこび〜んファンサイト
トップレベル
プロジェクト
  • Accumulo(英語版)
  • ActiveMQ
  • Airflow
  • Ambari(英語版)
  • Ant
  • Aries(英語版)
  • Arrow(英語版)
  • Apache HTTP Server
  • APR
  • Avro(英語版)
  • Axis
  • Axis2
  • Beam
  • Bloodhound(英語版)
  • Brooklyn(英語版)
  • Buildr(英語版)
  • Calcite(英語版)
  • Camel(英語版)
  • Cassandra
  • Cayenne(英語版)
  • Chemistry(英語版)
  • CloudStack(英語版)
  • Cocoon
  • Cordova
  • CouchDB
  • cTAKES(英語版)
  • CXF(英語版)
  • Derby
  • Directory(英語版)
  • Drill
  • Druid(英語版)
  • Empire-db(英語版)
  • Felix(英語版)
  • Flex
  • Flink(英語版)
  • Flume(英語版)
  • FreeMaker(英語版)
  • Geronimo
  • Giraph(英語版)
  • Gump(英語版)
  • Hadoop
  • HBase
  • Helix(英語版)
  • Hive
  • Impala(英語版)
  • Jackrabbit(英語版)
  • James
  • Jena(英語版)
  • Jini(英語版)
  • JMeter(英語版)
  • Kafka
  • Kudu(英語版)
  • Kylin(英語版)
  • Lucene
  • Mahout
  • Maven
  • MINA(英語版)
  • mod_perl(英語版)
  • MyFaces(英語版)
  • NetBeans
  • Nutch(英語版)
  • NuttX(英語版)
  • OFBiz(英語版)
  • Oozie(英語版)
  • OpenEJB
  • OpenJPA
  • OpenNLP
  • OpenOffice
  • ORC(英語版)
  • PDFBox(英語版)
  • Parquet(英語版)
  • Phoenix(英語版)
  • POI
  • Pig(英語版)
  • Pinot(英語版)
  • Pivot
  • Qpid(英語版)
  • Roller
  • RocketMQ(英語版)
  • Samza(英語版)
  • ServiceMix(英語版)
  • Shiro(英語版)
  • SINGA(英語版)
  • Sling(英語版)
  • Solr
  • Spark
  • Storm(英語版)
  • SpamAssassin
  • Struts 1
  • Struts 2(英語版)
  • Subversion
  • Apache Superset
  • SystemDS(英語版)
  • Tapestry
  • Thrift
  • Tika(英語版)
  • Tomcat
  • Traffic Server(英語版)
  • Turbine(英語版)
  • UIMA(英語版)
  • Velocity
  • Wicket
  • Xalan
  • Xerces
  • XMLBeans
  • Yetus(英語版)
  • ZooKeeper
ASF logo
Commons
Incubator
  • Apache MXNet(英語版)
  • Apache Taverna(英語版)
その他の
プロジェクト
Attic
  • Abdera(英語版)
  • Apache Apex(英語版)
  • AxKit
  • Beehive(英語版)
  • Bluesky(英語版)
  • iBATIS
  • c++ Standard Library(英語版)
  • Cactus(英語版)
  • Click(英語版)
  • Continuum(英語版)
  • Apache Deltacloud(英語版)
  • Apache Etch(英語版)
  • Excalibur(英語版)
  • Forrest(英語版)
  • Hama(英語版)
  • Harmony
  • HiveMind(英語版)
  • Jakarta
  • Lenya(英語版)
  • Marmotta(英語版)
  • ODE(英語版)
  • Shale
  • Slide(英語版)
  • Shindig
  • Stanbol(英語版)
  • Tuscany(英語版)
  • Wave(英語版)
  • Wink(英語版)
  • XML
ライセンス
  • カテゴリ Category
  • コモンズ Commons
ActionScript
オープンソース
無償
有償
C/C++
オープンソース
無償
有償
Groovy
オープンソース
有償
Java
オープンソース
無償
有償
.NET
オープンソース
無償
有償
Scala
オープンソース
有償
Python
オープンソース
有償
R
関連項目
  • 斜体 の物は開発終了の物。
  • カテゴリ
  • 比較(英語版)
  • Category:ソフトウェア開発ツール
全般
解説
開発(英語版)
OS(英語版)
ソフトウェア
ホスティング
団体
標準化団体
開発支援団体
ライセンス
指針
主要例
その他
課題
特性上の課題
対立と論争
その他
一覧
  • オープンソースソフトウェアのカテゴリ
  • OSSホスティングサービスのカテゴリ
  • オープンソースライセンスのカテゴリ
  • コモンズ コモンズ
  • ポータル ポータル
  • プロジェクトページ プロジェクト
典拠管理データベース: 国立図書館 ウィキデータを編集
  • ドイツ
  • イスラエル
  • アメリカ
  • チェコ