El contrato de desarrollo de una APP .

El contrato de desarrollo de una aplicación  ,  es un tipo de contrato de desarrollo de software por el que se encarga a una empresa informática ,con conocimientos técnicos, el diseño,la elaboración y entrega de un programa informático   que realiza unas funciones específicas para la empresa cliente ,  a cambio de un precio y en un plazo determinado.

¿Que es una Aplicación?.

Una aplicación es un programa informático o una aplicación de software que se ejecuta en un teléfono móvil,tablet ,en un smartwatch,smarttv, o en un ordenador.Otra definición podria ser la de un “programa o conjunto de programas cuyo objeto es la resolución de un problema mediante el uso de la informática”.

¿Qué es una aplicación para dispositivos móviles?.

En el Real Decreto 1112/2018 de 7 de septiembre sobre accesibilidad de los sitios web y aplicaciones para dispositivos móviles del sector publico  en su articulo 4 con respecto a las aplicaciones para dispositivos móviles se  dice : “Aplicaciones para dispositivos móviles:Son las aplicaciones informáticas diseñadas y desarrolladas para ser usadas por el público en general en dispositivos móviles,entre los que se incluyen los teléfonos inteligentes y las tabletas.No incluyen el programa software que controla dichos dispositivos (sistemas operativos para dispositivos móviles ) ni el equipo informático”.

¿Qué es una aplicación web?.

Una aplicación web es un programa que se ejecuta en un servidor web.

Las aplicaciones web se utilizan mediante un navegador o “web browser” que es aquel software,aplicacion o programa con el que se tiene acceso a la web.Tambien el navegador es la aplicación que , mediante enlaces de hipertexto, permite tener acceso a Internet.

¿Cuál son las  obligaciones principales  de la empresa informática que desarrolla la Aplicación?

En primer lugar tiene que DISEÑAR  el programa de ordenador o la correspondiente aplicación informática conforme a las necesidades acordadas con la empresa cliente.

En segundo lugar tiene que ELABORAR  el programa o la correspondiente aplicación.

En tercer lugar tiene que ENTREGAR  e INSTALAR el programa o la aplicación en la fecha convenida de finalización y que éste cumpla con los criterios recogidos en el contrato.

¿Qué obligaciones tiene la empresa cliente?.

La empresa cliente debe de colaborar con la empresa  ya que el proceso de desarrollo de aplicaciones se divide en varias fases:

-Idea o Análisis .

-Diseño y creación del prototipo de la aplicación.

-Desarrollo de la aplicación a través del Wireframe y del sistema Back-end.El Wireframe es una guía visual que facilita la representación de un sitio web.Los wireframes se pueden crear con un software o mediante boceto realizado en soporte papel.El Back-end es el sistema que centraliza las peticiones realizadas desde los dispositivos móviles y que permite gestionar las funcionalidades de la Aplicación.En las aplicaciones de software también se habla del Front-end o interfaz de usuario.

-Lanzamiento de la aplicación.

-Marketing y venta de la aplicación que no es objeto  del contrato de desarrollo de una aplicación .

Además la empresa cliente  debe suministrar la información a la empresa que va a desarrollar la aplicación,debe  realizar los correspondientes controles sobre el proyecto de la aplicación móvil , pago del precio,etc.

Aparte de estas obligaciones principales, se pueden pactar otros deberes para ambas partes , que son accesorios y que derivan del articulo 1258 del Código Civil.

 ¿Qué tipos de aplicaciones móviles hay?.

Aplicaciones nativas.

Son aquellas que están diseñadas para una plataforma específica  o un sistema operativo (Ios, Android,Windows).

Aplicaciones híbridas.

Son aquellas diseñadas en un lenguaje de programación web:

Html(HyperText Markup Language) o lenguaje de marcado de hipertexto con el que se define el contenido de un sitio web.

CSS(Cascading Style Sheets):  hoja de estilo en cascada , es un lenguaje informático o un código con el que se maneja el diseño y la presentación de una web.Fue desarrollado por el W3C o World Wide Web Consortium .

JavaScript:Se utiliza para la programación de la funcionalidad de una página web  dotándola de interactividad.

Ejemplos de aplicaciones híbridas:Evernote,Instagram.

¿Qué es el framework?.

Framework:es el marco de trabajo que utilizan los programadores para el desarrollo de un software o de una aplicación.Ejemplos de framework:

 Ionic:plataforma SDK(Software Development Kit o Kit de Desarrollo de Software)de código abierto.

Phone Gapp:sirve para crear aplicaciones híbridas.Es un framework de código abierto.

React Native:framework basado en Javascript.

Flutter:framework creado por Google.

Aplicaciones móviles web.

Son aquellas que se ejecutan en el navegador(Safari,Chrome,etc) y que se encuentran instaladas en el servidor web.Se accede a través de la URL(Uniform Resources Locator) o Localizador uniforme de recursos en el navegador.

Aplicaciones progresivas o Progressive Web Apps.

Se accede a ellas a través del navegador y además se pueden utilizar desde un PC o Smartphone.

Ejemplos de aplicaciones web progresivas:Spotify,HighTide,Flipboard,Telegram.

Aplicaciones móviles propias de las Redes Sociales.

-Whatssapp.

-Telegram.

-Facebook.

-Linkedin.

-Instagram.

-Tik-tok.

-Pinterest.

-Snapchat.

-Youtube.

-Twitter.

-Reddit.

Aplicaciones preinstaladas en los teléfonos móviles :

-Lector Qr.

-Reloj.

-Videconferencia

-Tiempo.

-Juegos.

-Notas.

-Calendario.

-Mapas.

¿Qué lenguajes se aplican para el desarrollo de aplicaciones móviles?.

Java:lenguaje orientado a objetos independiente de la plataforma física y del sistema operativo y que fue promovido por Sun Microsystems.

Kotlin para Android.

Swift para el desarrollo de aplicaciones iOs(Sistema operativo del teléfono IPhone)  y MacOs(Sistema Operativo de las computadoras Mac).

Objective para iOs.

¿Qué herramientas existen para el desarrollo de las aplicaciones móviles?.

-Back4App.

-Firebase (Google).

-Heroku.

-xCode (Apple).

-Visual Studio(Microsoft).

-Xamarin.

¿Tienen código fuente las aplicaciones móviles?.

Sí.Para  Xavier Ribas el “Código fuente es el núcleo formal del programa”.El código fuente o “source code” es el conjunto de instrucciones que escribe el programador a la hora de desarrollar un programa .

Los códigos fuente pueden ser códigos de fuente abierta (open source):aquel en el que los desarrolladores pueden ver,modificar y redistribuir el código.Un ejemplo es el lenguaje de programación Swift que pasó a ser de código abierto y que sirve para el desarrollo de aplicaciones para iOS  y MacOs.

¿Es conveniente que el código fuente de una aplicación se entregue a un tercero?.

Si, es conveniente formalizar un contrato de Escrow con un tercero depositario que puede ser privado o institucional.