miércoles, 22 de marzo de 2017

Cómo descargar, instalar y ejecutar JDK y Eclipse

La programación de computadoras que usa Java es sin duda el aspecto más importante de las computadoras. Muchas de las aplicaciones de hoy en día utilizan Java como su fuente principal de código, desde juegos de computadora hasta teléfonos móvil. Eclipse es sólo uno de las numerosas aplicaciones de edición de Scripts para desarrollar programas Java y permite a los estudiantes escribir y compilar código Java y ejecutar programas.

  1. Imagen titulada Download, Install, and Run JDK and Eclipse Step 1
    1
    Visita la página de descarga de Java en el sitio web de Oracle para encontrar la descarga del entorno JDK. Desplázate hacia abajo hasta encontrar la actualización 43 de Java SE 6, y descarga JDK.
Imagen titulada Download, Install, and Run JDK and Eclipse Step 2
2
Una vez que selecciones Descargar, acepta los términos de servicio y escoge el sistema operativo correspondiente para ese JDK en específico. (Windows, Mac, Linux, etc.)


Imagen titulada Download, Install, and Run JDK and Eclipse Step 3
3
Una vez que la descarga esté completada, debes hacer doble clic en el archivo para empezar con la instalación de JDK.


Imagen titulada Download, Install, and Run JDK and Eclipse Step 4
4
Después de la instalación inicial esté completada, aparecerá una ventana emergente preguntándote dónde estarán los archivos Java. Puedes escoger cambiar dónde quieres almacenar los archivos, pero es mejor quedarte con la carpeta que aparezca como predeterminada.


Imagen titulada Download, Install, and Run JDK and Eclipse Step 5
5
Cuando la instalación se haya completado, empezaremos con la instalación de Eclipse. Ve a http://www.eclipse.org/downloads/.


Imagen titulada Download, Install, and Run JDK and Eclipse Step 6
6
Para los usuarios de Windows, tendrás que saber qué versión de sistema operativo tienes. Si tu computadora es de 64-bit, selecciona Windows 64 y si es de 32-bit, selecciona Windows 32 bit.


Imagen titulada Download, Install, and Run JDK and Eclipse Step 7
7
Una vez que descargues el archivo de Eclipse, necesitarás descomprimir el archivo Zip, el cual creará una carpeta de Eclipse sin comprimir. Debes extraer el archivo a la raíz de la unidad C:\, así creando la carpeta “C:\eclipse”, o sólo muévelo o esa carpeta después de extraerlo. Ya que Eclipse no tiene algún instalador, habrá un archivo dentro de la carpeta de Eclipse llamado eclipse.exe ( ). Puedes hacer doble clic en el archivo para ejecutar Eclipse.


Imagen titulada Download, Install, and Run JDK and Eclipse Step 8
8
Después de que eclipse se haya instalado completamente y se haya extraído, crea una carpeta de trabajo donde contendrás todos los archivos de programa que has creado.


Imagen titulada Download, Install, and Run JDK and Eclipse Step 9
9
Ahora que terminaste de instalar Eclipse, reinicia tu computadora. Al reiniciar tu computadora se actualizará la memoria de tu sistema y permitirá que los cambios creados por los instaladores surjan efecto.


Imagen titulada Download, Install, and Run JDK and Eclipse Step 10
10
De ahí en adelante, crea un programa de prueba para probar la funcionalidad de Eclipse.

viernes, 10 de marzo de 2017

Caracteristicas del SO Android.

Características

../../_images/multitarea.png
  • Código abierto.
  • Núcleo basado en el Kernel de Linux.
  • Adaptable a muchas pantallas y resoluciones.
  • Ofrece diferentes formas de mensajería.
  • Soporte de Java y muchos formatos multimedia.
  • Soporte de HTML, HTML5, Adobe Flash Player, etc.

Arquitectura

../../_images/arquitectura.jpg
  • Aplicaciones: incluyen un cliente de correo electrónico, programa de SMS, calendario, mapas, navegador, contactos y otros. Todas ellas escritas en Java.
  • Marco de trabajo de aplicaciones: los desarrolladores tienen acceso completo a los mismos APIs del framework usados por las aplicaciones base. La arquitectura está diseñada para simplificar la reutilización de componentes; cualquier aplicación puede publicar sus capacidades y cualquier otra aplicación puede luego hacer uso de esas capacidades.
  • Runtime de Android: incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lenguaje Java. Cada aplicación Android corre su propio proceso, con su propia instancia de la maquina virtual Dalvik.
  • Núcleo Linux: Android depende de Linux para los servicios base del sistema como seguridad, gestión de memoria, gestión de procesos, pila de red y modelo de controladores. También actúa como capa de abstracción entre el hardware y el resto de la pila de software.

Android x86

La plataforma de hardware principal de Android es la arquitectura ARM.
Hay soporte para x86 en el proyecto Android-x86, que surgió de la idea de poder integrar Android en cualquier tipo de hardware, por lo que decidieron adaptarlo para funcionar en arquitectura x86, de esta maner podemos correr cualquier versión de Android en la PC de nuestra casa.
../../_images/Android_x86.jpeg

Aplicaciones en Android

La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un framework Java de aplicaciones orientadas a objetos sobre el núcleo de las bibliotecas de Java en una máquina virtual Dalvik con compilación en tiempo de ejecución.
Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz gráfica (surface manager), un framework OpenCore, una base de datos relacional SQLite, una Interfaz de programación de API gráfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor gráfico SGL, SSL y una biblioteca estándar de C Bionic.

Dalvik

Uno de los elementos clave de Android es la máquina virtual de Dalvik.

Versiones del Sistema Operativo Android


Versión
Tipo de licencia
Características
Cupcake
Libre
  • Soporte para teclados virtuales de terceros con predicción de texto y diccionario de usuarios para palabras personalizadas.
  • Soporte para Widgets - vistas de miniaturas de las aplicaciones que pueden ser incrustadas en otras aplicaciones (tal como la pantalla inicio) y recibir actualizaciones periódicas.
  • Grabación y reproducción en formatos MPEG-4 y 3GP.
Donut
Libre
  • Mejora en la búsqueda por entrada de texto y voz para incluir historial de favoritos, contactos y la web.
  • Habilidad de los desarrolladores de incluir su contenido en los resultados de búsqueda.
  • Motor multi-lenguaje de Síntesis de habla para permitir a cualquier aplicación de Android "hablar" una cadena de texto.
Eclair
Libre
  • Sincronización cuenta expandida, permitiendo a los usuarios agregar múltiples cuentas al dispositivo para sincronización de correo y contactos.
  • Soporte intercambio de correo, con bandeja combinada para buscar correo desde múltiples cuentas en la página
  • Soporte Bluetooth 2.1.
Froyo
Libre
  • Optimizaciones en velocidad, memoria y rendimiento
  • Mejoras adicionales de rendimiento de aplicación, implementadas mediante compilación Just-in-time (JIT)
  • Integración del motor de JavaScript V8 de Chrome en el navegador.
Gingerbread
Libre
  • Actualizado el diseño de la interfaz de usuario con incrementos en velocidad y simpleza.
  • Soporte para tamaños y resoluciones de pantalla extra-grandes (WXGA y mayores).
  • Soporte nativo para SIP y telefonía por internet VoIP.
Honeycomb
Libre
  • Soporte optimizado para tablets, con una nueva y "virtual" interfaz de usuario holográfica.
  • Agregada barra de sistema, con características de acceso rápido a notificaciones, estados y botones de navegación suavizados, disponible en la parte inferior de la pantalla.
  • Añadida barra de acción (Action Bar en inglés), entregando acceso a opciones contextuales, navegación, widgets u otros tipos de contenido en la parte superior de la pantalla
Ice Cream
Libre
  • Botones software (en pantalla) Android 3.x están ahora disponibles para usar en los teléfonos móviles.
  • Separación de widgets en una nueva pestaña, listados de forma similar a las aplicaciones.
  • Facilidad para crear carpetas, con estilo de arrastrar y soltar.
Jelly Bean
Libre
  • Interfaz de usuario más fluida:
  • Vsync timing across all drawing and animation done by the Android framework, including application rendering, touch events, screen composition and display refresh
  • Triple buffer en los pipelines gráficos
KitKat
Libre
  • Arreglos en la conexión de datos
  • Optimización del servicio mm-qcamera-daemon
  • Arreglos de enfoque de cámara en los modos HDR y normal
Lollipop
Libre
  • Runtime Android (ART) con anticipación-de-tiempo (AOT) compilación y mejora de la recogida de basura (GC.
  • Soporte para CPUs de 64 de bits
  • OpenGL ES 3.1 y Android Extension Pack (AEP) en configuraciones de GPU soportadas
Marshmallow
Libre
  • Soporte para huellas dactilares
  • Android Pay
  • Ahora Android realizará restauraciones y copias de seguridad de datos completas y automáticas de nuestras aplicaciones tras cambiar de dispositivo o tras restablecerlo de fábrica para continuar con todos nuestros datos y partidas
Nougat
Libre
  • Se mejoran las animaciones.
  • Se incorpora la opción de multiventana de forma nativa.
  • Es posible arrastrar contenido de una aplicación a otra.
  • Mejoras en el uso de la batería.

Arquitectura del Sistema Operativo Android

Arquitectura del S.O. Android       


Android es una plataforma para dispositivos móviles que contiene una pila de software donde se incluye un sistema operativo, middleware y aplicaciones básicas para el usuario. En las siguientes líneas se dará una visión global por capas de cuál es la arquitectura empleada en Android. Cada una de estas capas utiliza servicios ofrecidos por las anteriores, y ofrece a su vez los suyos propios a las capas de niveles superiores.




Aplicaciones


Este nivel contiene, tanto las incluidas por defecto de Android como aquellas que el usuario vaya añadiendo posteriormente, ya sean de terceras empresas o de su propio desarrollo. Todas estas aplicaciones utilizan los servicios, las API y librerías de los niveles anteriores.
Framework de aplicaciones

Representa fundamentalmente el conjunto de herramientas de desarrollo de cualquier aplicación. Toda aplicación que se desarrolle para Android, ya sean las propias del dispositivo, las desarrolladas por Google o terceras compañías, o incluso las que el propio usuario cree, utilizan el mismo conjunto de API y el mismo "framework", representado por este nivel.

Entre las API mas importantes se encuentran:
· Activity Manager
· Window Manager
· Telephone Manager
· Content Provider
· View System
· Location Manager
· Notification Manager
· XMPP Service


Librerías 
La siguiente capa se corresponde con las librerías utilizadas por Android. Éstas han sido escritas utilizando C/C++ y proporcionan a Android la mayor parte de sus capacidades más características. Junto al núcleo basado en Linux, estas librerías constituyen el corazón de Android.

Entre las librerías mas importantes se encuentran:
· Librería Libic
· Librería Surface Manager
· Open GL/SL y SGL
· Librería Media Libraries
· FreeType
· Librería SSL
· Librería SQLite
· Librería WebKit


Tiempo de ejecución Android

Al mismo nivel que las librerias de Android se sitúa el entorno de ejecución. Éste lo constituyen las Core Libraries, que son librerias con mulititud de clases Java y la máquina vistual Dalvik. 

Kernel de Linux


Android ocupa el núcleo de Linux como una capa de abstracción para el hardware disponible en los dispositivos móviles. esta capa contiene los drivers necesarios para que cualquier componente hardware pueda ser utilizado mediante las llamadas correspondientes.

Entorno de trabajo para aplicaciones moviles

Entorno de trabajo para aplicaciones móviles                                                                         


Eclipse
Eclipse es una plataforma de software compuesto por un conjunto de herramientas de programación de códigoabierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores.


La base para Eclipse es la Plataforma de cliente enriquecido (del inglés Rich Client Platform RCP). Los siguientes componentes constituyen la plataforma de cliente enriquecido:
·         Plataforma principal - inicio de Eclipse, ejecución de plugins
·         OSGi - una plataforma para bundling estándar.
·         El Standard Widget Toolkit (SWT) - Un widget toolkit portable.
·         JFace - manejo de archivos, manejo de texto, editores de texto


·         El Workbench de Eclipse - vistas, editores, perspectivas, asistentes


XCODE
Xcode es un entorno de desarrollo integrado (IDE, en sus siglas en inglés) para macOS que contiene un conjunto de herramientas creadas por Apple destinadas al desarrollo de software para macOS, iOS, watchOS y tvOS. Su primera versión tiene origen en el año 2003 y actualmente su versión número 8 se encuentra disponible de manera gratuita en el Mac App Store o mediante descarga directa desde la página para desarrolladores de Apple.
Xcode trabaja conjuntamente con Interface Builder, una herencia de NeXT, una herramienta gráfica para la creación de interfaces de usuario.


Carbide C++
Carbide.c++ es una herramienta para el desarrollo de software en lenguaje C++ destinado a dispositivos que funcionan bajo Symbian OS. Se usa tanto para desarrollar los teléfonos que incorporan dicho OS como para las aplicaciones que ejecutan estos.
Está formada por una familia de IDEs desarrollada por Nokia, basada en Eclipse, al que se han incorporado plug-ins para el desarrollo de Symbian OS. Reeemplazó a CodeWarrior como primer entorno de desarrollo para Symbian OS.


Neatbeans
NetBeans es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación Java. Existe además un número importante de módulos para extenderlo. NetBeans IDE es un producto libre y gratuito sin restricciones de uso.
NetBeans es un proyecto de código abierto de gran éxito con una gran base de usuarios, una comunidad en constante crecimiento, y con cerca de 100 socios 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 (Actualmente Sun Microsystems es administrado por Oracle Corporation).
La plataforma ofrece servicios reusables comunes para las aplicaciones de escritorio, permitiendo a los desarrolladores centrarse en la lógica de sus aplicaciones. Algunas de las características de la aplicación son:
·         Gestión de la interfaz de usuario ( menús y barras de herramientas )
·         Gestión de configuración de usuario
·         Gestión de almacenamiento (guardar o cargar algún tipo de dato)
·         Gestión de ventana
·         Marco Asistente (soporta diálogos para a paso)
·         Librería visual de Netbeans
·         Herramientas de desarrollo integrado