5_funcionalidades_android_studio_necesitas_saber
Actualidad, Android, Informática, Open-Source

5 Funcionalidades De Android Studio Que Necesitas Saber

Desde los inicios de Android hubo un IDE que sobresalió durante mucho tiempo, fue amado por la mayoría (Eclipse). Pero hoy en día contamos con la herramienta oficial de Google… Android Studio la herramienta de vanguardia para los desarrolladores de Android. Y te contaré 5 funcionalidades que seguramente no sabías de este espectacular IDE.

Compatibilidad con Android NDK (C++)

En el mundo del desarrollo móvil sabemos que no necesariamente por ser una aplicación nativa Android significa que haya sido escrito en código Java. Es el caso de Android NDK. Esta genial librería basta con implementarla desde el Android SDK y aplicar los cambios en tu proyecto.

android_ndk_from_androidcentral
Foto de AndroidCentral

 

Bien, y eso ¿Para que me sirve?

Hay aplicaciones en Android en las cuales necesitarás utilizar demasiados recursos del dispositivo móvil y por ende, optimizar de la mejor manera posible los mismos. Esto es común en los juegos de video para móviles, por sus gráficos y motores de procesamiento necesitan utilizar gran parte del hardware que tiene el dispositivo móvil. Cosa que por sí solo, Java no nos puede ofrecer <<hasta cierto punto, por supuesto>>.

En resumen, puedes crear aplicaciones en Android con C++ o incluso hacer una mezcla de Java con C++.

Pruebas Unitarias Con JUnit

De las mejores prácticas que podemos realizar como desarrolladores, son las pruebas unitarias para comprobar que nuestro código funcionará cuando se encuentre en plan de producción.

Tal, como en otros frameworks y lenguajes, Android Studio nos ofrece las pruebas unitarias tanto para el código Java como para la experiencia de usuario en Android.

Si quieres saber ¿Cómo crear las pruebas unitarias en Android? puedes consultar en su documentación oficial.

 

Instant Run

Esta es de las funcionalidades introducidas recientemente. Para no esperar demasiado tiempos de carga cada vez que compilas nuestro código, Android Studio implementó esta nueva funcionalidad excelente para aplicar los cambios de código de una manera rápida.

Es decir que haces un cambio de 5 líneas de código, presionas el botón de instant run y de inmediato compilará el código y mostrará los cambios en el dispositivo móvil.

instant_run_from_netdna-cdn
Foto de NetDNA-CDN

Claro, como todo en esta vida tiene sus ventajas y desventajas, desde mi experiencia en las últimas tres aplicaciones que he desarrollado (ElCaldo, NSEx iLifebelt y Semana Santa GT) te podría decir que hay momentos donde el instant run brilla por su ausencia, es decir que si compila los cambios pero aparece un mensaje tipo Toast para decir que debes reiniciar la actividad y entonces a la larga es como un tanto engorroso tener que reiniciar la actividad cada vez que utilizas instant run.

 

Editor De Código Inteligente

Ni siquiera has terminado de escribir el método y ya te esta autocompletando Android Studio, pero lo más curioso de todo esto es que a veces manejamos funciones, métodos, clases que incluso pueden llamarse igual en distintos paquetes, aún así Android Studio reconoce el contexto y me sugiere el más adecuado para la situación.

Es decir que es bastante inteligente el IDE para reconocer cuál será mi siguiente jugada dentro del código. También los que han visto las mejores del IDE, anteriormente cuando una línea de código te marcaba con error, te sugería cualquier ridícula solución para quitar la línea roja, pero ahora te ofrece soluciones con coherencia a resolver el error y no simplemente para quitar la fastidiosa línea roja debajo.

Traducciones A Distintos Idiomas

Android Studio es un abanderado para traducir las apps móviles a distintos idiomas, pues es sencillo, solamente se crea una carpeta con la terminación del idioma, luego creas un recurso tipo xml y agregas los strings con el id que contiene cada archivo de distinto idioma.

traductions_android_studio_from_stackoverflow
Foto de StackOverflow

Te podría interesar: Descargar Android Studio

 

Estas son funcionalidades que caracterizan a nivel general a Android Studio, sin embargo han habido nuevas funcionalidades que en una próxima ocasión te compartiré para enterarnos de lo más actual del IDE por excelencia para desarrollar apps Android.

Anuncios
como_funciona_una_api
Informática, Internet, Linux, Open-Source

¿Qué Es Y Cómo Funciona Una Api?

Ya sea que hayas interactuado o no con una API (Application Programming Interface) es necesario que sepas todo el alcance que puede tener y ejemplos prácticos de cómo funciona una api en el caso de las aplicaciones móviles.

como_funciona_una_api

¿Cómo Funciona Una API?

Hay distintos tipos de API, entre las más populares podemos encontrar las Api Rest y Json RPC. Pueden construirse con distintos lenguajes como, php, java, xml entre otros no tan populares.

 

La idea fundamental para crear una API es que tu hagas una petición (la cual lleva una consulta) y te devuelve una respuesta; Esa respuesta la tomas y luego dependiendo que necesites, escribirás código para realizar alguna acción deseada.

api_rest_how_works

how_works_json_rpc
Como funciona un JSON-RPC

 

¿Cómo funciona una API en Android y iOS?

En el caso de los sistemas operativos móviles, cuando se desarrolla una app, siempre hay un situación que se necesita de ciertos conocimientos previos, ¡claro! Me refiero a los Web Service.

Un Web Service como su nombre lo indica, es aquel servicio web para realizar consultas hacia la nube, sin importar de donde venga la petición, puede ser tanto una app móvil, una app web o una aplicación de escritorio y siempre retorna una respuesta.

Esto sucede con todas las plataformas móviles, aunque hoy en día, están procurando solventar esta situación de tener que construir un web service con otro lenguaje de programación ajeno a la plataforma móvil, que por supuesto, implica realizar más trabajo.

how_works_apirest_android
Como funciona una apirest en mobiles

De las alternativas que ofrece Google, <<para no invertir tiempo y recursos en la construcción de un web service>> encontramos la plataforma que compró en 2014, Firebase; esta herramienta de manera intuitiva simplifica el desarrollo de un web service tanto del lado móvil como del lado web.

Firebase funciona tanto para iOS como para Android y Web. Lo fabuloso de esta herramienta es que no escribes nada de código y tampoco debes entender demasiado de base de datos (vale, prácticamente nada).

firebase_logo
Logo de Firebase

Con una interfaz gráfica muy bonita, solo necesitas tu mouse y la idea básica de que quieres en la base de datos y luego la implementación es muy sencilla. En la página oficial de Firebase, se muestra toda la documentación necesaria para el desarrollo de tu servicio web para las distintas plataformas.

pro_firebase
Ventajas de Firebase

Si quieres saber más de Firebase, te recomendamos que leas antes las ventajas y desventajas de Firebase.

Por eso muchas personas consideran que el backend un app móvil no está en si, del lado del sistema operativo sino del lado del servidor. Aunque desde mi perspectiva diría que las apps móviles tienen tanto partes backend y frontend a la vez (sin incluir el web service).

 

Las APIS Más Famosas

De las apis más famosas en el desarrollo móvil encontramos las del titán Facebook, digo las <<apis>> porque la empresa Facebook además de la red social que lleva el mismo nombre, también cuenta con Instagram, Whatsapp y Messenger (¿Monopolio?).

Cuando deseamos que nuestra app tenga un sistema de logeo intuitivo, procuramos que sea muy fácil para el usuario como dar dos taps en la pantalla y listo. Por eso la api de Facebook es una de las más completas, ya que cuentas con un sistema de login, publicaciones, mensajes, bots y entre otras cosas más avanzadas.

Si quieres hacer un sistema de login sofisticado e intuitivo, te comparto las apis más populares y que probablemente en algún momento las utilizaras:

Api Facebook

Api Instagram

Api Twitter
¡Excelente! Ahora ya sabés que si quieres construir tu web service tienes dos caminos, compras tu servidor y alojas tu servicio web con tu lenguaje de preferencia, o compras tu membresía en Firebase y haces maravillas.

las_mejores_distros_linux_2017
Actualidad, Informática, Internet, Linux, Open-Source, Software, Tecnología, Ubuntu

Las 10 mejores distribuciones de Linux para el 2017

Iniciamos el año y probablemente muchos se preguntaran ¿Qué distribución Linux debería instalarme para este año? Hay muchas que hay que tomar en cuenta, Linux ahora es toda una industria sólo en distribuciones Linux de las cuales te presentaremos las mejores 10 opciones de base Linux para tu ordenador.

linux_various

1.  Ubuntu

ubuntu_logo_linux
Ubuntu Logo

Probablemente muchos ya conocen esta distro, Pero quiero recalcar que es ideal para ti mi amigo qué quieres iniciarte en el mundo linuxero, esta es sin duda una muy buena opción. Ubuntu se caracteriza por la sencillez que tiene esta distribución, ya que no necesitas mayor conocimiento para utilizar este sistema operativo.

ubuntu_envoiroment
Ubuntu Escritorio

Básicamente trae todo lo que un ordenador debe tener: herramientas de ofimática, diseño y edición (básico), al igual que multimedia. El tema de la personalización en el caso de Ubuntu no es tán sencillo a simple vista pero si eres un usuario intensivo del pingüino sabrás que hay alternativas para lograr hacer modificaciones en la interfaz gráfica.

DESCARGAR UBUNTU

2.  Debian

debian_logo
Debian Logo

Esta distribución Linux está enfocada a los servidores. Si tienes una empresa y quieres utilizar una distribución para tus colaboradores, te recomiendo Debian. Aún así también puedes realizar las cosas básicas que necesitas hacer en un ordenador, incluso los comandos en la terminal de Debian varían un poco al de la mayoría de distros.

debian_desktop
Debian Desktop

DESCARGAR DEBIAN

3.  Apricity OS

apricity_logo
Apricity OS Logo

Esta es una de las distros que han prometido innovación en el diseño y experiencia de usuario. Cosa que sinceramente  ha logrado, pero aún así en algunos momentos se torna un tanto complicado por todas las cosas que trae pre-instaladas. Esta distro está enfocada tanto para un usuario estándar, como  para el freak informático.

apricity_os_desktop
Apricity OS Desktop

Instala el OS y listo, ya puedes navegar en Google Chrome, abrir tus documentos del trabajo en Libre Office, ejecutar tus programas de Windows con PlayOnLinux, y si más tarde necesitas subir un php al servidor puedes conectarte con FileZilla.

Un dato interesantes es que está basada en Arch Linux, y sí, los comandos también cambian un poco en consola.

DESCARGAR APRICITY OS

4.  Kali Linux

kali_linux_logo
Kali Linux Logo

Kali Linux nace como predecesor del famoso BackTrack, de hecho estos dos sistemas operativos fueron creados por la misma empresa. Kali está enfocada a la seguridad informática y cuenta con más de 600 programas pre-instalados de los cuales la mayoría están hechos para su función principal <<proteger tu sistema>>.

kali_linux_desktop
Kali Linux Desktop

Entre  las funcionalidades más populares de esta distro se encuentra Nmap, que es  para escanear los puertos, y Wireshark que es como un sniffer, John The Ripper,  un crakeador de contraseñas, y por si fuera poco la suite de Aircrack-ng para las pruebas de seguridad en redes inalámbricas.

DESCARGAR KALI LINUX

5.  OpenSUSE

open_suse_logo
Open SUSE Logo

Este es De los mejores sistemas operativos basados en Linux sin duda alguna, mantiene la esencia de lo que significa ser un buen linuxero. Promueve el uso de software de licencia abierta, y es dirigida por sus mismos usuarios con una comunidad abierta, transparente, y amigable.

open_suse_desktop
Open SUSE Desktop

Algunas de sus características principales son AppArmor, que otorga permisos a aplicaciones basadas en cómo se ejecutan e interaccionan con el sistema. YaST, que es una aplicación que openSUSE utiliza para administrar el sistema e instalar software.

Y Xen, un software de virtualización. También puedes escoger la interfaz gráfica de usuario entre KDE y GNOME según tus preferencias.

DESCARGAR OPEN SUSE

6.  ArchLinux

archi_linux_logo
Arch Linux Logo

Es una distro para usuarios avanzados, este sistema operativo prueba que el usuario debe realizar un esfuerzo para comprender el funcionamiento del sistema y de esa manera crear usuarios con habilidades avanzadas.

arch_linux_desktop_mate
Arch Linux Escritorio Tipo Mate

De esa manera ayuda a personas con pocas habilidades en distintas distribuciones Linux. La consola cuenta con la particularidad de utilizar a Pacman para su gestor de paquetes.

DESCARGAR ARCH LINUX

7.  ElementaryOS

elementary_os_logo
Elementary OS Logo

Una de las distros Linux más bonitas actualmente en el mercado, que además está basada en Ubuntu LTS. La característica principal a nivel diseño es que es muy familiar para los usuarios que provienen de MacOS.

elementary_os_desktop
Elementary OS Escritorio

Esa interfaz está basada en GNOME pero con un Shell propio llamado Pantheon. También cabe mencionar, que solo cuenta con las aplicaciones necesarias para trabajar en tu ordenador, si quieres algo más específico deberás descargarlo por tu cuenta.

DESCARGAR ELEMENTARY OS

8.  Linux Mint

linux_mint_logo
Linux Mint Logo

Basada en en Ubuntu y a su vez también en Debian. De hecho puedes escoger al momento de la descarga, si quieres el instalador en base Debian o con base Ubuntu. Para los usuarios que migran de Windows está es una muy alternativa. Es bastante sencilla como dar click, siguiente, siguiente y finalizar.

linux_mint_envoiroment
Linux Mint Escritorio

DESCARGAR LINUX MINT

9.  Chrome OS

chrome_os_logo
Chrome OS Logo

Estamos ante una distro famosa, no tanto por lo que ofrece sino por dónde proviene. . El 7 de julio de 2009 Google anunció su sistema operativo basado en la web.  Probablemente esta sea la mejor comercialización de un sistema operativo de base Linux, ya que cuenta con socios de alto calibre como Samsung, Acer, y LG, entre otros.

chrome_os_desktop
Chrome OS Escritorio

Es importante mencionar que Chrome OS necesita tener conexión a internet para utilizar el 90% de sus apps por lo mismo que comentaba al principio <<Sistema operativo basado en la nube>>. Google me encanta por sus proyectos pilotos de prueba.

DESCARGAR CHROME OS

10.  Ubuntu Studio

ubuntu_studio_logo
Ubuntu Studio Logo

Una gran debilidad del 99% de las distribuciones Linux es que no cuenta buena optimización y poco software para el diseño y edición. Sin embargo en busca de la felicidad para los diseñadores, fue creado Ubuntu Studio. Básicamente se trata de una adaptación de Ubuntu pero optimizando los recursos de los ordenadores para así lograr lanzar programas de diseño.

ubuntu_studio_desktop
Ubuntu Studio Desktop

DESCARGAR UBUNTU STUDIO

Una Distribución Linux Más, Steam OS

steam_os_logo
Steam OS Logo

Este es un feature para aquellos que les gusta estar sentados al monitor pero no necesariamente trabajando, a menos que Jugar sea lo tuyo. Así es, para los gamers también tenemos una distro, posiblemente algunos ya la han escuchado, se trata de Steam OS.

steam_os_interface
Steam OS Interfaz

A Valve Software no le ha gustado perder una parte de mercado solo porque utilizan herramientas de open source, entonces desarrollaron su sistema operativo para los viciosos del gaming. Optimiza los recursos de la pc para obtener buen performance al ejecutar videoojuegos.

DESCARGAR STEAM OS

Recuerda que escoger una distro debe ser la que más se adecue a tus necesidades. Al final, la distro que tengas instalada habla mucho de ti, así que toma con calma la selección de distribuciones Linux.

Lo importante de estas distros es que comparten un núcleo (me refiero a Linux), y también que promovamos utilizar el software open source para apoyar a la comunidad y tener mejor soporte los unos con los otros.

Open Source Banner
Actualidad, Informática, Internet, Linux, Noticias, Open-Source, Personal, Personalización, Software, Tecnología, Ubuntu

¿Para Qué Sirve Linux? 4 Razones Que Explican Su Importancia

Seguramente te diste cuenta que Windows y MacOS no lo es todo, descubriste a ciertos alienígenas hablar sobre un tal Linux. Bien, pues has llegado al lugar correcto porque a continuación te diremos para que te puede servir este sistema operativo tan genial.

Linux para que sirve
Linux Open Source

Algunas personas se refieren a Linux como el sistema operativo,  mientras que otros se refieren a Linux como el Kernel de otras distribuciones del propio Linux. Las distribuciones son aquellos sistemas operativos que se basan sobre el Kernel de Linux.

Al final lo importante es saber para qué podría servir la creación de Linus Tordvalds.

Código Abierto

Cuando escuches a un programador referirse a algo como “código abierto” se refiere a un producto de licencia libre, es decir que no necesitas pagar de ninguna manera por el producto que se ofrece  bajo esa licencia.

Open Source - codigo abierto
Open Source

En otra ocasión hablaremos de los distintos tipos de licencias, la situación está en que el 100% de lo que se usa en Linux es gratuito, esto significa nada más y nada menos, que no tienes que pagar ni un centavo por usar el sistema operativo.

Mira aquí los tipos de licencia de software que existen.

Soporte y Comunidades

al ser de código abierto, Linux permite que muchos usuarios implementen este sistema operativo en sus ordenadores. Esto hace que haya mucho más documentación y ayuda para resolver problemas que tengas con el sistema operativo o para recibir opiniones acerca de algo en especifico.

A nivel empresarial es una de las mejores decisiones que puede tomar el CEO de una empresa. De hecho muchas empresas tienen su intranet y su sistema de archivos y transferencias en una distribución Linux.

Desarrollo, Entretenimiento, Juegos, Documentos, Música, ETC.

En Linux puedes hacer básicamente todo. Aunque parezca más enfocado a los desarrolladores del pasado, ahora con las distintas distribuciones de base Linux que existen en el mercado puedes escoger la que mejor se ajuste a tus necesidades.

popular-open-source-software

¿Cómo Saber Si Linux Es Para Mí?

Primero pongámonos en contexto, Linux va enfocado  a cualquier persona, incluso hay distribuciones de base Linux que casi emulan las interfaces gráficas de Windows y MacOS, que son muy similares.

Algo que era muy típico en Linux unos 10 años atrás, gran hazaña para instalar un programa era todo un sacrilegio para los amantes del pingüino. Sin embargo hoy en día encuentras distribuciones Linux súper intuitivas al estilo Windows de dar doble click y listo.

Si estás muy acostumbrado a Windows o MacOS no te recomiendo hacer el salto directo a una distro Linux ya que tendrías que conocer antes que nada, ciertos conceptos particulares del sistema operativo del pingüino.

A menos que como buen aventurero quieras aprender cosas nuevas e invertir tiempo en habilidades del uso de los sistemas operativos, pues claro descárgate el distro más conveniente a tus necesidades.

A continuación te presento las distribuciones Linux más populares del mercado que seguramente sea adecuarán  a tus gustos:

Ubuntu

ubuntu_logo_linux
Ubuntu Logo

Está es la distro más conocida, ya que cuenta con una comunidad inmensa y es la más utilizada por los linuxeros, incluso es la que recomendaría  para iniciarte en el mundo del Open Source. Es muy sencilla de utilizar, y  actualmente está disponible la versión 16.10 (No LTS).

ubuntu_envoiroment
Ubuntu Escritorio

 

Linux Mint

linux_mint_logo
Linux Mint Logo

Está es otra distro muy popular, tiene funcionalidades semejantes al buen Windows de Microsoft. También es muy buena para empezar. Se encuentra con su última versión 18.1 en Serena y Mate.

linux_mint_envoiroment
Linux Mint Escritorio

Elementary OS

elementary_os_logo
Elementary OS Logo

 

Si eres Apple Fan te encantara Elementary, ya que a nivel visual es casi idéntico, e incluso mantiene ciertas animaciones similares con  su reconocido minimalismo.

elementary_os_desktop
Elementary OS Escritorio

Solo cuenta con las apps necesarias del día, no contiene algún tipo de software para Ofimática pero con eso basta y sobra. Probablemente una de las mejores alternativas para Windows y MacOS.

Estas solo son unas cuantas hay muchas más por supuesto. Te recomendamos ver el listado de las 10 mejores distribuciones linux para el 2017.

Actualidad, Android, Guatemala, Informática, Internet, Linux, Open-Source, Software, Tecnología

Apps nativas vs Apps híbridas vs Apps generadas, ventajas y desventajas

Una de las grandes complicaciones para los programadores al momento de iniciarse en el mundo del desarrollo móvil es  decidir entre ¿Apps nativas, híbridas o generadas? Tu respuesta será contestada dependiendo que tan buena calidad de trabajo quieres entregar, y cuál será el retorno de inversión que deseas.

banner_nativas_hibridas_generadas
¿Qué tipo de aplicación debo construir?

A continuación te compartimos las ventajas y desventajas de cada una, así como su su significado e implicaciones.  

¿Qué es una app híbrida?

El término app híbrida  hace referencia a poder realizar un solo proyecto con código HTML, JAVASCRIPT y CSS. De esta manera obtendrás una app móvil para cada una de las plataformas móviles que utilices. ¡Así es!  Sólo desarrollas un proyecto y este te genera un instalador para cada plataforma móvil que desees.

¿Qué es una app nativa?

La app nativa es nada más y nada menos que la contraparte de las híbridas. Este tipo de app te ofrece la mejor experiencia de usuario (UX). Será necesario que sepas programar con el lenguaje de programación específico de la plataforma.

Supongamos que quieres desarrollar una app para iPhone (iOS). Para crear esta app nativa necesitarás aprender y manejar el lenguaje de programación Objective-C o Swift.

Por supuesto la curva de aprendizaje es más larga, y claro que tendrás que aprender a utilizar la herramienta también, que en este caso sería el Xcode de Apple.

¿Qué es una app generada?

Esta probablemente será la tecnología del futuro en el desarrollo móvil, pero aún no ha llegado ese día.

Este tipo de apps son aquellas donde utilizas un lenguaje de programación específico, y en las que  generas un código nativo para cada plataforma concreta . ¿Cómo pasa eso?

Vale,antes que nada las apps generadas no son similares a las apps híbridas, en realidad no se parecen en nada.  Esto es así porque las apps generadas utilizan un lenguaje de programación estándar y este mismo se adapta para cada sistema operativo.

info_nativa_hibridas_webapp
Pro y contra de las apps nativas

Como el caso de Xamarin, sabrás que escribes código C# y luego el compilador genera el código nativo para Android, iOS y Windows Mobile, ya que estas son las 3 plataformas punteras en el mercado.

De cierta manera reutilizamos el código, y únicamente tendremos que escribir código específico de cada plataforma para manejar ciertos sensores y servicios, en los cuales el código reutilizable no podrá acceder a los mismos.

how_it_works_xamarin
Xamarin y su funcionamiento general

Ventajas de las apps híbridas

              La ventaja más taquillera podría ser el hecho de utilizar código de etiquetas y JavaScript.

              Generar un solo proyecto y obtener un instalador para cada plataforma móvil.

              La curva de aprendizaje es más rápida.

              Ahorras tiempo.

              La Inversión de recursos es menor ya que con un ordenador basta y sobra.

Desventajas de las apps nativas

              El manejo de sensores y servicios es un caos, por la misma razón del código de etiquetas y JavaScript.

              Bajo Soporte para las actualizaciones del sistema operativo. Cuando un sistema operativo estrena una actualización de su software demorará más en el caso de las apps híbridas y eso definitivamente juega en tu contra.

              La experiencia de usuario no suele ser tan buena. Las apps híbridas no manejan un patrón de diseño para cada plataforma, así que si ves una app en Android y es idénticamente igual en iOS, probablemente es una hibrida. En muchos casos, estas apps se traban o se caen.

Ventajas de las apps nativas

              La experiencia de usuario es la mejor que se puede encontrar. Es evidente que al momento de realizar una app con el código específico del sistema operativo, y utilizar los patrones de diseño como indica la documentación, el resultado es una muy buena UX.

              Excelente manejo de los sensores y servicios del Smartphone. Esto significa que podrás acceder a los mismos de una manera eficaz.

              Herramientas oficiales para cada plataforma. Para cada sistema operativo móvil existe una herramienta oficial para desarrollar proyectos al 1000 por 1000, y de esa manera  aprovechar el máximo rendimiento. Esto también es una gran ventaja, ya que todo dentro de las herramientas oficiales esta arreglado para que puedas programar mucho más rápido y con los mejores estándares.

              El Tamaño en peso es mucho más ligero. Tal y como lo menciono en la ventaja anterior, cuando usas todo nativo, optimizas todos los recursos del instalador de una app y también para el performance de la app.

              Más alcance a dispositivos móviles. Cuando desarrollamos una app nativa cuentas con toda la cantidad de versiones del sistema operativo con las que quieras trabajar, cosa que con las híbridas no  sucede, debes limitarte a la versión del sistema operativo que te indiquen.

Desventajas de las apps nativas

              Debemos aprender a utilizar cada lenguaje de programación para presentar la misma aplicación móvil en distintos sistema operativos.

              Es fundamental saber utilizar al menos en un 80% las herramientas que nos proporciona cada plataforma para ejecutar grandiosas apps. En el caso de Android necesitarás aprender muy bien Android Studio, en iOS cuentas con Xcode, y para el extraño pero genial Windows Mobile utilizaras Visual Studio.

              Crear las vistas o aplicar las reglas para los distintos tamaños de pantalla. En las apps nativas la idea es ofrecer al usuario la mejor experiencia dentro de la app, por tanto es necesario personalizar cada una de las vistas, algo que no pasa en las apps híbridas puesto que se basan en los lenguajes de la web como el típico HTML que con un responsive nos basta y sobra.

hibridovsnativo_chiste
Un poco de humor… pero vaya que es cierto.

Ventajas de las apps generadas

              Comparte con las híbridas el hecho de reciclar código para las distintas plataformas. Sin embargo nos queda claro que es distinta la manera en que lo gestiona cada uno.

              La curva de aprendizaje es un poco menor a comparación a las nativas,  aunque será crucial  saber al menos un poco de cada lenguaje en específico.

              Buena optimización muy similar a las apps nativas.

              Promete ser el futuro del desarrollo de las apps móviles.

Desventajas de las apps generadas.

              A pesar de que utilizan un lenguaje base para todas las plataformas, aún así debes saber el lenguaje de programación de cada unas de los sistemas operativos. Ya que por el tema de los sensores y algunos servicios (como la cámara por ejemplo), tendrás que escribir código específico para manejar eso.

              El árbol del proyecto puede ser confuso. He visto cómo maneja Xamarin el árbol de una app generada y hasta cierto punto es algo aborrecedor. Quizá en las próximas actualizaciones de Xamarin y Visual Studio se realicen mejoras a esta parte.

              Aún está muy verde el desarrollo de las apps generadas. He mencionado que probablemente este será el futuro de las apps móviles, aunque todavía hay algunos problemas con esto. Como por ejemplo, la necesidad de tener una Mac para compilar el proyecto iOS, en Windows Mobile deberás compilarlo en una Pc con Windows. Mientras que Android por ser prácticamente Java correrá donde sea.

Te compartimos un video de Software Guru, debatiendo apps nativas vs app híbridas

Dinos, ¿Por cuál te dejaras llevar y empezar a desarrollar aplicaciones increíbles?

 

Actualidad, Informática, Internet, Noticias, Open-Source, Tecnología, Varios

Gana un viaje a Praga diseñando un theme para el CMS Open Source NewsCoop

Si, se trata de un concurso en donde el único requisito es saber de diseño web o de diseño gráfico. ¿Y el premio? lo mejor ya que es un viaje todo pagado a la bella ciudad de Praga en República Checa.

¿Los detalles? El objetivo es rediseñar un theme de Newscoop; un CMS open Source en donde ya sea que elijas hacer un nuevo diseño gráfico o hacer una plantilla web (con todo lo que implica) si tu diseño es elegido podrás ganar el excelente premio que estan ofreciendo.

Si te interesa puedes leer a continuación la nota de prensa al respecto: Sigue leyendo “Gana un viaje a Praga diseñando un theme para el CMS Open Source NewsCoop”

Guatemala, Informática, Linux, Noticias, Open-Source, Software, Tecnología, Varios

OpenWolf: Ley de libre acceso a la información + FLOSS

Proyecto OpenWolf: Libre acceso a la información publica de GuatemalaOpenWolf es el nombre que recibe una iniciativa de Software Libre ejemplar para nuestros países latinos. Es un proyecto que utilizando herramientas basadas en software libre permitirá tener acceso a la información pública del gobierno, información que debería ser realmente “publica” pero que por ciertas razones no es así, lo cual fomentará la transparencia en las instituciones gubernamentales de Guatemala.

Es interesante ver este tipo de proyectos puesto que solo de esta forma en muchos casos es posible que ellos (Los altos mandatarios) conozcan el Software libre, y recordemos que  la gente que se encuentra en esos niveles tan altos del gobierno conociendo soluciones FLOSS pueden fomentar su uso de forma masiva lo cual es un beneficio neto hacia las comunidades de software libre.

Las herramientas para su desarrollo han sido: Ruby on Rails, Ruby, PostgreSQL, Apache, Red Hat, etc.

Realmente es algo que vale la pena aplaudir y compartir de tal forma que algún día en las instituciones gubernamentales se alcance la tan anhelada Transparencia!!