Programación

La programación informática o programación algorítmica, acortada como programación, es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales.

Algoritmo

Un algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Un programa normalmente implementa (traduce a un lenguaje de programación concreto) uno o más algoritmos.

Compilación

El programa escrito en un lenguaje de programación de alto nivel (fácilmente comprensible por el programador) es llamado programa fuente y no se puede ejecutar directamente en una computadora.

Desarrollador

Para conseguirlo se hace uso de tecnologías de software del lado del servidor y del cliente que involucran una combinación de procesos de base de datos con el uso de un navegador web a fin de realizar determinadas tareas o mostrar información.

Diseño Web

Actividad que consiste en la planificación, diseño, implementación y mantenimiento de sitios web. No es simplemente la implementación del diseño convencional ya que se abarcan diferentes aspectos como el diseño gráfico web; diseño de interfaz y experiencia de usuario

lunes, 30 de mayo de 2016

5 RAZONES POR LAS QUE TU NEGOCIO DEBE TENER UNA PÁGINA WEB

1.-Para la Presencia en Internet

Hoy en día, el mejor escaparate para tu negocio es Internet. Se calcula que a finales de año la cifra de usuarios de Internet a escala mundial ascenderá a 4000 millones. El mercado cada vez está más globalizado y la competencia es más fuerte. Seguramente, esa competencia ya tiene su página profesional. Tu imagen corporativa y tu página web son la cara visible de tu marca. Por eso tienen que ser actuales y potentes.

2.- Para Ofrecer Atención al Cliente y Generar FeedBack

El tener una web te brinda la oportunidad de estar en contacto constante con tus clientes, que pueden consultarte en cualquier momento o ver tus productos y/o servicios a cualquier hora. Eso les da confianza y seguridad. Con una buena estrategia de comunicación en nuestra página, favoreceremos el feedback con el cliente, el que pueda dejarnos su opinión, sus dudas, sus alabanzas y quejas. Es importante respetar todas las opiniones y responder en todos los casos. Eso nos dará buena imagen cuando nuevos clientes accedan a nuestro sitio.

3.- Para que te Encuentren

Actualmente, el mayor porcentaje de búsqueda de profesionales se hace en Internet. Cuando la gente realiza esas búsquedas en la red es importante que nos encuentre en los primeros puestos, por eso la importancia de un buen trabajo de posicionamiento SEO y de palabras clave previamente estudiado. Diferénciate dentro de tu sector con una página sencilla, fresca y nueva. Dale credibilidad y añade valor con un contenido siempre actualizado y de interés para tus clientes. Eso potenciará los motores de búsqueda para que te encuentren más fácilmente.

4.-Para Conseguir Nuevos Clientes y Fidelizar a los que ya Tienes

Si hacemos un buen trabajo con la web, y aplicamos algunas técnicas sencillas de marketing online, veremos como comienzan a contactarnos nuevos clientes. Podemos dirigirnos a nichos de mercado concretos o baremos de edades, para obtener mayor efectividad. Si somos competitivos en nuestra imagen y servicios, esas visitas se convertirán en clientes. También podemos usar esas técnicas para fidelizar a nuestros clientes habituales, ofreciéndoles ventajas específicas pensando en sus necesidades, y entreteniéndoles con contenidos de interés.

5.- Para Conseguir Publicidad Con Mayor Alcance

Una página web es una manera de publicitarnos diariamente con un mínimo mantenimiento. Un anuncio permanente que puede contar diferentes cosas según lo vayamos adaptando a las necesidades cambiantes de nuestro público y que tiene un alcance mundial con un coste realmente bajo.

Haz historia te ofrece las mayores facilidades para tener tu página web y dar a conocer tu negocio al mundo, o renovar la imagen de tu antigua página al mejor precio. Ofrecemos diferentes paquetes adaptados a tus necesidades, facilidades de pago, alquiler web… Todo lo que sea necesario para que, a pesar de la crisis, puedas competir y seguir adelante.

miércoles, 25 de mayo de 2016

¿Qué es y qué ventajas tiene el formato SVG?

Formato SVG El futuro de las imagenes

Editores SVG

SVG (Scalable Vector Graphics) es un formato vectorial poco conocido pero muy útil para su uso online por su flexibilidad y por la capacidad de ofrecer gráficos con calidad.

El formato SVG es para muchos un total desconocido. Cuando queremos colocar algún gráfico en la web, en la mayoría de ocasiones optamos por JPG o alguna vez por un PNG o GIF, en caso de necesitar transparencia o animación.

Lo que muchos no saben es que se pueden usar archivos vectoriales para su uso en navegadores.

VECTORIAL

SVG es vectorial, lo que supone tener todas las ventajas de cualquier formato vectorial. Es escalable, pesa poco y permite una definición mayor a tamaños reducidos, mucho mayor que los archivos bitmap. El formato es igual al que se utiliza con cualquier programa vectorial como Corel Draw o Adobe Illustrator.

STANDARD ABIERTO Y COMPATIBLE

Así como el formato Flash, que también era vectorial, propiedad de Macromedia, es decir de Adobe, el formato SVG es un formato abierto, estándar y basado en XML. Aunque las primeras versiones no se podían ver en los diferentes navegadores, hoy ya es un estándar que funciona sin problemas en todos los navegadores.

SVG se convirtió en una recomendación del W3C en septiembre de 2001 con lo que en estos momentos ya es admitido por todos. A ser un formato basado en XML necesitamos cierto control de código para hacer que un archivo SVG funcione adecuadamente.

TIPOGRAFÍAS

El formato SVG nos permite por un lado utilizar las tipografías con trazados pero también nos permite incluirlas dentro del propio archivo en formato TrueType y Tipo 1, lo que nos da una capacidad extraordinaria en cuanto a que los motores de búsqueda son capaces de indexarlo.

Hay que tener en cuenta que para el texto puro colocado como tipografía tiene que ser o bien de las fuentes instaladas en el sistema o bien incluidas como estilo CSS.

Proyectos como Iconic también usan el formato SVG para hacer que una tipografía con iconos nos sirva para los diferentes usos y necesidades de tamaño y variación en función de las acciones que deseemos. Puedes ver ejemplos en su web con los que se entenderás realmente y en profundidad el verdadero uso del formato SVG.

INTERACTIVO

Los archivos SVG pesan poco, igual que lo haría un archivo vectorial. Soportan estilos CSS, con lo que si cambiamos el estilo en nuestra web también cambiará dentro del archivo. Puede incluir scripts que permiten caminos dinámicos. Puede admitir acciones como los rollovers o cambios al hacer click. Puedes ver un ejemplo en este enlace: http://codepen.io/chriscoyier/pen/evcBu

ICONOS RESPONSIVE

En la actualidad todas las webs están migrando al formato responsive, así que nos encontramos multitud de iconos que se redimensionan en función del ancho de la pantalla. Normalmente el funcionamiento suele ser sustituir un icono bitmap por otro más pequeño. Con SVG podemos utilizar el mismo y que se vaya reduciendo poco a poco, o bien que utilizar varios tamaños pero que todos ellos sean SVG con la ventaja de la mejor visualización al ser vectorial.

Usando Inkscape para crear una imagen vectorial SVG.

Como elegir un buen hosting web

¿Tienes en mente un proyecto web y no sabes como elegir un buen hosting web en Internet? No te preocupes! Seguro que al final de este post darás con la solución, o al menos estarás un poco mas relajado, la decisión de elegir uno u otro proveedor de hosting web es muy importante como para dejarla a la suerte o al primero que veamos es por esto que he decidido escribir estas cuantas letras para ti y tu situación.

¿Que tipo de proyecto estas a punto de comenzar? Esta y otras preguntas deberás hacerte antes de comenzar a elegir un buen hosting web, mas adelante te haremos estas preguntas que deberás responder y tu mismo obtendrás tu respuesta a la inquietud que en principio es la decisión mas importante antes de comenzar un proyecto web en Internet, ¿Como elegir un buen hosting? Sigue leyendo..

LA IMPORTANCIA DE UN BUEN HOSTING WEB

Como los son los cimientos para un casa, un buen servicio de hosting es fundamental para nuestro proyecto en Internet sea este cual sea.

Este proveedor de hosting web almacenara nuestros archivos en sus servidores, se encargara del acceso a nuestra información y jugara un papel importante en la experiencia de usuario de nuestros visitantes, ahora dime ¿Elegirás a cualquier proveedor de hosting web? Seguro que las respuesta es NO.

Factores a tomar en cuenta a la hora de elegir un hosting web

Antes que nada debes saber que existen varios servicios dentro de la categoría “contratar un hosting”, es decir, existen los hosting compartidos, los hosting VPS que son servidores virtuales privados, están los servicios de hosting con servidores dedicados.

Hosting compartido – Compartirás el servidor con algunos cuantos mas servicios de hosting ademas del tuyo, esta modalidad es la mas barata pero también la menos eficiente ya que tu servicio compartirá los recursos del sistema con otros servicios de otros usuarios ademas de que si existe algún problema en el servidor ocasionado por un usuario y este queda offline todos quedaran sin servicio. Este servicio es apto para paginas web simples, foros y blogs con un trafico de ligero a moderado.

Hosting VPS – El siguiente paso cuando tu hosting compartido te queda pequeño es siempre el VPS – Servidores Privados Virtuales – estos son también alojados en la misma pc servidor pero con la diferencia de que tu servicio esta separado de los demás de forma logica, es decir, físicamente se encuentra en la misma pc pero de forma virtual o lógica esta apartado del resto.

Este servicio ya es mas caro que el anterior, es el siguiente paso cuando tu proyecto quede pequeño en el hosting compartido, ademas es para proyectos profesionales y serios debido a su precio.

Servidores Dedicados – Es el ultimo paso, aquí tu proyecto estará alojado en un servidor exclusivo para ti. Como te podrás imaginar el precio es mucho mas caro, podrás controlar aspectos de hardware y software mas a detalle. Sin duda alguna este servicio es para proyectos importantes, profesionales y con mucho requerimiento para los servidores.

¿Ahora ya sabes un poco como elegir un buen hosting web? Seguro que si, depende de tu proyecto el tipo de hosting web

martes, 24 de mayo de 2016

React JS

Framework de facebook React JS

Link Página: React js

En los últimos años el auge de las aplicaciones basadas en HTML5 y Javascript ha sido imparable, y si a este lo unimos que Javascript no ofrece un conjunto de librerías estándar que dicte una forma canónica de hacer las cosas (como sí ocurre en otras plataformas como .NET o Java), es natural que este auge haya venido acompañado de la aparición de muchas librerías y frameworks para desarrollar este tipo de aplicaciones.

ReactJS es otra librería más diseñada para ayudarnos a desarrollar aplicaciones SPA, con una fuerte carga de interactividad en el cliente gracias al uso de Javascript.

Ha sido desarrollada por Facebook y está publicada como Open Source con una licencia Apache 2.0.

Lo interesante de ReactJS es que aporta un enfoque distinto al que podemos ver en otras herramientas como KnockoutJS o AngularJS de las que ya hemos hablado por aquí en alguna ocasión.

Los top 7 mejores framewoks de JAVA WEB

1. Struts 2

Apache Struts 2 es un framework de desarrollo web lista para la empresa para la aplicación Java. Se ha diseñado para agilizar todo el ciclo de desarrollo a partir de la construcción de implementar. Struts 2 es un esfuerzo combinado de WebWork y comunidades Struts. A diferencia de las aplicaciones web convencionales, se puede crear respuestas dinámicas. Struts 2 viene con un diseño mejorado con un código limpio para las interfaces marco HTTP independiente. Añadido interactividad y flexibilidad con las etiquetas AJAX da la apariencia al igual que las etiquetas estándar de Struts.

No utiliza las formas de acción, en lugar Struts 2 utiliza JavaBean para capturar entrada de un formulario o poner propiedades directamente en una clase Action. Acciones POJO permite a la clase para utilizar como una clase de acción con interfaz opcional. API plugin para el navegador de configuración incluyen marco, JasperReports, JavaServer Faces, Pell multiparte, Plexus, sitegraph, SiteMesh, azulejos y Struts 1. El marco requiere esencialmente Servlet API 2.4, JSP API 2.0 y Java 5.

Struts 2 podría ser una gran opción para los equipos pequeños que buscan aprender sobre los de fuente abierta herramientas que utilizan. No es para los programadores de sillón en busca de arrastre y el desarrollo de la gota.

2. JSF

JavaServer Faces (JSF) es un java aplicación web marco establecido el estándar para el desarrollo de interfaces de usuario en el servidor de aplicaciones Java EE. Las API JSF están diseñados para aprovechar las herramientas que harían que el desarrollo de aplicaciones cada vez más fácil. Se utiliza un enfoque basado en el componente. JSF utiliza Java Server Pages JSP como su tecnología de visualización, pero también puede apoyar otras tecnologías como XUL y Facelets. La interfaz de usuario se guarda en la petición de los clientes para la nueva página y restaura cuando se devuelve la respuesta.

JSF tiene un conjunto de API para representar componentes de la interfaz de usuario y administra su estado, la conversión de los valores, de validación de entrada y manejo de eventos, definir la navegación y la página de soporte para la accesibilidad y la internacionalización. Tiene dos JavaServer Pages ( JSP ) librerías de etiquetas personalizadas para expresar una interfaz JavaServer Faces dentro de una página JSP. Algunas de sus características principales son las del lado del servidor modelo de eventos, administración de estado, JavaBeans con la inyección de dependencia y Unificado de lenguaje de expresión tanto para JSP 2.0 y JSF 1.2. JSF 2.0 ofrece soporte mejorado para el Ajax, permitiendo la lógica de interfaz de usuario para ejecutar en parte en el cliente y no en el servidor.

Para lo último, en el proyecto público para JEE6, Facelets sería adoptado como la tecnología de vista oficial de JSF 2.0. Esto resolvería los conflictos del ciclo de vida con JSP que obligaron a los desarrolladores para ir a soluciones alternativas.

Pros

Java EE estándar con una gran cantidad de puestos de trabajo y la demanda Inicialmente fue rápido y fácil de desarrollar Las cargas de bibliotecas de componentes.

Contras

sopa de etiqueta para JSP Carece de fuente unificada para la implementación No es compatible con DESCANSO o bien de Seguridad

3. Spring MVC

Es un marco / J2EE Java capas integración de una serie de diferentes tecnologías y es aplicable a una amplia gama de proyectos. La primavera está basado en el código de expertos publicado en uno-a-uno J2EE Diseño y Desarrollo. Primavera separa claramente la lógica de negocio, la navegación y la presentación. Es un mecanismo probado de medios construida con una capa web limpia. Spring MVC permite a los usuarios utilizar cualquier objeto como un objeto de comando o la forma - no hay necesidad de implementar una interfaz o clase base-marco específico. Primavera cuenta con un enlace de datos altamente flexibles.

MVC modelo y de opinión se basa en la interfaz del mapa que es altamente configurable, ya sea a través de nombres de frijol, a través de un archivo de propiedades, o por medio de su propia implementación ViewResolver. Primavera es compatible con el controlador como un comando opcional o en forma de objeto. Tiene una resolución de visión extremadamente flexible que puede incluso escribir una vista directamente a la respuesta.

Se debe considerar una plataforma base estratégica para el desarrollo de aplicaciones web.

4. Wicket

Apache Wicket es un componente de peso ligero basado aplicación web marco para el lenguaje de programación Java. Portillo sigue el modelo de los marcos de interfaz gráfica de usuario con estado. Cuenta con árboles de componentes que utilizan delegados de escucha para reaccionar a las peticiones HTTP en contra de enlaces y formas. Con XHTML para las plantillas que por separado la presentación y la lógica de negocio y permite a las plantillas que ser editadas con herramientas de diseño WYSIWYG convencionales.

En el marco de cada componente está respaldado por su propio modelo que representa el estado de los componentes. Portillo podría ser el mejor marco para hacer uso de sus recursos desarrolladores.

5. Seam

Es una poderosa aplicación web de código abierto marco desarrollado por JBoss. Costura ofrece una plataforma ideal para la creación de aplicaciones dinámicas de Internet en Java. Es una solución full-stack unificada que integra tecnologías como Ajax, Java Server Faces (JSF), de persistencia de Java (JPA), Enterprise Java Beans ( EJB 3.0) y Business Process Management (BPM) en utillaje. Seam también amplía el concepto de contextos. Todo el componente Seam están encerrados dentro de un contexto.

El contexto de la costura por defecto es la conversación que puede abarcar varias páginas y por lo general se extiende por todo el flujo de negocios, de principio a fin. Todas las acciones en un contexto de sesión es capturado hasta que el usuario se desconecta o cierra el navegador. Desarrollo WYSIWYG en la costura se facilita mediante el uso de herramientas de JBoss.

Seam supera los problemas de diseño mediante la eliminación tanto eliminar la complejidad, tanto a nivel de la arquitectura y de la API. Permite a los desarrolladores ensamblar aplicaciones web complejas utilizando simples clases Java anotadas, un rico conjunto de componentes de interfaz de usuario, y en partes XML.

Por encima de todo, ofrece excelente soporte para las conversaciones y la administración del estado declarativa que pueden introducir una experiencia de usuario más sofisticada. Al mismo tiempo que elimina los errores comunes que se encuentran en aplicaciones web tradicionales.

Excepcionalmente, la costura cuenta con un documento PDF creador, correo electrónico, creación de gráficos y la creación de hojas de cálculo de Microsoft Excel.

6. Google Web Toolkit (GWT)

GWT es un marco de desarrollo de software de Java que permite a los desarrolladores web para construir y mantener aplicaciones de front-end complejos JavaScript en Java. El framework de desarrollo web facilita a los desarrolladores escribir aplicaciones AJAX como Google Maps y Gmail. Aparte de unas pocas bibliotecas nativas, todo es fuente de Java que se puede construir en cualquier plataforma compatible con el GWT incluye archivos de generación Ant. GWT se centra en soluciones reutilizables y eficientes para llamadas asincrónicas a procedimiento remoto, la internacionalización, la gestión de historial, marcadores y la portabilidad entre navegadores.

Permite a los desarrolladores crear y depurar aplicaciones AJAX en el lenguaje Java con herramientas de desarrollo Java de su elección. Sin embargo, debido a la falta de modularidad en JavaScript, el intercambio, la prueba y la reutilización de componentes AJAX se convierte en una molestia.

7. OpenXava

Es un framework de desarrollo web para crear aplicaciones Ajax para empresas con Java. OpenXava ha sido diseñado por los desarrolladores de Java en busca de una vida productiva de Java Las aplicaciones empresariales. En OpenXava los desarrolladores tienen que ofrecer sólo las clases de la APP para obtener una completa aplicación lista para la producción.

No requiere de la generación de código. Se permite la generación rápida y fácil de los módulos CRUD y generación de informes. También permite la flexibilidad para desarrollar aplicaciones empresariales complejas de la vida real como la relación del cliente, facturación, paquetes de contabilidad, gestión de almacenes, etc. El marco web ofrece soporte completo Ajax y se puede utilizar en el servidor de aplicaciones (Tomcat, JBoss, WebSphere, etc.) .

Es un marco más rápido que Ruby on Rails, Spring MVC, o cualquier otro framework MVC.

Los 10 mejores Frameworks de PHP

1. CakePHP 3.0

sitio web: CakePHP 3.0

Considerado como un framework moderno para el desarrollo de PHP, CakePHP 3.0 viene cargado con características notables incluyendo componentes y helpers mejorados, mejora de la gestión de sesiones, mejora de la consistencia de las convenciones, mejoras en el ORM y muchos más.

CakePHP 3.0 viene con una mayor modularidad, lo que permite crear más librerías independientes, además de reducir el acoplamiento. Adicionalmente, hay herramientas como PSR-0, PSR-1 y Composer que han contribuido en la mejora de la interoperabilidad.

2. Laravel

sitio web: Laravel

Laravel es otro framework de PHP brillante que está equipado con un montón de características interesantes, incluyendo enrutamiento RESTful, PHP nativo o atrativo motor ligero y muchos más.

Construido con varios componentes de Symfony, laravel ofrece a las aplicaciones web una increíble base de código confiable y bien probado. Algunas otras características interesantes de laravel incluyen: un poderoso conjunto de librerías, un ORM increíble, fácil enrutamiento y una autenticación simple.

3. Phalcon

sitio web: Phalcon

Considerado como uno de los frameworks de PHP más rápidos, Phalcon se ha implementado como una extensión C junto con el consumo de recursos más bajos. Algunas de las excelentes características incluidas dentro de este framework son: traducciones, seguridad, gestión de activos, auto-loader universal y muchos más.

Se puede utilizar Phalcon para desarrollar aplicaciones completamente MVC como: un solo módulo, multi-módulo y micro aplicaciones.

4. Symfony 2

sitio web: Symfony 2

Disponible en su versión 2, Symfony es un Framework PHP excelente para la creación de sitios y aplicaciones web. Se han construido sobre Symfony componentes como Drupal, Ez Publish y phpBB. Con más de 300.000 desarrolladores, Symfony ha sido descargado más de 1.000.000 veces hasta la fecha.

Ha habido más de 1.000 contribuyentes de código de Symfony hasta la fecha. Con el respaldo de una gran comunidad de fans de Symfony, se cree que el framework pasará a un nuevo nivel en los próximos años.

5. Codeigniter

sitio web: Codeigniter

Si eres un desarrollador web que necesita de un simple y elegante conjunto de herramientas para la creación de una web con características precargadas y visualización web impresionantes, entonces CodeIgniter es el framework de referencia para ti.

Actualmente disponible en su versión 2.2.1, CodeIgniter viene con una documentación clara. Algunas otras características interesantes de este framework PHP incluyen: muy poca configuración, sin librerías monolíticas de gran escala, compatibilidad con alojamiento estándar, sin reglas de codificación restrictivas, sin necesidad de lenguaje de plantillas y muchos más.

6. Yii Framework

sitio web: Yii Framework

Considerado como un framework PHP rápido, estable, seguro y de alto rendimiento, Yii ha hecho maravillas para el desarrollo de aplicaciones Web 2.0. Proporciona la base y la instalación de aplicaciones avanzadas basadas en los requerimientos del proyecto.

Equipado con el patrón Modelo-Vista-Controlador (MVC), esquema de almacenamiento en caché con múltiples características, acceso y autenticación basado en roles, objetos de acceso a bases de datos (DAO), widgets habilitados para Ajax y documentos detallados; Yii sirve como un framework ideal para el desarrollo de aplicaciones web empresariales, aplicaciones de redes sociales, SaaS, PaaS y mucho más.

7. Aura

sitio web: Aura

Aura es un Framework PHP que ofrece paquetes de librerías independientes para PHP 5.4+. Puede optarse por el uso de estos paquetes solo, en colaboración con otro o como una combinación en un framework completo independiente.

Como segunda versión principal de Solar (un framework PHP), Aura se ha reinventado y reescrito en forma de colección de librerías con inyección de dependencias. Aura ha sido especialmente desarrollado para aprovechar las características disponibles en PHP 5.4+.

8. Zend

sitio web: Zend

Considerado como uno de los frameworks de PHP más populares para la creación de aplicaciones web de alto rendimiento, Zend viene con herramientas de codificación criptográfica y seguras que permiten ejecutar proyectos de desarrollo de aplicaciones web de una manera impecable.

Algunas de las características interesantes de Zend Framework incluyen: modularidad, extensibilidad, lista para entornos empresariales y una comunidad vibrante.

9. FlightPHP

sitio web: FlightPHP

Flight es un micro-framework extensible para PHP. Permite crear aplicaciones web RESTful de forma rápida y sencilla.

Compatible con la versiones de PHP 5.3 y superior, Flight se puede instalar muy convenientemente.

10. FuelPHP

sitio web: FuelPHP

FuelPHP es un framework MVC simple y muy flexible especialmente creado para los desarrolladores web de PHP. Independientemente de que seas un desarrollador de PHP con experiencia o un aficionado; usar FuelPHP puede llegar a ser la mejor decisión. PHPFuel soporta un enfoque basado en enrutamiento.

Eso significa, que están directamente dirigido a un punto que se ocupa de la uri de entrada, ofreciendo este punto un control completo sobre cualquier otra ejecución.

En Resumen:

Con estos 10 prácticos frameworks de PHP a tu disposición, seguramente será cómodo para crear aplicaciones web realmente sorprendentes y capaces de impresionar al público objetivo. Así, sólo tienes que intentar usar estos frameworks, y muy pronto podrás ser capaz de escoger tu favorito.

¿Qué Framework Elegir Para Mis Desarrollos?

Cuando estás empezando en el desarrollo de aplicaciones web, de pronto te das cuenta que con únicamente HTML y CSS no puedes hacer mucho, necesitas JavaScript.
Pero en cuanto empiezas a investigar sobre este lenguaje te das cuenta de que forma un ecosistema brutal, y te sientes perdido entre tanta librería, framework, plugin, etc...
He escrito este artículo para guiarte en esta selva que es el desarrollo web (En su parte Frontend principalmente).
A menos para que sepas qué es cada librería, por qué surgió, cuál es su objetivo y por qué fue sustituida por otra.

jQuery


jQuery es una librería de JavaScript que facilita el desarrollo con éste lenguaje.
No es un framework como tal, ya que no implementa ningún patrón de diseño, sólo sirve para hacer más fácil algunas expresiones.
La parte mala es que muchos desarrolladores se acostumbraron a este tipo de programación y olvidaron como se implementaba en JavaScript natural.
Un ejemplo del uso de jQuery es por ejemplo cuando queremos seleccionar un elemento del DOM con el id "miElemento":
// Vanilla JavaScript var elem = document.getElementById("miElemento"); //jQuery var elem = $("#miElemento");
La sintaxis de jQuery es más sencilla de recordar pero provoca que a la larga olvides como funciona JavaScript.

Bootstrap

Éste framework fue creado por un empleado de Twitter y lo liberó como Open Source.
Su popularidad se le debe a la facilidad de maquetación que supone usar sus clases CSS, así como el diseño visual de los principales elementos HTML de cualquier página web.
Es muy útil para realizar pequeños proyectos y probar su funcionamiento antes de invertir en diseño.

Foundation

Foundation es el otro gran combatiente en ésta batalla por el control del CSS.
Su funcionamiento y uso es similar a Bootstrap, y tanto uno como el otro mejoran al otro cada vez que cambian de versión.
En su momento Foundation era mejor porque implementaba mejor el patrón Mobile First y las etiquetas HTML para los diferentes elementos.
Después llegó Bootstrap y con su versión 3, mejoró esta parte. Actualmente Foundation está en su versión 5 donde tiene un apartado específico para WebApps, pero está preparando la versión 6, al igual que Bootstrap su versión 4, donde ambos utilizarán Flexbox CSS para el posicionamiento de elementos en la página web, lo que hará que mejore mucho más su rendimiento.

jQwidgets

jQWidgets brinda una solución integral para la construcción profesional sitios web y aplicaciones móviles. Está construido totalmente en estándares abiertos y tecnologías como HTML5, CSS, Javascript y jQuery. jQWidgets permite el desarrollo de la capacidad de respuesta de la web y le ayuda a crear aplicaciones y sitios web que parece hermoso en ordenadores de sobremesa, tablets y teléfonos inteligentes. Usar jQWidgets con frameworks populares como tecnologías de servidor como PHP, JSP, ASP.NET MVC y Node.js.
JQWidgets es una característica marco completo con toque profesional-enabled jQuery widgets, temas, validación de entrada, drag & drop plug-ins, los adaptadores de datos, construido en Wai-ARIA, accesibilidad, internacionalización y MVVM soporte.

La llegada de los Frameworks JavaScript

jQuery estaba y sigue estando muy extendido, pero a medida que las aplicaciones web implementaban cada vez más funcionalidades y complejidad, jQuery se hacía inmanejable. Llamadas AJAX, cambios de vista, etc..
El patrón de diseño MVC (Modelo, Vista y Controlador) se estaba empezando a necesitar en el Frontend cuando siempre había sido una cuestión de Backend. Surgieron varios, pero el que destacó y sigue ocupando una parte importante en el pastel es Backbone.

Backbone JS

Fue creado por Jeremy Ashkenas, autor también de la librería Underscore, y del precompilador CoffeeScript.
Backbone debe su popularidad a que es un framework extremadamente ligero (7 Kb) comparado con otros, y te permite utilizar el sistema de plantillas que quieras, otras librerías, etc.. es bastante flexible.


Ember JS

Ember es otro framework de la familia MVC. No lo conozco mucho porque no he trabajado con él, pero las bases son similares a Backbone. Es muy popular por los desarrolladores en Ruby on Rails.

Angular JS

Angular es un proyecto iniciado por Google y alcanzó mucha popularidad rápidamente. Angular trajo funcionalidades integradas que usando JavaScript Vanilla o BackboneJS necesitaban de otras librerías para implementarlo.
Angular provee un sistema de módulos propio, no es necesario utilizar Require.JS como podría necesitarse en Backbone. También trae su propio sistema de plantillas, no es necesario implementar Moustache, Handlebars, etc... Provee servicios propios para traer datos vía AJAX, sin necesidad de liberías externas.
Puedes construir directivas para extender el HTML de tus aplicaciones web, etc...
Esto hace que sea un framework más pesado, pero del que puedes sacar mucho partido. Su curva de aprendizaje es como una montaña rusa, pero una vez que entiendes gran parte de su funcionamiento te resultará muy rápido crear aplicaciones web.








domingo, 1 de mayo de 2016

GC overhead limit exceeded in Eclipse

Eclipse lanza un error GC límite de sobrecarga excede de error cuando se queda sin memoria, normalmente en el desempeño de las operaciones de memoria lentas tales como la construcción de espacio de trabajo en grandes proyectos.


El error sería algo como esto;




An internal error occurred during: "Building workspace". GC overhead limit exceeded.

Para solucionar este problema, tendrá que asignar más memoria a la instancia de Eclipse. Para ello, busque el archivo eclipse.ini en el directorio de instalación del Eclipse. El contenido sería algo similar a lo siguiente:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140116-2212
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m 

Para aumentar la asignación de memoria para la instancia de Eclipse, editar el número en las siguientes líneas:

-Xms512m
-Xmx1024m 

Estas opciones se pasan a Java en el lanzamiento de Eclipse. Xms especifica el grupo inicial de asignación de memoria, y -Xmx especifica el máximo memoria reservada para Java Virtual Machine (JVM). El número es la cantidad de memoria, en megabytes.

También puede aumentar el valor de MaxPermSize, de la siguiente manera;
-XX:MaxPermSize=1024m
MaxPermSize o Generación Permanente define la memoria asignada para mantener los archivos de clase compilados.


Reinicie Eclipse para que los cambios surtan efecto.