IDEs y Frameworks mas utilizados

Post on 13-Aug-2015

119 views 7 download

Transcript of IDEs y Frameworks mas utilizados

Ing. George Navarro 2015

Frameworks y Entornos de desarrollo

• Programa Informático

• Compuesto por un conjunto de herramientas de programación

• Es un entorno de programación que ha sido empaquetado como un programa de aplicación

• Puede dedicarse en exclusiva a un solo lenguaje de programación o bien puede utilizarse para varios.

Entorno de Desarrollo Integrado (Integrated development environment

IDE)

Un IDE consiste en:

• Un editor de código

• Un compilador

• Un depurador

• Un constructor de interfaz gráfica (GUI)

Entorno de Desarrollo Integrado (IDE)

Visual Studio Compatible con múltiples lenguajes de programación (>50) Soporta dispositivos como móviles Windows Phone, Tablets W8, consolas Xbox

IDE – LENGUAJES

Eclipse Basado en Java. Hecho esencialmente para Java y Android Plugins para C, C++, Ada, Perl, Python, Ruby, PHP

IDE – LENGUAJES

Netbeans Basado en Java y para Java Plugins para C, C++, Ada, Perl, Python, Ruby y PHP

IDE – LENGUAJES

Pycharm Programación en Python. Se asocia perfectamente con el framework web Django.

IDE – LENGUAJES

Android Studio Programación para la plataforma Android (Java).

IDE – LENGUAJES

Sublime Text (Windows/Mac/Linux)

IDE – EDITORES DE TEXTOS

• Uno de los mejores editores que existen actualmente.

• Destaca por lo ligero y simple que es.

• Aspecto visual sencillo pero elegante.

• Automatismos para realizar cambios de código.

• Sobretodo gran capacidad de personalización.

• Incorpora una gran cantidad de plugins para hacer prácticamente cualquier cosa.

Sublime Text (Windows/Mac/Linux)

Notepad ++ (Windows)

IDE – EDITORES DE TEXTOS

• Uno de los editores mas usados que existen actualmente.

• Es ligero, sencillo y eficiente.

• Parte del block de notas clásico de Windows.

• Variadas funcionalidades de tratamiento de textos.

• Presenta un gestor de plugins para ampliar las funcionalidades .

Notepad ++ (Windows/GPL)

FRAMEWORKS

• Un framework o infraestructura digital, es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, que puede servir de base para la organización y desarrollo de software.

• Típicamente, puede incluir soporte de programas,

bibliotecas, y un lenguaje de interpretado, entre otras herramientas, para ayudar a desarrollar y unir los diferentes componentes de un proyecto.

• Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio, y provee una estructura y una especial metodología de trabajo, la cual extiende o utiliza las aplicaciones del dominio.

FRAMEWORKS

Arquitectura Framework

modelo MVC

MODELO VISTA

CONTROLADOR

Maneja las operaciones lógicas Y de gestión de información

Le corresponde dibujar, expresar la ultima forma de como muestran los datos GUI que interactúa con el usuario final

Controlar el acceso (todo) a nuestra aplicaciónSe puede diversificar el contenido de forma dinámica y estática a la vez

FRAMEWORKS WEB

• Un framework web, es un tipo de framework, específicamente diseñado para ayudar a los desarrolladores a construir aplicaciones web.

• Típicamente proporcionan funcionalidades básicas y comunes a la mayoría de las aplicaciones web, como: gestión de usuario de la sesión, la persistencia de datos, y sistemas de plantillas.

FRAMEWORKS WEB MAS NOTABLES

JAVA

FRAMEWORKS WEB MAS NOTABLES

PHP

FRAMEWORKS WEB MAS NOTABLES

PYTHON

FRAMEWORKS WEB MAS NOTABLES

RUBY

¿ CÓMO SELECCIONAR UNA PLATAFORMA DE DESARROLLO

PARA UN PROYECTO WEB ?

Antes de comenzar con el análisis comparativo de plataformas, se exponen dos consejos.

1er Consejo: Cualquier informático te dirá que la plataforma que él maneja es la mejor, pero sólo porque no conoce otras plataformas.

2do Consejo: Si tu plan de empresa depende críticamente de las presuntas eficiencias espectaculares de una determinada plataforma, entonces es que deberías replantearte algo en tu plan de empresa.

SELECCIÓN DE PLATAFORMAS

1º) Grado de madurez.

2º) Tamaño y grado de actividad de la comunidad.

3º) Disponibilidad de librerías y aplicaciones de terceros.

4º) Disponibilidad y coste salarial de los programadores.

5º) Dificultad de la curva de aprendizaje.

6º) Compatibilidad con el resto del ecosistema.

7º) Rendimiento y escalabilidad.

Nota: Podría estar la productividad, pero queda fuera, ya que si se usan bien las mencionadas, todas ellas ofrecen un grado de productividad equivalente, o, al menos no lo bastante diferente como para que debiera ser relevante.

CRITERIOS PARA EVALUAR UNA PLATAFORMA

5 PLATAFORMAS MAS POPULARES DEL LADO DEL SERVIDOR

JAVA

PHP

MICROSOFT .NET

PYTHON / DJANGO

RUBY ON RAILS

TECNOLOGIAS FRONT-ENDLADO DEL CLIENTE

HTML/CSS o HTML5 / CSS3

JAVASCRIPT / JQUERY / AJAX / DOJO

BOOTSTRAP / LESS / YUI

BACKBONE/ COFFESCRIPT

NODEJS / PHANTOMJS

CONCLUSIÓNNinguna plataforma es óptima para todas las necesidades.

RECOMENDACIONES• Si tienes que desarrollar un sitio web para una multinacional, o hacer

integraciones complejas con otras plataformas o realmente vas a crecer mucho, tanto en tráfico como en número de desarrolladores, entonces elige Java sobre PostgreSQL.

• Si quieres tener presencia online de forma eficaz y asequible, inclusive con e-commerce, pero tu website no es el factor crítico exclusivo de tu negocio, entonces elige LAMP (Linux, Apache, MySQL/MariaDB y Perl,Php ó Python).

• Si tienes que desarrollar una intranet o un sitio web corporativo conociendo de que los usuarios tendrán Internet Explorer y tecnologías Microsoft entonces elige .NET sobre SQL Server

• Si necesitas una web con contenidos dinámicos mantenida por un equipo compacto y eficiente de programadores entonces elige Django sobre PostgreSQL o Ruby on Rails sobre MySQL.

G R A C I A S