Go to content Go to navigation Go to search

C# – Creating Toolbars, Buttons and Menus for Internet Explorer

April 19th, 2010 by JuanK

Hi!,

Recently I was looking for documentation to be able to create components for IE, traditional things like toolbars, buttons and menus.

 

The problem

In the beginning I was excited, but once I caught the appropriate documentation I found something that could be unfortunate, to create this kind of components for IE I had to make use of COM technology, so I had two possible ways:

  1. Program this Add-ons using C++
  2. Program the Add-ons using C# but using COM interoperability

But then came the great disappointment. Whatever the choice, programming using COM technology seemed inevitable. Bad news.

 

Not that COM is an impossible subject, what happens is that I believe one has to assess these two aspects:

  1. Effort / Benefit proportion: How long will I spend creating the solution and How much should I charge?
  2. Maintenance time, How much time must I invest in supporting the solution once it is delivered?

In my case if I don’t use COM but use a managed component, both aspects  above would be playing for me. However, I think it is clear for any .NET developer, that if I use COM both aspects above would be playing against me.

 

The Solution

I was set to find across the internet some product that would allow me create Add-ons for IE using managed components, the pleasant surprise was when I found one called  “Add-In Express for IE” I stopped for a while to review what kind of things can I can do using this Tool and I realized that the tool was exactly I was looking for, the solution to my problems.

 

What does “Add-In Express for IE”?

A few paragraphs back I mentioned two important aspects where clearly I specified that cost/benefit is something very important to take in account.

I want to invite you to review some articles that show How to create Add-ons for IE using COM:

 

Creating Add-ons for Internet Explorer: Toolbar Buttons

Creating Custom Explorer Bars, Tool Bands, and Desk Bands

 

Summarize the most troublesome and annoying issues to just to create a button and a toolbar:

  1. Create and modify registry keys
  2. I must write code using some ‘Service Providers’
  3. I must use in my code some things to ‘Query Interfaces’

What???

Yes, this is what I asked too, Why I must  concerned about all those items if I just want to create two of the most common and simple things in Windows UI development?

 

For sure there exist some heavy reasons to do that, but neither me nor my client are interested in those heavy reasons.

 

“Add-In Express for IE” has rich functionality, very interesting and very useful, but for now I will sum up all in one:

  • You can create a complete solution just coding what you really need.

 

I mean, if I want just to create a button in a toolbar, all I have to do in my code is to handle the click event over the button, nothing else. I don’t need to take care of registry keys, service providers or query interfaces of I don’t know…what… Simply I code what I need, everything else is done by Add-In Express for me.

 

Great!!!

 

And then…

“Add-In Express for IE” is one of those tools that make you give thanks to God ( whatever your God ) for having found it, with this tool you can create  solutions in a very fast way concentrating in What you need but not on How you do it.

 

Among other things that makes this too pay off, you can find:

  • Creating an IE Add-on in a record time
  • Version neutrality
  • Support for 32 and 64 bit  Add-ons
  • Ease to test your solution in IE without necessity to go into details of the full installation process of your Add-on
  • Simplicity of creating a solution installer, it is done automatically.

 

In my next article I would expose the ease of create a solution, I mean we’ll come into the tech! Meanwhile I invite you to check these illustrative videos available in the Add-In express site:

http://www.add-in-express.com/programming-internet-explorer/video.php

 

I hope this article make your life easy ;)

 

Greetings.

Bookmark and Share

C# – Creando Toolbars, Botones y Menús para Internet Explorer

April 18th, 2010 by JuanK

Hola ,

Hace poco estuve buscando documentación para poder crear componentes para IE, cosas tradicionales como Toolbars, botones y menús.

 

El problema

En principio estaba entusiasmado, pero una vez di con la documentación adecuada me encontré con algo que puede parecer desafortunado, para poder crear este tipo de componentes paras IE tenía que hacer uso de componentes COM, así que solo tenía dos salidas posibles:

  1. Programar estos add-ons con C++
  2. Programarlos con C# pero utilizando interoperabilidad con COM

 

Pero luego llegó la gran decepción…

Genial! cualquiera que fuera la opción programar con COM parecía inevitable. Malas noticias.

 

No es que COM sea un tema imposible, lo que sucede es que yo creo que uno tiene que evaluar dos aspectos:

  1. La proporción esfuerzo/beneficio: cuanto me demoro en crear la solución y cuanto debo cobrar
  2. El tiempo de mantenimiento, que tiempo debo invertir en estabilizar la solución después haberla entregado

 

En mi caso sino utilizara COM sino un componente administrado, los dos puntos anteriores estarían en mi favor, pero es claro para cualquier desarrollador de .NET que en el caso de COM  esos puntos jugarían en mi contra.

 

La solución

Me puse en tarea de buscar por internet algún producto que me permitiera crear add-ons para internet explorer con componentes administrados, la grata sorpresa fue que encontré uno llamado “Add-In Express for IE” me detuve por unos instantes a revisar que cosas podía hacer con esta herramienta y me di cuenta que realmente era la herramienta que estaba buscando, la solución a mis problemas.

 

Qué hace Add-In Express for IE?

Unos párrafos atrás mencioné dos puntos importantes en los cuales claramente identifico que el tema de costo/beneficio es algo muy importante a tener en cuenta.

 

Quiero invitarlos a revisar algunos artículos que muestran como crear add-ons para Internet Explorer utilizando COM:

 

Creating Add-ons for Internet Explorer: Toolbar Buttons

Creating Custom Explorer Bars, Tool Bands, and Desk Bands

 

Resumiré los temas más molestos y engorrosos para tan solo crear una barra de herramientas y un botón:

  1. Crear y modificar llaves de registro
  2. Tener que crear mi código utilizando algunos ‘Proveedores de Servicios’
  3. Tener que utilizar en mi código algunas cosas para ‘Consultar Interfaces’

¿Qué???

Si, eso mismo me pregunte yo, porque tengo que ver todos esos temas si lo único que quiero es crear dos de las cosas mas sencillas que se pueden hacer en la UI de un programa en Windows?

 

Seguramente hay razones de peso, pero ni a mi ni a mi cliente les interesan esas razones de peso.

 

“Add-In Express for IE” tiene muchas funcionalidades, muy interesantes y muy útiles, pero por ahora yo las resumiré en una:

  • Te permite crear la funcionalidad completa solo codificando lo que realmente necesitas

 

Es decir si quiero crear un toolbar con un botón, lo único que tendré que hacer por código es programar el evento clic del botón nada más. No necesito pensar en llaves de registro, proveedores de servicios ni consultar interfaces de no se que… simplemente programo lo que necesito, el resto Add-In Express lo hace por mi.

 

Genial!!!

 

Y Entonces…

“Add-In Express for IE” es una herramienta de esas que hacen que des gracias a Dios ( cualquiera que sea el tuyo ) de haberlas encontrado, con esta herramienta se pueden crear soluciones de manera muy rápida concentrándote en el Qué necesitas y no en el Cómo lo haces.

 

Dentro de las cosas que hace esta herramienta y que realmente hacen que su precio se pague por si solo se encuentran:

  • Crear Add-in para internet explorer en tiempo record
  • Ser neutral entre diferentes versiones de IE
  • Soporte para 32 y 64 bit
  • Facilidad para testear tu solución en IE sin necesidad de realizar el proceso de instalación completo
  • Facilidad para crear el instalador de manera automática

 

En mi próximo artículo expondré la facilidad con la que se puede crear una solución, es decir entramos a lo técnico!, mientras tanto los invito a checar los videos ilustrativos que disponibles en la página:

http://www.add-in-express.com/programming-internet-explorer/video.php

 

Espero que este artículo le facilite la vida a muchas personas!

 

saludos.

Bookmark and Share

Mini Review IE 9 developer preview en el MIX

March 17th, 2010 by JuanK

Hola, quiero compartirles esta información muy importante acerca de lo que debemos esperar para IE9 desde el punto de vista técnico.

El equipo de desarrollo de IE9 ha centrado su atención en hacer IE9 un navegador sumamente rápido y eficiente desde varios puntos de vista y en este preciso momento ( apenas en una versión alpha ) ya hay cambios extremamente significativos respecto a la velocidad de ejecución de scripts y respecto a la adopción de estándares, si bien aún queda mucho por hacer, pero ya se puede ver que IE9 técnicamente hablando se pondrá a la altura de sus competidores.

 

image

Este es un compendio de características que se que a todos les interesará:

 

  1. Nuevo motor de scripts, y ojo no solo de javascript como google chome o mozilla por ejemplo. Su nombre clave es ”Chakra”
  2. El motor de scripts de la versión mostrada en el MIX tiene un benchmark muy aproximado a FireFox 3.7 alpha 2, y de acuerdo a su estado actual de alpha version, es presumible que iguale o incluso supere a chrome 4 o 5.
  3. Se esta hablando de soportar HTML 5 acelerado por hardware
  4. El motor de scripts, en maquinas con mas de un core ( es decir la mayoría actualmente ) corre siempre en un core diferente del del motor de IE, de tal forma que mientras IE muestra la página el motor esta compilando y optimizando los scripts necesarios.
  5. IE9 es el primer navegador en soportar HTML5 por hardware incluyendo soporte para SVG ( Scalable Vectorial Graphics ) es decir tendremos gráficos nativos de las páginas siendo procesados desde la GPU.
  6. El test ACID aun no lo soporta muy bien, si bien esta mucho mejor que otras versiones de IE, aún esta bajo teniendo una nota de 55/100 actualmente. Aunque el equipo de IE afirma tener un compromiso con llevar la evaluación a niveles mucho más altos.
  7. Integración con DirectWrite – texto acelerado por hardware

 

Los invito a todos a descargar el developer preview en este link  http://ie.microsoft.com/testdrive/Default.html y probarlo.

 

Para los interesados en hacer tests y mediciones hagan el siguiente ejercicio:

 

  1. Abran un navegador diferente de IE9 developer preview y visiten esta pagina : http://ie.microsoft.com/testdrive/Default.html
  2. Abran IE9 developer preview
  3. Comiencen a mirar el desempeño de cada uno de los browsers en cada una de las pruebas.

 

La sorpresa será que no en todas IE 9 será el mejor, pero si en la mayoría, al menos en mi caso que lo puede comparar contra opera 10.50.

 

Es evidente el poder de IE9 respecto a renderizado y animado de texto, así como la superioridad en algunos tipos específicos de animaciones basadas en HTML 5. Por otro lado en ejemplos como el de Falling Balls opera se mostro superior a simple vista.

 

Saludos a todos!!

        Bookmark and Share

        « Previous Entries