Hoy les quiero hablar de GroudworkCSS, es un Framework relativamente nuevo, pero que me ha convencido para trabajarlo en un proyecto de gran alcance. Por lo que quiero compartir mis primeras inquietudes y observaciones sobre este Framework Javascript.
Ventajas:
Es compatible con jquery, pero no con jquerymobile. Aunque los puedes combinar, uno de ellos perderá funcionalidad. Se basa más bien en jquery.ui pero dejando un lado algunas cosas.
Es responsivo. Es muy difícil encontrar hoy en día un framework que sea 100% responsivo con pocas líneas de código, y es que si hay... pero la mayoría solo se queda con el Nombre, por mencionar algo: JQueryMobile es excelente,pero sus grids no son responsivas, al menos hasta la v 1.2 que es con la que trabajo. Por otro lado... GroundworkCSS casi lo logra, sus layout son muy variados y se antoja trabajar con ellos.
Es Ligero. Salvo sus dependencias... el código que se genera con GroudworkCSS es menor hasta en un 50% al necesitado con otros frameworks como jquerymobile (y no menciono los basados en Javascript, muchos son peores al generar código HTML ).
Es fácil de aprender: no utiliza mucho datatags especiales, su semántica class es fácil de entender algo así "mobile half" o "small button".
Es compatible con SASS: Preprocesado de css, que aunque nunca lo he usado debe ser una gran ventaja.
Componentes extras: Su UI trae componentes extras como un Slider, Tooltips y Modals. Es una ventaja porque no debes integrar código extra.
Es muy aprovechable: Menos código, menos trabajo. Con los tags adecuados puedes generar páginas 99% resposivas, y aunque no lo he probado en todos los navegadores ni en todos los OS, apuesto que va bien. El código te puede servir para todo, sin hacks o combinaciones raras.
Desventajas:
No trae Calendar: Si algo mola (encabrona) de un framework responsivo es que no traiga un calendar integrado, y si bien es cierto que el elemento input "date" es un estandar, muchos navegadores no tienen un manejador.... y con las variantes de fechas que existen en el mundo. Es un verdadero dolor de cabeza manejar y validar fechas. Y como en cada Framework que pruebo tengo que buscar un Calendar, en jquerymobile trabajé muy bien con Mobipick y en este tuve que integrar mobiscroll, que aunque muy bonito... trae un puñado de librerías que la mayoría no le doy razon de ser.
Le falta: Es de entender que es beta y pinta bien, pero hay cosas que pueden ser mejorables.
Algo Gordo: Su CSS y su JS pesan 1 MB en total, y aunque no está comprimido, debes esperar páginas de +1MB... salvo la bondad de nuestro navegador y su cache.
Arrastra Herencia. Hoy en día el Navegador que no es HTML5 es simplemente es una basofia, y mucho de esa pesada herencia lo trae este Framework, ya que trata de ser compatible con navegadores viejos. más aún eso es en todos los Frameworks, pero si bajarían de peso si fueran solo HTML5.
Actualmente trabajo este framework con Haanga, el Django para PHP, algun ORM hecho personalizado y uno que otro generador de código... y va que vuela... :)
Espero le hechen un vistazo y compartan sus opiniones.
Suerte.
@pata_de_jaguar
jueves, 9 de mayo de 2013
lunes, 6 de mayo de 2013
Android Dev: android.permission un Arma de doble filo.
Quizás me pasa por andar de confiado, o quizás mis muchas visitas a foros de consulta como Stackoverflow no haya notado ese detalle... pero acabo de subir tres versiones al mismo tiempo de mi aplicación puesto que he perdido compatibilidad con nada menos que 300 Dispositivos... vaya... y eso que aumente la compatibilidad de mi API bajandola de la 2.3 a la 2.2 y agregando el SDK 17.
No había notado de la pérdida hasta que intenté probar mi app en un ZTE v791 Android v 2.3.6, menudo susto... había desaparecido del Google Play y no me lo explicaba, siendo una App phonegap se toca muy poco de código nativo...
Caray... algo malo habré hecho. Lo único nuevo en cuanto a prestaciones es que había agregado los siguientes Permission:
y sin querer, sin notar, sin saber.... había pedido dos requisitos más a los dispositivos:
Creía equivocadamente que estos requisitos solo se piden con la etiqueta:
uses-feature
Pero nó!!!!!!.... al crear un permiso nuevo, solicitas al Android Market que los dispositivos a los que puedan instalarse tengan esos requisitos.
No necesariamente debes declararlo.... afortunadamente me he dado una googleada y después de unos minutos encontré la solución: Hacerlo opcional.
Cuando haces un : android.permission.BLUETOOTH solicitas el requisitos, esto lo debes contrarrestar con una anotación uses-feature : uses-features android:name="android.hardware.bluetooth" android:required="false" así le dices al Android Market (Google Play) que pides el permiso para utilizar ese hardware, pero que no es necesario que el Dispositivo lo tenga.
Lo peor que pueda pasar es que tengas que validar la existencia del Hardware antes de usarlo... cosa que debes hacer.
Mi App quedó así:
Con 800 dispositivos más... opcional pero funcional.... :D
Eso es todo y como siempre les deseo mucha suerte en la carrera por el mercado móvil.
@pata_de_jaguar
No había notado de la pérdida hasta que intenté probar mi app en un ZTE v791 Android v 2.3.6, menudo susto... había desaparecido del Google Play y no me lo explicaba, siendo una App phonegap se toca muy poco de código nativo...
Caray... algo malo habré hecho. Lo único nuevo en cuanto a prestaciones es que había agregado los siguientes Permission:
- android.permission.BLUETOOTH
- android.permission.BLUETOOTH_ADMIN
- android.permission.FLASHLIGHT
y sin querer, sin notar, sin saber.... había pedido dos requisitos más a los dispositivos:
- Bluetooth.
- flashlight.
Creía equivocadamente que estos requisitos solo se piden con la etiqueta:
uses-feature
Pero nó!!!!!!.... al crear un permiso nuevo, solicitas al Android Market que los dispositivos a los que puedan instalarse tengan esos requisitos.
No necesariamente debes declararlo.... afortunadamente me he dado una googleada y después de unos minutos encontré la solución: Hacerlo opcional.
Cuando haces un : android.permission.BLUETOOTH solicitas el requisitos, esto lo debes contrarrestar con una anotación uses-feature : uses-features android:name="android.hardware.bluetooth" android:required="false" así le dices al Android Market (Google Play) que pides el permiso para utilizar ese hardware, pero que no es necesario que el Dispositivo lo tenga.
Lo peor que pueda pasar es que tengas que validar la existencia del Hardware antes de usarlo... cosa que debes hacer.
Mi App quedó así:
Con 800 dispositivos más... opcional pero funcional.... :D
Eso es todo y como siempre les deseo mucha suerte en la carrera por el mercado móvil.
@pata_de_jaguar
Etiquetas:
android,
fail,
manifiest.xml,
sdk
martes, 30 de abril de 2013
¿A donde se dirige Phonegap?
Con el último lanzamiento de Phonegap/cordova 2.6 y el cambio radical de filosofía que sucedió en la versión 2.x me hace replantearme algo ¿Phonegap es en realidad Multiplataforma?.
En los últimos días me he dedicado a buscar el origen de un crash de mi app en dispositivos físicos con versiones < 11 de Android (2.3 por ejemplo) y que me ha llevado días metido en buscar errores en lugar de desarrollar mi aplicación... algo bastante frustante. Es frustante saber que cordova/Phonegap para Android cambia de filosofía.
En Agosto de 2013 serán eliminadas las Clases Plugin y DroidGap en ventaja de las clases CordovaWebView y CordovaPlugin, lo que es llamado el Native Mode. Sé de antemano que es para bien y uno de sus ventajas será la rapidez de la Aplicación, pero ¿que sucederá con la aplicaciones que no corra con esta filosofía?, lo digo porque probé el Native Mode, implementando el CordovaWebView y muchas de la interacción con mi aplicación se había ido al diablo. No sé exactamente a qué se deba, al ver que la interacción se perdió deshice los cambios y volví al estado anterior... a veces vale malo por conocido que bueno por conocer. Sé de antemano que la Clase DroidGap en Cordova 2.6 implementa un CordovaWebView pero por alguna razón no funciona igual...
Otra de las cosas al que veo inconveniente es que tendrás que hacer un Activity por cada página para aprovechar el "Native Mode", pero ¿Como se comunicará cada página HTML con otra?... pues si pensaste que por intents... acertaste! pero que carajo!... esto haría que tu app pierda interacción propia del HTML y que en otras plataformas como WP8, Tizen o Blackberry tengas que revisar concienzudamente (o peor: Reescribir) tú codigo.... ¡al diablo la multiplataforma!.
¿Y el soporte?... supongamos que, por estabilidad, uso una versión antigua de Phonegap... pero ¿Que pasará con las versiones nuevas de Android?... todos estamos concientes que Google saca versiones de Android como los hace con Chrome... demasiado rápido... y muchas de estas versiones traen cambios muy tajantes como lo hizo en la versión 11 respecto a la diez y anteriores. ¿Será compatible Phonegap 1.9 con Android 5.0?... ¿Que pasará con la nuevas tecnologías?...¿Donde está el soporte LTS?... tendremos que pagar 20,000 USD por año para corregir fallos... o tendremos que hacerlo nosotros mismos. Sé por experiencia propia que la comunidad no dejará que muera este soporte, pero también me preocupa en que haya fork tras fork sin control, tal como las distros Linux.
Tengo fe en el Proyecto Apache Cordova, pero me preocupa los cambios de filosofía, que por bién que traiga, nos dejará muchos en el camino.
@pata_de_jaguar
En los últimos días me he dedicado a buscar el origen de un crash de mi app en dispositivos físicos con versiones < 11 de Android (2.3 por ejemplo) y que me ha llevado días metido en buscar errores en lugar de desarrollar mi aplicación... algo bastante frustante. Es frustante saber que cordova/Phonegap para Android cambia de filosofía.
En Agosto de 2013 serán eliminadas las Clases Plugin y DroidGap en ventaja de las clases CordovaWebView y CordovaPlugin, lo que es llamado el Native Mode. Sé de antemano que es para bien y uno de sus ventajas será la rapidez de la Aplicación, pero ¿que sucederá con la aplicaciones que no corra con esta filosofía?, lo digo porque probé el Native Mode, implementando el CordovaWebView y muchas de la interacción con mi aplicación se había ido al diablo. No sé exactamente a qué se deba, al ver que la interacción se perdió deshice los cambios y volví al estado anterior... a veces vale malo por conocido que bueno por conocer. Sé de antemano que la Clase DroidGap en Cordova 2.6 implementa un CordovaWebView pero por alguna razón no funciona igual...
Otra de las cosas al que veo inconveniente es que tendrás que hacer un Activity por cada página para aprovechar el "Native Mode", pero ¿Como se comunicará cada página HTML con otra?... pues si pensaste que por intents... acertaste! pero que carajo!... esto haría que tu app pierda interacción propia del HTML y que en otras plataformas como WP8, Tizen o Blackberry tengas que revisar concienzudamente (o peor: Reescribir) tú codigo.... ¡al diablo la multiplataforma!.
¿Y el soporte?... supongamos que, por estabilidad, uso una versión antigua de Phonegap... pero ¿Que pasará con las versiones nuevas de Android?... todos estamos concientes que Google saca versiones de Android como los hace con Chrome... demasiado rápido... y muchas de estas versiones traen cambios muy tajantes como lo hizo en la versión 11 respecto a la diez y anteriores. ¿Será compatible Phonegap 1.9 con Android 5.0?... ¿Que pasará con la nuevas tecnologías?...¿Donde está el soporte LTS?... tendremos que pagar 20,000 USD por año para corregir fallos... o tendremos que hacerlo nosotros mismos. Sé por experiencia propia que la comunidad no dejará que muera este soporte, pero también me preocupa en que haya fork tras fork sin control, tal como las distros Linux.
Tengo fe en el Proyecto Apache Cordova, pero me preocupa los cambios de filosofía, que por bién que traiga, nos dejará muchos en el camino.
@pata_de_jaguar
lunes, 15 de abril de 2013
He perdido mis Bitcoins
Hace ya unos años, cuando el proyecto Bitcoin estaba empezando, me bajé el generador de Bitcoins, en ese tiempo en fase beta. Lo leí en alguna entrada de los muchas cosas que leo a diario, lo que me llamó la atención fue la idea del Bitcoin : Una Moneda que no es controlada por nadie, la moneda de Internet. En esos momento me llevó algunos minutos generar cerca de 50 bitcoins.
A decir soy curioso, pero realista. Las monedas tienen valor en el país en que está, este país se sustenta con valores materiales propios y reservas internacionales ¿Pero que le da valor al Bitcoin?... en una economía normal, el valor del dinero puede ser respaldado en material, al bitcoin lo único que le veo como valor es que es una Identidad única, cada Bitcoin se supone que es único, y quien lo posea en ese momento tendrá el valor de mercado... una moneda relativamente nueva, con un valor volátil.
Lo único que tiene de valor el Bitcoin es la especulación y que pinta a convertirse en la moneda estándar de Internet...
Lo sorprendente de esto es lo que ha pasado, Bitcoin ha subido de menos de un centavo de dolar a 260 Dolares (Cuando escuché esto casi me suicido [Jugando hasta morir claro], imaginen si desde hace años me hubiese centrado en minar bitcoins :( ), aún así, creo que el futuro del Bitcoin pinta a:
La verdad me siento apenado por no tener fe en estos proyectos muy futuristas en su momento, creo que por ahora me estuviera gastando 100 o 500 bitcoins en cervezas... :p
Quizás ustedes no dejen pasar la oportunidad, Bitcoin será la moneda del futuro e invertir tiempo en algunas es bueno, al menos para invertir en internet.
Suerte
@pata_de_jaguar
A decir soy curioso, pero realista. Las monedas tienen valor en el país en que está, este país se sustenta con valores materiales propios y reservas internacionales ¿Pero que le da valor al Bitcoin?... en una economía normal, el valor del dinero puede ser respaldado en material, al bitcoin lo único que le veo como valor es que es una Identidad única, cada Bitcoin se supone que es único, y quien lo posea en ese momento tendrá el valor de mercado... una moneda relativamente nueva, con un valor volátil.
Lo único que tiene de valor el Bitcoin es la especulación y que pinta a convertirse en la moneda estándar de Internet...
Lo sorprendente de esto es lo que ha pasado, Bitcoin ha subido de menos de un centavo de dolar a 260 Dolares (Cuando escuché esto casi me suicido [Jugando hasta morir claro], imaginen si desde hace años me hubiese centrado en minar bitcoins :( ), aún así, creo que el futuro del Bitcoin pinta a:
- Se estabilizará el precio hasta que llegue al límite de Bitcoins.
- Los Gobiernos regularizarán o en el peor de los casos prohibirán el Bitcoin.
- Habrán Instituciones o personas que tratarán de monopolizar en Bitcoin.
- Bitcoin será la moneda preferida de Internet (si no es que ya lo es) .
- Habrá límites de posesión de Bitcoins, para evitar el Blanqueo de Capitales.
La verdad me siento apenado por no tener fe en estos proyectos muy futuristas en su momento, creo que por ahora me estuviera gastando 100 o 500 bitcoins en cervezas... :p
Quizás ustedes no dejen pasar la oportunidad, Bitcoin será la moneda del futuro e invertir tiempo en algunas es bueno, al menos para invertir en internet.
Suerte
@pata_de_jaguar
Suscribirse a:
Entradas (Atom)

