Tema1 - PLataformas de Desarrollo de Software de La UNIR
Tema1 - PLataformas de Desarrollo de Software de La UNIR
aplicaciones
[1.1] ¿Cómo estudiar este tema?
TEMA
Esquema
TEMA 1 – Esquema
Aplicaciones Software
2
Jav a .NET Jav aScript PHP Android Studio Swift Google Cloud Plataform
Eclipse XCode
Netbeans
Ideas clave
Para estudiar este tema lee las Ideas clave que encontrarás a continuación.
» Aplicaciones web.
» Aplicaciones móviles.
» Y aplicación en la nube.
» Software de sistema.
» Y las aplicaciones software.
Por último, como evolución de las aplicaciones web ahora han surgido las aplicaciones
cloud, que son desplegadas en la nube. Estas aplicaciones en la nube pueden ser vistas
como una especie de combinación de las aplicaciones de escritorio, ya que se puede
trabajar con ellas de forma rápida y offline, y de las aplicaciones web, ya que no suelen
En resumen, hay una evolución constante de las aplicaciones software atendiendo al tipo
de plataforma donde vayan a ser desplegadas. Esto implica que el desarrollo de cada tipo
de aplicación sea diferente y que un ingeniero del software tenga que saber manejar los
distintos entornos o plataformas de desarrollo que van apareciendo.
Aplicaciones softweare
Además, cada tipo de aplicación se puede desarrollar usando una gran cantidad de
lenguajes de programación o tecnologías propias. Por ejemplo, para las
aplicaciones de escritorio uno de los lenguajes más usados es Java, pero encontramos
muchos otros lenguajes que se han ido usando a lo largo de los años y algunos que se
siguen usando ahora también. Así, al igual que con los diferentes tipos de aplicaciones,
el ingeniero del software, aunque sea para desarrollar solo aplicaciones de escritorio
tiene que aprender a manejar al menos los lenguajes de programación más populares.
Por ejemplo, para las aplicaciones de escritorio, podemos resaltar, de entre la enorme
cantidad que hay, los lenguajes de programación multiplataforma más usados como
Java o Python, y por otro lado los lenguajes del framework .net (C#, Visual Basic,
etc.). La elección de uno u otro dependerá del propósito de la aplicación y del sistema
operativo donde tendrá que ser ejecutada.
Por ejemplo, NET ofrece una gran multitud de facilidades para desarrollar aplicaciones
Windows, pero si queremos que nuestra aplicación se ejecute también en Mac o Linux
sería más conveniente escoger Java o Python. La decisión entre cuál de estos dos usar
varía mucho hasta por los gustos o facilidad de aprendizaje del programador. En este
curso veremos aplicaciones sencillas tanto en Java como en .NET
En las siguientes secciones veremos los lenguajes de programación más usados en los
distintos tipos de aplicaciones, pero antes vamos a dar un repaso a las herramientas que
se usan para programar y desarrollar las aplicaciones.
» Editor de código fuente: para para escribir el código del programa de una forma
intuitiva, amigable y con un formato de texto acorde al lenguaje de programación.
» Herramientas para documentación: para generar (semi)-automáticamente y de
manera estándar la documentación de un programa.
» Herramientas de depuración: para ayudar a localizar e identificar errores
(depurar) en el código fuente paso a paso.
» Traductor: compilador o intérprete para convertir el código fuente en el código
objeto.
» Entorno de ejecución: para ejecutar el código de la aplicación desarrollada.
Por ejemplo, para Java los entornos de desarrollo más usados son Eclipse y NetBeans,
que los estudiaremos a lo largo de esta asignatura. Aunque existen muchísimos más
como, IntelliJ IDEA, BlueJ, JDeveloper, DrJava, etc. Para Python también encontramos
muchos IDE ampliamente usados, pero podemos destacar Spyder Python que es un
entorno de código abierto y multiplataforma. También para Python podemos usar el
Pydev with Eclipse que también es de código abierto y multiplataforma, pero estaría
integrado en Eclipse. Por otro lado, para la plataforma .NET el IDE más comúnmente
usado y el que veremos en esta asignatura es Visual Studio.
Hay muchos IDE disponibles para programar tanto en JavaScript como en PHP, entre
los que también podemos encontrar a Eclipse y NetBeans. En esta asignatura no veremos
los lenguajes ni plataformas de desarrollo específicas para las aplicaciones web. Nos
centraremos en las aplicaciones de escritorio, aplicaciones móviles y aplicaciones en la
nube.
Hoy en día, en el mercado, los sistemas operativos usados para los teléfonos inteligentes
y tabletas, se han visto reducidos a dos, iOS para los iPhone e iPads y Android para otro
gran grupo de dispositivos móviles. Por lo tanto, las aplicaciones móviles para poder ser
ofertadas y bajadas de las store en dichos dispositivos (o sea, en la App Store de iOS y en
el Google Play de Android), deben ser desarrolladas para ambos sistemas operativos.
Así, si queremos desarrollar y desplegar en la nube una aplicación que haga uso de los
servicios proporcionados por cierto proveedor cloud, tenemos que adaptarnos a sus
requisitos.
Por ejemplo, Google Cloud Platform es una plataforma que reúne las aplicaciones de
desarrollo web proporcionadas por Google para crear aplicaciones, usando la tecnología
almacenada en la nube. Los Amazon Web Services (AWS) son los servicios que Amazon
oferta y que en conjunto forman una plataforma de computación en la nube. Igualmente,
Microsoft proporciona el Visual Studio Tools para Microsoft Azure.
En esta asignatura veremos cómo desarrollar una aplicación utilizando la Google App
Engine de Google Cloud Platform.
Lo + recomendado
No dejes de leer…
Accede al artículo a través del aula virtual o desde la siguiente dirección web:
http://www.streetdirectory.com/travel_guide/114448/programming/desktop_applicat
ions_vs_web_applications.html
Accede al artículo a través del aula virtual o desde la siguiente dirección web:
http://uk.pcmag.com/networking-communications-software-
products/16824/feature/what-is-cloud-computing
No dejes de ver…
Vídeo con una breve descripción sobre las aplicaciones software y los diferentes tipos de
aplicaciones que podemos encontrar.
Accede al vídeo a través del aula virtual o desde la siguiente dirección web:
https://www.youtube.com/embed/MYgy4rjV4J0
¿Qué es la nube?
Vídeo con una introducción sencilla a la computación en la nube con ejemplos sencillos
y visuales.
Accede al vídeo a través del aula virtual o desde la siguiente dirección web:
https://www.youtube.com/embed/gu4FYSFeWqg
+ Información
A fondo
Cuando comenzamos un nuevo proyecto debemos saber qué lenguaje o lenguajes son
más adecuados.
Accede al artículo a través del aula virtual o desde la siguiente dirección web:
https://www.arsys.es/blog/programacion/comparacion-php-python-ruby/
Índice con los lenguajes de programación más populares y su evolución con respecto al
año pasado.
Accede al artículo a través del aula virtual o desde la siguiente dirección web:
http://pypl.github.io/PYPL.html
Índice con los IDE más populares y su evolución con respecto al año pasado.
Accede al artículo a través del aula virtual o desde la siguiente dirección web:
http://pypl.github.io/IDE.html
Libro con una introducción al lenguaje de programación usado por los dispositivos
Apple, Swift. En un tema posterior hablaremos un poco sobre las características de Siwft
pero no lo trataremos en profundidad.
Accede al artículo a través del aula virtual o desde la siguiente dirección web:
https://itunes.apple.com/es/book-series/swift-programming-
series/id888896989?mt=11
Test
4. Eclipse y NetBeans:
A. Son lo mismo.
B. Son IDE que se pueden usar para Java.
C. Son entrono de desarrollo solo para Java.
D. Son igual que .NET.
5. ¿Qué lenguaje se suele usar en el lado del cliente para las aplicaciones web?
A. Python.
B. JavaScript.
C. Ruby.
D. PHP.
7. Swift es:
A. El entorno de desarrollo para iOS.
B. Es el IDE para programar en Objective-C.
C. Es un lenguaje de programación multiparadigma.
D. Es un lenguaje de programación parecido a Java.