jueves, 31 de enero de 2019

El Hardware en la Nube eliminarà nuestro hardware de siempre

Desde aquí afirmamos que el hardware, en cierto modo ya no será utilizado ni estará presente en los ámbitos en los cuales estábamos acostumbrados a verlos o donde estaban presentes. Para explicar y abordar este tema y afirmar nuestro punto de vista, se harà explicando en primera persona por quien escribe, una experiencia testigo del momento que refleja la situación.

En las últimas horas he estado intentando compilar una aplicaciòn Qt para Android armeabi-v7a y arm-v8a (64bit).

Estas operaciones se están intentando realizar en el siguiente contexto.

GNU/Linux Ubuntu Mate 16.04
Android Sdk 26.1.1
Android Ndk 16.1.4 r17b
API Minima 21
API Target 26

Lamentablemente, por ahora, no he logrado realizar la compilaciòn, al parecer, es debido a un problema con las librerías SSL que no están disponibles para el API 28 en el NDK.

Si bien estoy intentando compilar para el API 26, lo cierto es que estoy intentando compilar desde todas las APIs posible hasta poder comprobar en qué contexto las compilaciones funcionan de manera más óptima y/o convenientes.

Esta situación, obliga a que uno realice la compilaciòn de las librerías openssl para todas las arquitecturas posibles. Allí también hay mucho que analizar, evaluar y probar.

El nivel de complejidad de las acciones a realizar y las pruebas a realizar, està requiriendo un manejo del entorno de compilaciòn, osea, versiones de Qt, versiones de SDK, versiones de NDK, versiones de openssl etc, todo esto está demorando un poco el toque final que se pretende aplicar o implementar en la aplicaciòn unik para su primer lanzamiento.

Las estrategias a seguir, están orientadas a utilizar diferentes ordenadores, iniciados en diferentes particiones, instanciar diferentes máquinas virtuales etc.

Los recursos con los que contamos son escasos. Esto se debe principalmente a que no nos interesamos plenamente en conseguirlos. Esto podría decirse que es un fallo o una falencia del director del proyecto, del equipo o de la comunidad unikode.org.

Talvez sean estas falencias ciertas. Lo que sí es cierto e inobjetable es que la idea de quién conduce el proyecto, quien escribe, está orientada a que los déficit de recursos materiales se cubran con recursos humanos. Motivo por el cuál, la filosofía que se intenta imponer de manera consensuada, está orientada a asimilar la idea de que no sirven de nada invertir mucho en recursos materiales, de hardware, tecnològicos, de espacio, confort y/o comodidad, si nada se invierte en recursos humanos e intelectuales. Si los esfuerzos se orientan a invertir en en recursos humanos, más que en los materiales, esos recursos humanos pueden conseguir logros y resultados que posiblemente deriven en la obtención de nuevos recursos materiales, algo que no puede ocurrir a la inversa, es decir, por muchos recursos materiales que existan, por si solo no podrán conseguir buenos recursos humanos y esos recursos materiales tendrán un alto riesgo de desaparecer o ser obsoletos con el paso del tiempo sin la posibilidad de auto generar los recursos necesarios para mantenerse actualizados.

Es por estos motivos, que en vez de pedir dinero o solicitar donaciones para la adquisición de recursos físicos, nuestra filosofía apunta a invitar a aquellas personas interesadas en lograr una contundente formaciòn y experiencia en el campo de la informática, los invitamos a que participen y si somos más personas, de ese modo contamos indirectamente con más recursos físicos aportados minimamente por cada participante.

Es cierto que la filosofía que se intenta aplicar, es más lenta. Algunos bien pueden alegar que todo lo que sea lento ya carece de eficiencia. En parte talvez se tenga razón. Desde mi punto de vista, lo que nadie puede negar, es que hoy en día vale muchìsimo mas contar con buenos recursos humanos que con recursos físicos. Entonces toda estrategia orientada a lograr cierta competitividad, la cual repercute de manera directa en el factor tiempo, siempre estará lograda a partir de priorizar el factor humano por encima del material.

Otras corrientes de pensamiento, pueden decir que las personas pueden sentirse atraídas a participar en ámbitos en donde existan grandes recursos físicos. Razón por la cual toda persona se sentirá más cómoda y sentirá la tranquilidad de poder hacer las tareas o actividades con menos esfuerzo y mayor tranquilidad. Para toda esa corriente de pensamiento le tengo una respuesta implacable.

La respuesta es que todo el hardware desaparecerá. Mejor dicho, o dicho de un modo más preciso, todo el modo en el que conocimos el hardware, en los hogares, oficinas y àmbitos particulares en general, todo ese hardware dejarà de existir casi en su totalidad. Anote querido amigo HARDWARE EN LA NUBE.

Esto serà asì debido a que las grandes compañias, las cuales cuentan con tecnologìas 1 millón de veces màs avanzadas y eficientes que las que utilizan comunmente en los àmbitos que todos conocemos comunmente. Todo este hardware dichas empresas multinacionales las estàn ofreciendo en modo de alquiler como un servicio que no evita tener que invertir en hardware del modo tradicional.

Un ejemplo claro del alquiler o venta de servicio de alquiler de super computadoras, hardware del màs avanzado nivel tecnològico, es el servicio Google Cloud Platform. Este servicio posibilita a los desarrolladores, a las empresas que operan con sistemas de alto rendimiento que desarrollan y proveen servicios de màs alto rendimiento para satisfacer enormes demandas, a todas las organizaciones y comunidades que requieran dar un servicio y soporte de ùltima generaciòn, a todos ellos el servicio mencionado de Google, les brinda la posibilidad de crear intancias de màquinas virtuales hyper potentes para ser utilizadas con el fin de lograr todo tipo de objetivos comunes y/o avanzados que demanda la sociedad hoy en dìa al rubro de la informàtica.

Si quieres conocer màs sobre Google Cloud Platform u otras opciones, obviamente tienes que hacerlo simplemente buscando por internet informaciòn relacionada con el servicio de alquiler de màquinas virtuales on-line o similares. Te apareceràn muchas opciones de distintos tipos ofrecidos por distintas empresas. Aquì he mencionado una de la cual yo puedo dar fe que es muy potente y eficiente, dudo que exista otro mejor, como se imaginaràn Google no se andarà con chiquitas.

No estoy haciendo propaganda de este servicio de Google, nadie me lo ha pedido y no tengo razòn alguno o beneficio por hacerlo. Lo cierto es que lo he utilizado de manera libre y gratuita, tal como tu o cualquiera lo puede hacer en estos tiempos por un período de 1 año. Yo creo que esta gratuidad, con el paso del tiempo dejarà de estar disponible. Si quieres utilizar estos beneficios deberías registrarte lo antes posible para poder utilizarlo de manera libre durante un buen tiempo.

El lado negativo de este servicio de Google mencionado, segùn mi parecer, es que su valor anual es de 300 euros anuales o 40 euros mensuales aproximadamente. Lo cual es caro o barato dependiendo obviamente de los beneficios obtenidos por su utilizaciòn.

El lado positivo es que el hecho de poder utilizar esto de manera libre por el período de 1 año, nos brinda la posibilidad de adquirir muchos conocimientos y afianzar otros que no tenemos del todo claros. Si bien la utilizaciòn de este tipo de servicios seràn muy tenidos en cuenta por los desarrolladores que por los programadores, es el tipo de servicios que servirà de puente para que los programadores adopten nuevas perspectivas del desarrollo màs integral, màs completo, màs panoràmico, relacionado mucho màs allà de los frontend y los backend convencionales. En estos contextos los programadores pueden hacercarse màs a ciertos àmbitos del desarrollo vinculado a la Redes, a los sistemas avanzados de gestion de la big data, a las apis màs potentes y complejas habidas y por haber.

Todos estos cambios, a los que nos tiene acostumbrados el mundo IT, conllevaràn a que se puedan desarrollar enormes proyectos contando con el mìnimo hardware en el hogar, la oficina o entorno de la actividad informàtica que se realice. Dentro de unos años, bastarà con tener en nuestro hogar un dispositivo hyper pequeños y simple, como ser un Raspberry Pi, una pantalla y un teclado y mouse inalàmbrico porsupuesto. Con esos simple recursos ya alcanzarà y no habrà excusas para realizar una infinidad de tareas. Todo esto nos posibilitarà reducir gastos, costos y problemas de mantenimiento y segurirdad en cuanto al hardware. Obviamente también nos permitirà un portabilidad y comodidad plena para trasladar nuestras mìnimas herramientas fìsicas ya que contamos con todo el super hardware en la nube.

Pregunta aparte. ¿Serà por esto que algunas empresas que fabrican hardware de uso particular se estàn devaluando?. Desde aquì opinamos que todos deberàn ir detràs del Hardware en la Nube, el Desarrollo en Comunidades, el Sofware Open Source, toda una combinaciòn de factores que algunos ya han sido probados y que ahora se complementan con nuevos contextos. Al final todos siempre van detràs de lo que realmente funciona, brinda ventajas y beneficios. Por esto desde aquì decimos que el futuro ya tiene forma y quièn no se adapte a ello lamentablemente estarà muy condicionado para avanzar a la velocidad de los acontecimientos, algo que este rubro es una manera de exiliarse y/o desaparecer.

lunes, 28 de enero de 2019

Hemos Compilado Unik para Android API 23 o superior

Nota: Este artìculo aùn està siendo editado. Por el momento la compilaciòn se ha realizado para la arquitectura x86. Esto se ha realizado en el siguiente contexto.

Qt 5.11.3 (debo cambiar la imagen de la captura de la version de Qt y tambien la de los Kits)

Debo aclarar el contexto de Apis min 21, Api Target 23 y Build API 28.





Tools->Options

viernes, 25 de enero de 2019

Compilando Aplicacion Android desde Qt 5.9.1

Desde hace 3 años estoy compilando aplicaciones para Android en el IDE QtCreator. Siempre lo he hecho desde GNU/Linux, no he intentado en otros OS porque en otros no me siento tan còmodo y seguro como en el Ubuntu Mate.

A traves de los años, han sugido nuevas versiones de Android. Hace unos meses, varios, lanzaron Android 8.x, luego de un tiempo de su lanzamiento me enterè que las aplicaciones para dicha sistema no debìan ser desarrolladas con APIs inferiores a la versiòn 23. Dicho de otro modo, màs concreto, Android 8.x solo permite correr aplicaciones creadas con las APIs 23 o superior.

Estos cambios obligan a uno a tener que actualizar el SDK de Android, crear nuevos dispositivos virtuales en el AVD Manager etc.

En ese tràmite estoy ahora. Cuando termine esta tarea, voy a publicar otra entrada dejando detallado en què nuevo contexto estoy realizando las compilaciones en este 2019. Espero que todas estas modificaciones perduren un buen tiempo, 2 años por lo menos. Es mucho pedir lo sè.

Debo anotar todo, registrar cada paso o cambio. Si por alguna razòn de fuerza mayor mi OS deja de existir y las copias de seguridad dejan de ser seguras, tengo que montar todo el SDK de Android y de Qt tal cuàl como lo vengo utilizando. Por ejemplo utilizar el NDK r16e, API 23, Qt 5.9.1, anotar todos los detalles.

Luego de acomodar todo vuelvo por estos mares a traer màs informaciòn.















domingo, 13 de enero de 2019

He desarrollado un Entorno de Desarrollo Multiplataforma


Unikode.org presenta Unik Qml Engine


Nota: Este artìculo serà editado y actualizado el dìa 11 de Febrero de 2019. Fecha en la cuàl serà lanzada la primer versiòn de Unik Qml Engine 3.x.x

Hemos desarrollado una aplicaciòn que te permite crear aplicaciones para Android, GNU/Linux, Windows y Macos.

Es un ejecutable que interpreta o ejecuta un còdigo infinitamente màs poderoso que HTML. El lenguaje que carga desde cualquier origen, remoto, local o desde GitHub, dicho lenguaje se llama QML. Este lenguaje està basado en JavaScript y fuè creado por el Qt Project para el framework QtQucik de Qt.

QML es un lenguaje de lo màs fàcil y amigable. Su sintàxis es màs sencilla que la de un simple documento JSON.

La aplicaciòn se llama Unik Qml Engine. Està desarrollada en el framework Qt Open Source bajo las licencias LGPL.

Para empezar no necesitas màs que un ordenador sencillo, de 2Gb de RAM o superior y un editor de texto o còdigo que tu elijas. La aplicaciòn que he desarrollado tiene un tamaño de 100Mb aproximadamente. No necesitas descargar ningùn SDK, ni NDK, ni Eclipse, ni plugins ni nada.

Con estos mìnimos requisitos ya puedes crear potentes aplicaciones de manera libre utilizando un mismo còdigo programado por tì para hacerlo correr en todos los sistemas operativos.

Con este sistema puedes crear aplicaciones con GUI (Interfaz Gràficas de Usuario) dinàmicas y modernas. Con pocas lìneas de còdigo puedes implementar el uso y las funcionalidades para que tu aplicaciòn pueda operar con bases de datos Sqlite, MySql remoto directo (sin PHP), Reproductores de Video RTMP, RTSP de tipo QtAV y/o VLC-Qt para Windows. Tambièn puedes crear aplicaciones con WebView, componentes para visualizar aplicaciones webs propias o de terceros. Puedes crear todo tipo de aplicaciones que hoy por hoy se demandan en el rubro del desarrollo del software.

Todo lo que desarrolles en Unik, luego lo puedes compilar tu mismo en el IDE de QtCreator si quieres continuar con el desarrollo de manera alejada o apartada de Unik.

Puedes confiar con absoluta tranquilidad en Unik Qml Engine. Todo el desarrollo es totalmente transparente. Puedes observar, descargar y modificar el còdigo de Unik ya que permanentemente està publicado en GitHub.com. Si quieres ir al repositorio tienes que ir al siguiente enlace https://github.com/nextsigner/unik


Lo mejor que tiene Unik Qml Engine es que su desarrollador @nextsigner brinda cursos sin costo alguno sobre Unik, QML, QtQuick, Qt a quienes participan y apoyan esta comunidad de Unikode.org. Tù puedes unirte a nosotros y aprender gratis. Ùnete a este Open Source Developers Club.

En este sitio http://www.unikode.org tienes disponible los instaladores para el sistema operativo que tu utilizas.

Enlace de Descarga de Unik Qml Engine: https://nsdocs.blogspot.com.ar/p/download.html

Si estàs interesado en participar, ser parte de nuestra comunidad, recibir soporte gratuito y asì poder desarrollar tus aplicaciones de manera ràpida, dinàmica y efectiva, puedes hacerlo comunicàndote con nosotros a las siguientes vìas de contacto.

E-mail: nextsigner@gmail.com
Whatsapps: +54 11 3802 4370

sábado, 12 de enero de 2019

Seguiré utilizando Qt 5.9 hasta 2020

Luego de varias horas, períodos intensos como siempre, luego de una larga travesía, he llegado a la conclusión de que seguiré utilizando Qt 5.9 Open Source hasta el año 2020.

Ya he contado que cada cierto tiempo, me dedico a probar nuevos lanzamientos de Qt, Para analizar sus características, nuevas ventajas y/o beneficios. Luego de determinadas pruebas, debo tomar desiciones al respecto.

He estado probando Qt 5.12.0 LTS, Qt 5.11.3 y Qt 5.11.2 en GNU/Linux, Windows y Macos. Dichas pruebas han resultado negativas para todos los sistemas operativos en la versión Qt 5.12.0 y en general positivas las versiones 5.11.x para todos los sistemas excepto para Windows.

Lamentablemente, utilizar la versión Qt 5.11.x en Windows, requiere realizar unos cambios contundentes en el sistema operativo. Mucho más aún si uno cuenta con Windows 8.1 y no está en Windows 10 tal es mi caso. Windows siempre dando la nota, como siempre demostrando que si no existiera Macos sería el peor sistema operativo del mundo. Por algo es el ámbito en donde se mueven los usuarios novatos o ignorantes de computadoras. Dicho de otro modo, ya me molesta mucho tener que utilizar Windows 8.1 de vez en cuando, las varias veces que he utilizado Windows 10 he salido espantado, lo cual me lleva a tomar al decisión de quedarme en Qt 5.9.1 antes de tener que mudar todo a Windows 10 o tener que modificar muchas cosas y lidiar con el Windows actual para hacer casi lo mismo que ya estoy haciendo en Windows 8.1 con Qt 5.9.1.

¿Que significa quedarme en Qt 5.9.1? Significa que ha ido tan bién que a pesar de la llegada de 5.12.0 LTS o las versiones menores Qt 5.11.x, aún me quedaré con la que estoy utilizando desde hace tiempo y me permite continuar con el tipo de proyectos que tengo entre manos. Esto es un asunto de compatibilidad, costo, tiempo, pros, contras y beneficios, todo se pone en la balanza y es por ello que seguiré utilizando la Qt 5.9.1 para todos los sistemas operativos.

Las versiones más modernas de Qt, tienen muchas novedades, seguramente en el futuro serán muy útiles. Yo particularmente he tomado esta desición porque creo que me estoy adelantando mucho más de lo conveniente para mi situación. Talves en los próximos sementres, de manera natural y sin forzar situación alguna me encuentre utilizando Windows 10 de manera más cómoda y amigable, hoy eso no sucede, de suceder iré probando más detalladamente las nuevas versiones de Qt que seguramente con el tiempo también se irán actualizando y se vuelva a entrar en un ciclo virtuoso de hyper compatibilidad más plena con todos los sistemas y/o contextos en los cuales necesito hoy por hoy.

Me ha sido muy útil atravesar por todas estos caminos estos días, caminos llenos de pozos que por momentos se convierten en una autovía muy tentadora para acelerar en un sentido u otro. Siguiendo con estas innecesarias metáforas de charlas de café, continúo afirmando que gracias a esos recorridos es que tengo cierta tranquilidad para poder desplazarme de un modo más tranquilo todo este año, ahora conozco un poco más el territorio, puedo ver que es lo que hay en las fronteras, comprender cuánto vale y de qué sirven los proyectos que estoy sosteniendo, analizar mejor si son aptos para este escenario, que tipo de características debo adaptar o mantener. Ahora tengo nuevamente aquella visión panorámica de la situación que me permitirá tomar las mejores desiciones en este rubro.

Luego de estas pruebas, con la información recolectada, sé que debo dedicar unas semanas más a terminar algunas partes duras del desarrollo multiplataforma, pulir mi sistema principal y luego tomarme un largo y merecido descanso. En mi dialéctica descansar le llamo a no tocar más el corazón de los desarrollos complejos, pero aún en etapa de descanso, voy a seguir programando la parte blanda. Yo le llamo parte blanda a programar solamente con QML y JavaScript. Dejaré muchas cosas de C++ en condiciones y estaré un buen tiempo alimentando el corazón principal desarrollado en C++.

Si todo va bién, yo no seré el único que esté programando código QML y JavaScript para todo lo que he estado programando en C++. La parte dura es digamos el núcleo, el gestor, el manager, el administrador, el procesador, el servidor. La parte blanda es todo el código que circula por dicho núcleo. Los que vienen siguiendo mis pasos saben que me refiero a Unik Qml Engine.

En ello estaré poniendo mi atención las próximas horas o días, en la medida de lo posible crearé su primer versión RELEASE que quedará lista para enfrentar todas las batallas de este año. Allá voy!.









jueves, 10 de enero de 2019

Entorno para Crear aplicaciones Qt en Macos

Contexto o Entorno de Trabajo adecuado segun mi experiencia.

Para programar aplicaciones Qt desde y para Macos, en mi caso estoy utilizando las siguientes herramientas de desarrollo.

Macos Sierra 10.12.6

Esta versiòn de Macos se està utilizando para lograr la compatibilidad con Xcode 9.2 que es requerido por Qt 5.8 o superior para compilar aplicaciones para iOS. Yo recomiendo utilizar esta versiòn de Macos. He desahabilitado las actualizaciones a Macos Sierra High. Posiblemente usted pueda compilar aplicaciones en una versiòn superior de Macos. Yo no lo he hecho. Si usted lo ha realizado serìa muy valioso para la comunidad que nos comente còmo es la performance de otras versiones superiores de Macos. Dèjenos un comentario, serà de mucha utilidad.

Xcode Version 9.2 (9C40b)

Esta versiòn de Xcode se requiere para compilar aplicaciones iOS 9.3 o superior. Para instalar esta versiòn de Xcode hay que estar en Macos Sierra 10.12.6 o superior.


Qt 5.11.3 Open Source o Enterprise

Distribuir aplicaciòn

La manera màs comùn de distribuir aplicaciones para el sistema operativo Macos, es mediante el instalador de aplicaciones en formato DMG.

Puedes crear un instalador, el cuàl contenga en su interior tu aplicaciòn .app con todas las librerìas y recursos necesarios en su interior. Puedes obtener o crear el archivo DMG de tu aplicaciòn para que lo puedas distribuir y utilizar en diferentes ordenadores con Macos compatibles.

Para crear el DMG tienes que utilizar la linea de comando disponible en las carpetas de instalaciòn de Qt. El comando se llama macdeployqt.

Tienes que ejecutar macdeployqt con el paràmetro -dmg. Si quieres obtener màs informaciòn de còmo utilizar macdeployqt, simplemete el siguiente comando.

Si no es del tipo QtQuick

/Users/<tu usuario>/Qt5.11.3/5.11.3/clang_64/bin/macdeployqt /Users/<tu usuario>/CarpetadeTuApp/tuApp.app -dmg

Si es del tipo QtQuick

$: /Users/<tu usuario>/Qt5.11.3/5.11.3/clang_64/bin/macdeployqt /Users/<tu usuario>/CarpetadeTuApp/tuApp.app -qmldir=/Users/<tu usuario>/CarpetaDondeEstaTuProyectoQtQuick -dmg

Nota: Si es del tipo QtQuick, el paràmetro qmldir= espera que le indiques la ubicaciòn del archivo .pro de tu proyecto.

Como resultado deberìas tu archivo DMG en la siguiente ubicaciòn
/Users/<tu usuario>/CarpetadeTuApp/tuApp.app
/Users/<tu usuario>/CarpetadeTuApp/tuApp.dmg

Revisalo con el comando ls

$: ls /Users/<tu usuario>/CarpetadeTuApp/

Atenciòn!
Importante!

Todo este kit de desarrollo, el Qt 5.11.3 màs el Xcode 9.2, en total suman una cantidad de archivos enorme. Entre 10 y 15 Gb de espacio en disco.

Si tu quieres puedes programar aplicaciones QtQuick con solamente un editor de còdigo ligero o editor de texto. ¿Còmo hacerlo? Tienes que utilizar la aplicaciòn que hemos desarrollado para tales fines. Se llama Unik Qml Engine. Tiene un tamaño de 100Mb aproximadamente. Puedes descargarlo desde este sitio desde el panel que se encuentra a la izquierda o haciendo click aqui

Para màs informaciòn sobre Unik Qml Engine puedes ver el canal de youtube de @nextsigner en https://youtube.com/c/nextsigner

Unik Qml Engine GitHub: https://github.com/nextsigner/unik

Ante cualquier inquietud o duda me puedes consultar en las siguientes vìas de comunicaciòn.

E-mail: nextsigner@gmail.com
Whatsapps: +54 11 3802 4370

Soluciòn de apagado aplicacion con QtWebEngine en Macos


En la versiòn de Qt 5.11.3 para Macos, la linea de comando para distribuir las aplicaciones en dicho sistema, el comando macdeployqt, funciona muy bien. No funciona plenamente. En determinados casos dicho comando no realiza correctamente las acciones de manera automàtica.

Por ejemplo, cuando la aplicaciòn tiene el componente QtWebEngine, la aplicaciòn inicia correctamente pero al cerrar provoca una violaciòn de acceso de memoria o lo que deriva en el conocido app crash. El sistema operativo Macos informa que la aplicaciòn no se ha cerrado correctamente. Lo hace a traves de un cuadro de dialogo del mismo Macos en el centro de la pantalla.

El error se produce por la falta de los archivos .pak que se encuentran en la carpeta resource. 

Este inconveniente ocurre tambièn en otros sistemas operativos. Ya he tenido que lidiar con ello y sè còmo solucionarlo. En GNU/Linux se soluciona copiando de manera manual desde el explorador de archivos o desde el terminal. Lo que ha que hacer el copiar la carpeta resources desde los archivos de Qt hacia la carpeta en donde se encuentra el ejecutable.
Supongamos que tenemos una ejecutable que utilizarà el componente QtWebEngine en la carpeta myApp en la carpeta principal. Para este caso habrìa que copiar los archivos .pak en la siguiente ubicaciòn.

$: cp ~/Qt5.11.3/5.11.3/gcc_64/resources ~/myApp/resources 

Ahora en Macos el procedimiento es diferente. Si bien el comando macdeployqt ya ha incluido los archivos .pak dentro del myApp.app, el error del apagado o cierre fallido de nuestra aplicaciòn sigue ocurriendo. Siguiendo la lògica, he copiado los archivos en donde se incluyen en un sistema tambien basado en unix, tal es el caso y la similitud entre Macos y GNU/Linux. Seguir este razonamiento lògico ha posibilitado encontrar la soluciòn. Por ahora, este inconveniente se ha solucionado de la siguiente manera.

En primer lugar creamos la carpeta resources en la siguiente ubicaciòn.

mkdir ~/myApp.app/Contents/Resources/resources

Copiamos los archivos .pak con una linea de comando cp de un modo similar a este.

cp ~/myApp.app/Contents/Frameworks/QtWebEngineCore.framework/Resources/qtwebengine_locales/* ~/myApp.app/Contents/Resources/resources/

Por cualquier duda o inquietud me puedes contactar a las siguientes vìas de contacto.

E-mail: nextsigner@gmail.com
Whatsapps: +54 11 3802 4370

miércoles, 9 de enero de 2019

He instalado Qt 5.11.3 en GNU/Linux Ubuntu Mate 16.04

En la ùltimas horas, he intentado instalar y probar Qt 5.12.0 en GNU/Linux Ubuntu Mate 16,04 y no he tenido una buena experiencia. De todos modos estoy contento porque he optado por instalar Qt 5.11.3 Open Source y todo ha ido bien.

He ido a el sitio http://qt.io, accedì a mi cuenta con el correo nextsigner@gmail.com que utilizo para descargar herramientas open sources del framework Qt y lamentablemente ya no posibilitan realizar las descargas desde el panel Download.

He ido a la pàgina principal de qt.io y he descargado el ejecutable que instala Qt Open Source desde internet. Dicho instalador tiene un tamaño de 34Mb aproximadamente. Apenas lo descarguè, comencè a instalar la versiòn 5.12.0 de Qt. Al finalizar la instalaciòn, en el sistema operativo mencionado, QtCreator nunca pudo iniciar. Al parecer se apaga inesperadamente, lo que podrìamos definir como el tìpico AppCrash por un violaciòn de segmento. Supongo que debe ser un problema de punteros, operadores new llamados desde otra funciòn sin que exista una variable en el constructor de la clase, siempre hablando de X objeto en X librerìa, vaya uno a saber donde. Tengamos en cuenta que todo el framework tiene un tamaño de 1.3Gb y una vez instalado pasa a tener un tamaño de 2.8Gb aproximadamente.

Seguramente es un bug que pronto resolveràn. Siempre que liberan una nueva versiòn, luego de un tiempo lo resuelven. Yo he esperado un mes luego de el lanzamiento y al dìa de hoy no funciona.

¿Entonces? ¿Y ahora? ¿Que hacemos con la vieja muerta? ¿la enterramos? (no se porquè, de donde ni con què sentido esa es una frase popular en mi lugar de residencia.)

Como ya cuento con cierta experiencia en estos mares, he navegado por Google llegando al terreno deseado en 10 segundos. He escrito "qt opensource index of" en el buscador de Google y he accedido a las pàginas en donde se publican los instaladores completos.

Fuì directo a la versiòn de Qt 5.12.0. Descarguè el instalador completo y otra vez, no funcionò. Me arrojò el mismo fallo que me habìa arrojado el instalador on-line de Qt.

¿Y ahora?...

Como ya tengo experiencia en estos pantanos, en estas arenas movedizas, me quedè quietito, pensativo para demorar el hundimiento. A pesar de sentir que me estaba hundiendo lentamente, la infaltable confianza que me caracteriza que hacìa sentir muy tranquilo. Luego de unos instantes tomè la desiciòn acertada, tal como lo he hecho desde siempre. Optè por descargar el instalador completo de Qt 5.11.3 Open Source para GNU/Linux x86_64 y todo resultò sin problemas.

Una manera de argumentarme a mi mismo, cuales serìan las ventajas y/o desventajas de optar por una versiòn inferior a la pretendida, es que el tiempo transcurrido entre la versiòn 5.11.3 y la 5.12.0 es de apenas 2 dìas. No creo que haya cambiado mucho el framework en esas pocas horas. Deduzco que la diferencia entr ellas es casi inexistente. Talves la primera sea la ùltima de las versiones 5.11 y la ùltima sea la primera de las versiones 5.12 LTS, cambiando solo el nombre. En las pròximas semanas probarè la versiòn 5.12.x. Nunca me quedarè con la duda, soy PROGRAMADOR e intento conocer al màximo mis herramientas.

Debido a que cuento con una conexciòn de internet por fibra òptica de 50Mbit/s (ya he pedido los 100Mbit/s y aùn no me lo han habilitado), con esta velocidad actual, el cambio de estrategia de bajar a otra versiòn ha resultado bien sin perder tiempo. El instalador completo de Qt 5.11.2 Open Source tiene un tamaño de 1.3Gb que se descargaron en un par de minutos.

He tenido que reveer, estar casi media hora dàndole duro a la consola para ver si la nueva compilaciòn de mi proyecto principal no tendrìa fallos al momento de crear el ejecutable del tipo AppImage que me permite crear un ejecutable/portable, un archivo ùnico que contiene todas las librerìas de la aplicaciòn, todo en un solo archivo. El formato AppImage lo puedo crear utilizando el ejecutable linuxdeployqt.AppImage con el paràmetro -appimge. Todo este asunto de las liberìas ha ido todo bien, entonces en concluciòn, puedo decir que por lo menos para este sistema oparativo ya tengo todo funcionando perfecto para compilar mis proyectos tal y còmo lo he venido haciendo en el framework Qt 5.9.1 LTS.

Cuando realice estas mismas tareas en Windows y Macos, escribirè un artìculo al respecto.

Quienes tenga alguna duda o consulta, me pueden contactar al correo nextsigner@gmail.com o bien al Whatsapps +54 11 3802 4370


Estoy instalando Qt 5.12 LTS Open Source



Hace 3 años aproximadamente estaba utilizando la versiòn de Qt 5.6 LTS. Las cosas no iban del todo bien para ciertas cuestiones que tenìa entre manos programar. Talves dicha versiòn estaba en condiciones optimas pero yo no he tenido una experiencia plenamente positiva con la misma. Para muchos programadores aquella versiòn le pudo resultar funcional. En mi caso no lo fuè porque yo estaba orientando el desarrollo para desde GNU/Linux, Windows, Macos para GNU/Linux, Windows, Macos, iOS y Android.

En aquellas instancias, pude avanzar mucho utilizando la versiòn 5.7.1 de Qt. Todo el panorama comenzò a aclararse y los proyectos comenzaron a tomar un rumbo correcto.

El 31 de Mayo de 2017, llegò Qt 5.9.1 versiòn LTS. Esta versiòn hasta el dìa de hoy es la que màs resultados me ha dado. Estoy muy conforme con la performance de esta versiòn. Me he sentido tan seguro en ella que he deseado que se detenga el tiempo y que nada cambie por lo menos mientras yo estè navegando por estos mares.

A propòsito de la comodidad y el deseo de que todo perdure en el tiempo tal cuàl como està sin que haya cambios. Yo soy una persona de Gèminis con Ascendente en Acuario. Para los que saben de Astrologìa, bièn saben que uno es vanguardista, innovador, lejos està de mi ser una persona conservadora. La versiòn 5.9.1 LTS de Qt me ha hecho comprender lo que siente un conservador. Uno se hace conservador cuando se siente un privilegiado por eso se manifiesta en contra de todo cambio. Solo apoyan los cambios que nos llevan al pasado. Entonces dicho de este modo, hay 2 etapas de involuciòn de los conservadores. La primera son los que no quieren que nada cambie, lo cuàl es decir que no quieren que nada avance o se actualice, La segunda en la cuàl quieren hacer retroceder todo. Estos ùltimos son los retrògrados.

Resultò tan eficiente la versiòn de Qt 5.9.1 que me hizo caer, rodando escaleras abajo hacia el primer nivel involutivo del conservadurismo. Por fortuna ya he tomado la mejor desiciòn. Gracias a mi Gèminis con Ascendente en Acuario he decidido seguir apostando al futuro. Tal como dijo el gran Luis Alberto Spinetta -Por màs que digan que todo tiempo por pasado fuè mejor, Mañana es mejor!- Este espìritu vanguardista condujo como siempre a tomar las decisiones que me han traìdo hasta aquì. Seguìr apostando en el futuro, en las actualizaciones. Sin estos criterios de evoluciòn y actualizaciones permanentes, la informàtica tàl como la conocemos no existirìa.

He estado todo el 2018 esperando el lanzamiento de la nueva versiòn LTS de Qt. Hecho que ha ocurrido el dìa 5 de Diciembre de 2018, dìa en el que se ha lanzado oficialmente la versiòn de Qt 5.12 LTS. Hoy, un mes despuès de su lanzamiento, estoy instalando la ùltima versiòn de Qt LTS.

Estoy instalando Qt 5.12 LTS en Ubuntu Mate 16. Espero encontrarme con una versiòn de Qt que supere a mi amado Qt 5.9.1. Seguramente asì serà. Asì deberìa de ser. Hoy en dìa, ya tengo màs experiencia la cuàl me permitirà aprovechar al màximo esta ùltima versiòn y resolver cualquier incoveniente.

Lo que he aprendido con el tiempo es que las dificultades que implican todo este asunto de las actualizaciònes del framework y su compatibilidad con los proyectos y sistemas operativos, todos estos asuntos se resuelven utilizando un criterio bien enfocado e idoneo. Todo se puede complicar si pretendemos acomodar los proyectos al framework de manera muy urgente. Es cierto que nunca ocurrirà al reves, nunca los framework se adaptaràn a nuestros proyectos. Invirtiendo el orden, no queda otra opciòn que aceptar que los proyectos se deban adaptar al framework. Lo que no tiene que ocurrir es el hecho de trasladar el proyecto a un framework màs avanzado que no estè ciento por ciento depurado y terminado.

Cuando decidimos llevar nuestros proyentos a otros framework màs actualizados, debemos hacerlo desde el sistema operativo en el cuàl tengamos màs opciones de realizar lo que se denomina compilaciòn cruzada. Es decir, por ejemplo. En mi caso desde GNU/Linux Ubuntu Mate 16 yo realizo la compilaciòn de mis proyectos tanto para GNU/Linux y Android, cosas que no realizo en conjunto desde Windows o Macos. Esto significa que las pruebas de las nuevas versiones de Qt LTS las debo realizar desde el GNU/Linux mencionado desde el cuàl estoy escribiendo este artìculo mientras se intala la versìn de Qt 5.12 LTS.

Espero que dentro de unos dìas o semanas ya tenga suficiente informaciòn y experiencia al respecto. Cuando tenga cosas que contar sobre esta nueva versiòn de Qt 5.12 LTS, crearè un nuevo artìculo para contar còmo resultaron las cosas.

Si quieres ver el Historiàl de Lanzamientos de Qt, Haz click aquì

Actualizado: He escrito un artìculo sobre lo que ha sucesido con la instalaciòn de Qt 5.12.0. Para ver el artìculo haz click aqui

Quienes tenga alguna duda o consulta, me pueden contactar al correo nextsigner@gmail.com o bien al Whatsapps +54 11 3802 4370

domingo, 6 de enero de 2019

Programando al lìmite de mis posibilidades

Empezò el año 2019. Quiera o no, tiene su significado. En ciertos aspectos de mi vida estoy pasando por mi mejor momento, en otros no. Comenzar un año nuevo puede no significar nada, tambièn puede significar mucho si uno le dà un significado. Puede ser un año muy diferente si uno lo re significa de una manera especial. Para reponerme en aquellos aspectos que no me son favorables, es que he decidido en este año subsanar todo ello que no me aporta algo positivo.

Tengo mucho que hacer este año, viajes, consultas mèdicas, colaborar en proyectos, enseñar, reparar, corregir, optimizar, programar, programar y programar. Dentro de todas las actividades tengo pensado incluir las siguientes, meditar, descansar, disfrutar, participar, calmarme, tranquilizarme, cuidarme. Tengo muchos frentes abiertos y me pregunto ¿Podrè hacerlo?

Por momentos viene a mi mente la canciòn de Fito Pàez llamada Yo Vengo a Ofrecer mi Corazòn. En una parte dice -No serà tan fàcil, ya sè que pasa. Es como abrir el pecho y sacar el alma. Una cuchillada del amor...- Al parecer asì serà esta año para mì. Tendrè que entregar mi corazòn, dejar la piel en cada instante para lograr todos los objetivos que tengo en la lista.

Desde hace años me dedico a programar y en muchas ocaciones he entrado en tramos y segmentos en los cuales he estado preso, desaparecido, en un estado aparentemente inerte, programando durante interminables horas, largas jornadas en donde el cansancio duele hasta no doler, hasta hacerse parte de uno mismo, en ese tipo de torbellinos de còdigos y funciones que llueven y se arremolinan en una tormenta perfecta, allì en ese tipo de caos he estado muchas veces intentando ordenar, corregir y hacer funcionar toda informaciòn indomable y rebelde, desprolija o imprecisa.

No tengo ninguna duda que èste serà un año duro. Un año en el cuàl esos tramos o lapsos de tiempos en donde la totalidad de mis neuronas se ven invadidas por una cataràta de algoritmos, estructuras lògicas y signos. Ya sè que estarè poniendo el corazon, la piel y los suspiros en esta aventura que muchas veces parece carecer de todo sentido. Sè lo dùro que serà y lo que me espera. Ser conciente de ello me predispone e implica un compromiso talvès màs grande de lo que yo pueda asumir.

Aquì estoy. Listo. Preparandome. Mentalizandome. Tomando fuerzas. Sintiendo el mismo temor de siempre. El que me insita a pensar que todo serà en vano, que todo serà inutil. Al mismo tiempo siento el mismo valor y la convicciòn de que todo valdrà la pena. Como ha sido siempre. Siempre he cogido los guantes y he dado batalla, pues esta vez no serà la excepciòn. No estoy en mi mejor forma pero allà voy, dispuesto a entregarlo todo, a no guardarme nada, esa es mi intenciòn, espero lograrlo.

Todos esos frentes espero poder afrontarlos uno por uno. Espero ir resolviendo todo. Sè que posiblemente al resolver uno talves aparezcan o se reproduzcan en 2 o 3 nuevos frentes y todo esto se convierta en una pesadilla de la cuàl en algùn momento quiera salir corriendo, huyendo desesperadamente. Serà duro, muy duro. Puedo bajarme de este ring si asì lo deseo, pero no. Estoy aquì porque asì lo he decidido.

Estoy preparàndome para programar, programar y programar....




Entrada destacada

QtQuick para Android - Unik Qml Examples - #4 - Conexiòn Sqlite desde Android

En el dìa de la fecha hemos publicado el cuarto video sobre QtQuick en YouTube.com. Este vìdeo corresponde a una serie de videos que est...