Las mejores herramientas de desarrollo de aplicaciones de código abierto 2016 – Parte 2

Hace algún tiempo iniciamos este articulo Empezando el 2017 y hacemos un recuento de las mejores herramientas de desarrollo de aplicaciones de código abierto del pasado año 2016. Estas son elegidas por el publico e incluso sacadas de la lista “Bossie Awards” ya muy reconocida. He aqui la segunda y ultima parte de ese articulo.

 

Johnny-Five


ScreenShot Johny-Five J5
ScreenShot Johny-Five J5

Se podría pensar que el lenguaje Javascript era una falta de coincidencia para la robótica y aplicaciones de IO, pero podría estar equivocado. El movimiento para aplicar JavaScript para robótica ha ido creciendo desde 2010. Sí, muchas de las aplicaciones de producción de micro controladores están escritas en C o Python, pero pedirle esto a un estudiante de robótica aprender a dominar la programación C, esto podria ser pedirle como pedirle, hacer las cosas de la manera dificil.

El Johnny-Five (Johnny-Cinco) es un marco donde pretende ser un kit de control de línea de base para proyectos de hardware. Es compatible con un montón de computadoras de una sola placa, incluyendo Arduino (todos los modelos), Energía Imp, BEAGLEBONE, Intel Galileo y Edison, Linino Uno, Pinocho, pcDuino3, Frambuesa Pi, Partícula / Spark Core y fotones, Tessel 2, y TI LaunchPad . Johnny-Cinco puede soportar tantas juntas, ya que está basado en el protocolo Firmata y tiene una arquitectura plug-in de IO.

Dependiendo de la junta, Johnny-Cinco puede funcionar en un entorno de placa Linux, así como en una máquina atado a un cliente (a través de USB de serie o Ethernet), la comunicación a través de Wi-Fi para el cliente, o comunicarse a través de Bluetooth al cliente. En la producción es posible que desee cambiar a un tablero con soporte inalámbrico o interna con Linux.

En Johnny-Five, las abstracciones básicas son los bloques de construcción de hardware: juntas, LEDs, servos, GPS, motores, relés, botones, interruptores, sensores, y así sucesivamente. Cada clase tiene prácticamente los métodos, propiedades, eventos y colecciones que uno espera.

 

Angular


ScreenShot Angular
ScreenShot Angular

AngularJS ha sido un marco muy popular desde hace varios años, y en este reciente pasado año ha alcanzado mayor relevancia con su nueva version AngularJS 2, sobre todo por sus enlace de datos bidireccionales y su modelo-vista-arquitectura (MVW). Angular 2 es una re escritura completa del AngularJS que utilizaba un mecanografiado en lugar de JavaScript, pero en general mantiene la compatibilidad hacia atrás con AngularJS.

Angular 2 soporta aplicaciones web, aplicaciones móviles nativas (a través de diversos prestadores en forma nativos), y las aplicaciones de escritorio (con “Electron“). El uso de mecanografiado da tipo 2 en tiempo de compilación y validación interfaz angular. Mecanografiado compatible con la edición y herramientas de depuración que es consciente de el marco 2 de angular y puede proporcionar una buena finalización de código y abanderamiento de error.

Angular 2 fue diseñado con la eficiencia en mente el tiempo de ejecución, así como la productividad: plantillas de vista angular, que tienen una sintaxis muy sencilla, se compilan en JavaScript que está optimizado para los motores de JavaScript modernas. El nuevo componente router angular 2 puede hacer el código de división (carga lenta) para reducir la cantidad de código entregada a prestar una vista. Esto no se introdujo sin problemas. Las dos versiones iniciales del enrutador tenían algunos problemas con profundos vínculos en secciones de código-cargado ligeramente. La tercera vez que se supone que es el encanto; sabremos con seguridad una vez que ha sido ampliamente probado en campo.

Además, Angular 2 tiene una CLI y un envoltorio útil para las animaciones Web API. Es compatible con las pruebas con el Karma y un transportador, y tiene plenamente componentes-ARIA habilitado para la accesibilidad.

 

Bootstrap


ScreenShot Bootstrap
ScreenShot Bootstrap

Bootstrap afirma ser el más popular marco HTML, CSS y JavaScript para el desarrollo, y móvil con los primeros proyectos de respuesta en la web. Dado que el principal twbs / repositorio de arranque en GitHub tiene más de 97.000 estrellas y casi 12.000 commit, que bien indican que pudieran serlo.

Bootstrap puede acelerar su desarrollo web responsivo, sobre todo si utiliza sus diseño de cuadrícula y el tema de CSS. Por otro lado, Bootstrap tiende a ser considerado por mucho algo Sucio (porky) en cuanto a la cantidad de código que tira o hay que incluir, viola varias de las mejores prácticas de desarrollo web, y puede hacer que su sitio se vea exactamente igual que cualquier otro Sitio Plano Vainilla de Bootstrap en el planeta (que es popular, recuerde) todo esto, si no se toman el tiempo para personalizar la apariencia.

Es un marco frontal originalmente de Twitter (sus criadores y origenes), Bootstrap no tiene nada que decir sobre la parte trasera de una aplicación, ya que no esta orientado a un BackGround o BackProcess. Tendrá que tomar las acciones del formulario que apuntan a tu web o aplicación de servidor, o puede utilizar un marco de enlace de datos tales como angular, junto con Bootstrap. Si elige la segunda opción, asegúrese de que no está tirando en dos copias de jQuery. En su lugar utilice uno de los proyectos angular de interfaz de usuario de archivos de inicio que unen a los dos marcos juntos correctamente.

La actual versión Bootstrap de producción a partir de este escrito es v3.3.7; Bootstrap 4 está en pruebas alfa, y pronto sabremos de el.

Proyecto R


ScreenShot R
ScreenShot R

El lenguaje R, junto con su entorno, implementa computación y gráficos estadísticos: lineal y no lineal de modelado, pruebas estadísticas, análisis de series temporales, clasificación, agrupación, y así sucesivamente. R es una herramienta popular y útil para los científicos de datos estadísticos y que cada vez se aplican a los datos grandes. R es a menudo comparado con Python (aumentada con NumPy, pandas, y Statsmodels) para el análisis de datos y aprendizaje automático.

El proyecto de I utiliza la licencia GNU GPL 2 y está dirigido por una fundación de código abierto que está dominado por el equipo de desarrollo. El R Archivo de Red Global (CRAN) acoge fuente y los binarios I, así como los muchos paquetes de add-on R. Hay un proyecto de I Journal y una conferencia anual de usuarios R.

RStudio es un muy buen entorno de desarrollo de I que es gratuito y de código abierto, pero también ha apoyado licencias comerciales. Hay una media docena de otros IDE R y una docena de editores que admiten R, incluyendo Emacs.

Microsoft adquirió recientemente Revolución R, y se publicó un servidor R, así como un componente R en SQL Server 2016. Otras bases de datos con soporte R incluyen dashDB, Vertica, Greenplum, Oracle y Teradata.

La generación actual de R es la versión 3.3.1. (No se puede inventar estas cosas.) Está disponible y compilado para Linux, OS X y Windows, y en forma de código fuente, todo desde CRAN refleja en todo el mundo. El repositorio de sólo lectura wch / r de código en GitHub, que se tiró desde el repositorio de Subversion R Proyecto sobre una base horaria, tiene casi 50.000 confirmaciones.

 

Pandas


Pandas Screen Shot
Pandas Screen Shot

El lenguaje Python por sí mismo es ideal para manejar los datos, pero no tan grande para el análisis y modelado. Introduzca pandas, que ofrece alto rendimiento, estructuras de datos fácil de usar y herramientas de análisis de datos para el lenguaje de programación Python. Pythonistas afirman que las pandas combinados con los cuadernos Jupyter, scikit-learn (para el aprendizaje de la máquina), y Statsmodels (estadística y econometría) hace que sea innecesario para ellos usar R para el análisis de datos y modelización.

Las características clave de las pandas son un objeto de trama de datos rápida y eficiente similar a R para la manipulación de datos con la indexación integrado; métodos para leer y escribir datos entre las estructuras de datos en memoria y diferentes formatos; alineación de datos y manipulación de datos faltantes; la remodelación y el pivotamiento de los conjuntos de datos; la agregación o la transformación de los datos con un tipo SQL group by del motor; la fusión y la unión de los conjuntos de datos; indexación eje jerárquico; funcionalidad de series de tiempo; y un rendimiento optimizado. Pandas requiere NumPy y opcionalmente SciPy, matplotlib, y Statsmodels. Pandas es a su vez una dependencia de Statsmodels.

 

scikit-learn


scikit-learn ScreenShot
scikit-learn ScreenShot

Scikit-learn es uno de los componentes clave de un conjunto de herramientas basado en Python para el análisis de datos, junto con las pandas, cuadernos Jupyter, Statsmodels, y sus propias dependencias NumPy, SciPy, y matplotlib. El módulo scikit-learn Python implementa herramientas para el aprendizaje de máquina, incluyendo algoritmos de clasificación, agrupación, la regresión, la reducción de dimensionalidad, extracción de características, la selección del modelo, y pre-procesamiento. Hay suficientes algoritmos que scikit-learn suministra de una hoja de trucos para señalarle en la dirección correcta.

La selección del algoritmo de aprendizaje automático en scikit-learn está limitado a las opciones bien establecidas, lo que significa que ha habido al menos tres años desde la publicación, con más de 200 citas, el uso de ancho, y demostró la utilidad. Hay muchos módulos compañero de Python que se encargan de las tareas fuera del alcance de scikit-learn: Seqlearn y Hmmlearn para los modelos ocultos de Markov, PyStruct para las predicciones estructurados, pandas y Statsmodels para las estadísticas, Teano para el aprendizaje profundo, Scikit-imagen para el procesamiento de imágenes, y NLTK para el procesamiento del lenguaje natural.

links & referencias: 


Si deseas mas información o consultar las fuentes bibliográficas, aquí te dejamos…

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *