<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
           
 
 <head>
<title>Bienvenido a NetBeans y a www.netbeans.org, Portal del IDE Java Open Source</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
<meta http-equiv="Content-Style-Type" content="text/html" >
<meta NAME="description" CONTENT="Bienvenida e introducción a NetBeans, en español">
<meta http-equiv="content-language" CONTENT="es">
<meta name="keywords" content="IDE java, editor java, Plataforma java, libre, código abierto, desarrollo java, sopote j2ee, entorno de desarrollo, desarrollo web, NetBeans, IDE, java" >
</head>
<body>
 
<h1>Bienvenido a NetBeans y a www.netbeans.org</h1>
<p>Hola y bienvenido a la p&aacute;gina principal de
NetBeans, el IDE (Entorno de Desarrollo Integrado) Java de
C&oacute;digo Abierto. </p>

<h3>&iquest;Qu&eacute; es NetBeans?</h3>
<p>NetBeans es un proyecto de código abierto con una gran base de usuarios, una
  comunidad en constante crecimiento, y con cerca de 100 socios (¡y subiendo!) en
  todo el mundo. Sun MicroSystems fundó el proyecto de código abierto NetBeans en
  junio de 2000 y continúa siendo el patrocinador principal de los proyectos. </p>

<p>A día de hoy hay disponibles dos productos: el NetBeans&nbsp;IDE y el NetBeans Plataform. </p>

<p>El <a href="/features/ide/index.html">NetBeans IDE</a> es un entorno de
  desarrollo - una herramienta para programadores pensada para escribir,
  compilar, probar, depurar, analizar y distribuir programas. Está escrito
  en Java - pero puede servir para cualquier otro lenguaje de programación.
  Existe además un número importante de módulos para extender el IDE NetBeans.
  El IDE NetBeans es un producto libre y gratuito sin restricciones de
  uso.</p>

<p>También está disponible <a href="/features/platform/index.html">NetBeans Platform</a>, una
  base modular y extensible usada como una estructura de integración para crear potentes
  aplicaciones de escritorio. Empresas independientes asociadas, especializadas en desarrollo
  de software, proporcionan extensiones adicionales que se integran fácilmente en la
  plataforma y que pueden también utilizarse para desarrollar sus propias herramientas y soluciones.</p>

<p>Ambos productos son de código abierto y gratuitos para el uso tanto comercial
  como no comercial. El código fuente está disponible para su reutilización de
  acuerdo con la <a href="/cddl.html">Common Development and Distribution
  License</a> (CDDL).</p>

<h3>¿Qué es netbeans.org?</h3>

<p>netbeans.org es el portal de la comunidad de código abierto de NetBeans dedicado
  a construir un IDE de primera clase. netbeans.org permite a usuarios de más de 160
  países de todo el mundo estar en contacto con los recursos y los programadores de
  NetBeans. Es posible descargar desde aquí las últimas versiones de NetBeans, acceder
  a la documentación de ayuda en línea, profundizar su conocimiento personal de Java,
  estar al corriente de las útimas noticias, unirse a una lista de distribución,
  contribuir código, conocer las personas implicadas en el proyecto, conocer gente, y
  mucho más.</p>

<h3>Participar en la Comunidad NetBeans</h3>
<p>Tú puedes formar parte parte del equipo de NetBeans y ayudar a mejorar NetBeans más aún.
  Registrándote, contribuirás directamente al éxito de NetBeans y nosotros te mantendremos
  informado de las últimas novedades del proyecto NetBeans. ¡Rellena la información de
  registro situada en la esquina superior derecha de esta página - elige un nombre de
  usuario y únete a la comunidad!</p>

<h3>Para estar al día</h3>
<p>NetBeans te ofrece una gran variedad de listas de distribución electrónicas para
  ajustarse a tu nivel de interés y facilitar la comunicación entre los usuarios de
  NetBeans. Revisa la página de las listas de NetBeans en
  <a href="/community/lists/index_es.html">https://netbeans.org/community/lists/index_es.html</a>
  para descubrir más sobre las listas de distribución de NetBeans.</p>

<p>Enlaces rápidos:</p>

<ul>
  <li>Anuncios: suscríbete a
    <a href="mailto:nbannounce-subscribe@netbeans.org">nbannounce</a></li>

  <li>Boletines de NetBeans: suscríbete a
    <a href="mailto:nbannounce-subscribe@netbeans.org">NetBeans Semanal</a>,
    o a <a href="mailto:nbannounce-subscribe@netbeans.org">NetBeans Edge (mensual)</a></li>
  <li>Habla con otros usuarios NB, intercambia consejos y trucos:
    suscríbete a <A HREF="mailto:nbusers-subscribe@netbeans.org">nbusers</a></li>
  <p>Hay más información disponible sobre éstas y otras listas de distribución
    <a href="/community/lists/top.html">aquí</a>.</p>

</ul>

<h3>Listas en tu idioma</h3>
<p>La lista nbdiscuss_es@netbeans.org es una lista de discusión general para problemas,
  consejos y trucos relacionados con NetBeans - ¡en español!
  <a href="mailto:nbdiscuss_es-subscribe@netbeans.org">Suscríbete a
  nbdiscuss_es@netbeans.org</a>.</p>

<h3>¡Descarga NetBeans!</h3>
Descarga la última versión del <a href="http://services.netbeans.org/downloads/download.php?type=5.5.1">NetBeans IDE</a>.

<p>Si estás interesado en la construcción de una aplicación sobre NetBeans Platform,
   todo lo que necesitas para comenzar a construir sobre la plataforma NetBeans está
   incluido en el IDE, incluyendo la plataforma en sí misma y las herramientas de
   desarrollo de módulos. Si ya tienes el IDE, no necesitas descargar la plataforma por
   separado.</p>

<!-- Register ================================================== -->

<h2>¡Únete a netbeans.org!</h2>
<p><b><a href="https://netbeans.org/people/new">Join the NetBeans Project</a></b> and be a part of the community around a world-class IDE!</p>



<br clear="all">
<!-- Downloads ================================================== -->

<h2>Descargas</h2>
<div class="rarticle">
  <div class="rarticletitle"><a href="http://services.netbeans.org/downloads/index.php" class="leftmenu">Versión actual</a></div>

</div>
<div class="rarticle">
  <div class="rarticletitle"><a href="http://services.netbeans.org/downloads/dev.php" class="leftmenu">Compilaciones del IDE</a></div>
</div>
<div class="rarticle">
  <div class="rarticletitle"><a href="http://plugins.netbeans.org/" class="leftmenu">Catálogo de módulos</a></div>
</div>



<div class="nic18">&nbsp;</div>

<h2>¡Participa!</h2>

<p>¡NetBeans es un proyecto de código abierto donde tu participación y ayuda es bien
  recibida! Hay muchas formas de colaborar: ayuda a responder las preguntas de los
  usuarios en la lista de correo, traduce el IDE o el contenido del sitio web a tu idioma,
  ayúdanos probándolo, y por último y no por ello menos imporante ... ¡colabora aportando
  código para crear el mejor IDE!</p>


<div id="articleall"><img src="/images_www/v4/arr_r.gif" alt="" border="0" height="10" width="14"><a href="/community/contribute/index_es.html">Cómo colaborar</a></div>
</body>
</html>
