XWebSurfer, un sencillo navegador web Qt para aprender (¿y usar?)

Estos días estuve experimentando (una vez más) con QtCreator, con el objetivo de, poco a poco, adquirir conocimientos básicos para trabajar con el framework de programación Qt haciendo algo mínimamente útil. He estado probando con diferentes ejemplos de sencillos navegadores web Qt, y acabé consiguiendo una aplicación mínima en WebKit a la que he llamado XWebSurfer.

Como es muy sencillo, he creido conveniente liberarlo al público, básicamente con intenciones didácticas, para que todos aquellos que quieran aprender en esto de Qt puedan examinar su código para tomar ejemplos, aprender, deshacerlo, completarlo, etc. Lo que quieran, y como quieran, ya que además he tomado la decisión de liberarlo bajo licencia BSD de 2 cláusulas, para asegurar auténtica libertad de conocimiento y capacidad de licenciar obras derivadas, y esta decisión la he tomado pensando en la enorme cantidad de licencias de software libre que existen y confiando en que, si alguien deriva algo de este pequeño trabajo, tome la licencia que vea más adecuada para que continúe libre según sus propias creencias, convicciones y principios sobre el software libre y de código abierto.

La interfaz es realmente sencilla (y dicho sea de paso, inspirada en los diseños de Opera e IE9). De izquierda a derecha nos encontramos con el botón atrás, adelante, “reload” (refrescar la página), “stop” (detener la carga de la página), y a continuación está la barra de direcciones, el botón “go” (también podéis teclear directamente enter) y el botón “search”. Este último botón os premite hacer una búsqueda en el motor predeterminado, DuckDuckGo, de lo que escribáis en la barra de URL. Es decir, la barra de direcciones también sirve para efectuar búsquedas, similar al funcionamiento de una omnibarra. Si queréis efectuar búsquedas en Google, solamente hace falta escribir “!g” (sin las comillas) antes de cualquier término de búsqueda. Esto es debido a criterios, opciones y trucos de búsqueda de DuckDuckGo, que podéis ver aqui.

Hay algunos ejemplos como este por la red, aunque no suelen ser muy sencillos de encontrar y/o están licenciados únicamente en GPL, asi que creí que esta opción era buena. Dentro del paquete tendréis el código fuente, y para compilarlo y obtener el binario basta con ejecutar

qmake

y luego

make

Debo advertir que no reproduce flash, no tiene comodidades de marcadores ni nada de lo que estamos acostumbrados, y que no suele consumir más de 25 MB de memoria para funcionar. No debéis olvidar, por ello, que el objetivo inicial de esto es puramente didáctico, para poner a disposición de todo a quel que quiera un ejemplo de las funciones básicas de un navegador web. ;)

::Descargar XWebSurfer::

About these ads

Acerca de Malcer
*

12 Respuestas a XWebSurfer, un sencillo navegador web Qt para aprender (¿y usar?)

  1. helq dice:

    Pues he de decir que se vé bastante bien (ya lo compilé), creo que lo guardaré para cuando tenga oportunidad de leerlo un ratito. ~_^

    Gracias por el aporte ^^.

  2. Oscar dice:

    Muchas gracias Malcer por tu trabajo y encomiable aporte al SL. Felicitaciones y adelante.

  3. francesco dice:

    Va bastante bien, lo del flash no es un problema, para youtube html5 y minitube, solo le faltaria el modo de más pestañas y ya sería feliz, no pido más a un navegador xDD. Eso si, no entiendo porqu eel html5 en opera se con tearing..

  4. Ivan Alejandro dice:

    Me gusto, webkit es una herramienta genial… y ni hablar del framework Qt, lo uso hace mucho (con c++ y python) y es una maravilla.

    Te dejo un par de links de Roberto Alsina, un gran programador de python y qt, del cual me entere en PyAr, la lista de python de Argentina.

    En estos links discuten acerca de la creacion de que tanta funcionalidad se podria lograr en un navegador en menos de 128 lineas de codigo (usando python y obviamente webkit)
    http://lateral.netmanagers.com.ar/tr/es/weblog/posts/BB948.html
    http://lateral.netmanagers.com.ar/weblog/posts/BB948.html
    http://lateral.netmanagers.com.ar/weblog/posts/BB949.html
    http://lateral.netmanagers.com.ar/weblog/posts/BB950.html

    Saludos y gracias por la info que dejas en tu blog, lo leo siempre.

  5. Malcer dice:

    Gracias a todos. :D Este ejemplo es demasiado sencillo, apenas tiene cosas de provecho (ni gestor de descargas, ni pestañas, ni reproducción de flash, ni marcadores, cosas que considero básicas en un navegador web).

    A mí me gustaría crear algo un poco más completo ya algo fuera del fin didáctico, pero mi conocimiento es prácticamente nulo, asi que si alguien quiere aportar, ya sabe. Tengo varias ideas en la cabeza que por mi cuenta tardaría bastante en implementar. :P

    @Ivan Alejandro, gracias por ese aporte tan interesante. Aunque en mi caso, con Qt prefiero que las cosas sean en C++, es decir, usando completamente el framework tal cual. :)

  6. Malcer dice:

    Y por cierto, con respecto a lo que dice @Francesco, XWebSurfer sí que funciona bien con HMTL5, en concreto con la versión que tiene YouTube con él:

    https://file.status.net/i/identica/malcer-20111114T012558-5bd8t3z.png
    :D

  7. Courage dice:

    Joder, vaya un cerebro. Pero tengo unas dudas

    ¿Para las licencias no hay que hacer ninguna movida rara? Vamos, que si es fácil de aplicar a los proyectos nuevos que van saliendo

    Segundo, podías marcarte unos tutoriales de programación para los que no tenemos ni idea, que nos dejas por los suelos con tus inventos

    • Thunder dice:

      Quizás estas confundiendo el término licencia con el término patentes? :O me ha dado esa sensación (por lo de las movidas raras, digo).

      Saludos!!

    • Malcer dice:

      Thunder tiene razón, estás mezclando licencia con patente. El derecho de copia o el cómo quieres distribuír tu obra es una especie de contrato personal entre tú y las personas que lo reciben. Otra cosa es que lo registres en uno u otro sitio para asegurar ciertos comivientos legales que suelen coincidir con patentes.

      No tiene que ver: tu puedes especificar cómo quieres distribuír tu trabajo y en qué condidciones, y constando así es necesario. Además, en este caso Qt-Apps.org sirve como aval de la licencia usada, y por tanto de sus términos.

    • Courage dice:

      Me respondo a mí para que vaya hacia los dos

      Lo que me refiero es que le puedes decir a alguien “licencia BSD”, pero como que no queda de una forma legal para evitar violaciones¿?

      Si no no le veo la utilidad a la licencia

      • Malcer dice:

        Siempre hay que partir de que toda legislación (creo que en el mundo no existe ninguna excepción, sería muy raro) reconoce al producto como propiedad del creador, sea el producto que sea, y sea como sea el modo de demostrarlo. Lógicamente, es mucho más fácil saberlo si consta en alguna parte directa o indirectamente, que si lo difundes sin nada. En este caso, yo difundo esto con un escrito donde dejo las condiciones (un escrito de licencia BSD), y en mi caso también se incorpora dentro del código fuente.

        Las condiciones del uso de tu obra en principio son privados. Sólo obtienen caracter exclusivo si lo registras, y en ese caso, estás patentando (que no licenciando). La patente condiciona tener una licencia (existente o creada por ti con tus propias condiciones, en lo que deriva normalmente en lo que es conocido como EULA en el software, que no es más que cómo tienes que tratar ese producto exclusivo), pero una licencia no condiciona tener una patente.

        Las licencias libres escogidas (BSD, GPL, MIT, etc) además están aprobadas y reconocidas legalmente (muchas de ellas apoyadas por la OSI) y por tanto tienen validez instantánea (menos complicada, por tanto) ante alguna reclamación.

  8. Pingback: Borneo: continuando XWebSurfer « ext4 Blog, el rincón de Malcer

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 122 seguidores

%d bloggers like this: