← Glosario
Desarrollo

¿Qué es Extensibility?

La extensibilidad es la capacidad de un software para obtener nuevas capacidades con complementos y módulos sin tocar su código principal.

Definición y origen de la palabra

El término "extensibilidad" deriva de la raíz inglesa extender. Está estrechamente relacionado con el principio abierto-cerrado de la ingeniería de software: un módulo debe estar abierto a la extensión pero cerrado a la modificación. Entonces, cuando se necesita una nueva característica, en lugar de romper el código existente, simplemente agrega una nueva parte al sistema.

Analogía: Es como una navaja suiza; El cuerpo sigue siendo el mismo, puedes agregarle un nuevo destornillador o una punta de linterna.

¿Cómo saberlo y utilizarlo en la vida diaria?

Como usuario final, encuentra extensibilidad todos los días:

Complementos del navegador: Instale un bloqueador de anuncios o un administrador de contraseñas en su navegador.
Complementos del editor: Debe agregar el complemento Python o Prettier a VS Code.
Sistemas de contenido: Instale un formulario de contacto o un complemento de almacenamiento en caché en su sitio de WordPress.
Herramientas de diseño: Instala un paquete de componentes listo para usar de la comunidad Figma.

Profundidad técnica y arquitectura

El núcleo de un sistema extensible es pequeño, su entorno crece con complementos. Las partes típicas de esta arquitectura son:

Interfaz de complemento (API de complemento): Es la puerta controlada que el kernel abre a las extensiones. El complemento sólo toca el sistema a través de esta interfaz.
Sistema de ganchos y eventos (Hooks & Events): El kernel transmite eventos en determinados momentos. Los complementos se suscriben a estos eventos.
Archivo de manifiesto (Manifiesto): Cada complemento lleva un pequeño archivo que declara su nombre, versión y los permisos que solicita. El sistema no instalará el complemento que no cumpla con las reglas.
Sandbox y permisos: El acceso a los complementos es limitado. De esta manera, un complemento defectuoso no puede bloquear todo el sistema.
Compatibilidad de versiones: La interfaz debe mantenerse compatible con versiones anteriores mientras se actualiza el kernel. De lo contrario, los complementos se romperán.

Aquí hay un pequeño ejemplo, una declaración de complemento típica:

{
  "name": "ornek-eklenti",
  "version": "1.0.0"
}

Uso en diferentes disciplinas

Arquitectura: Estructuras prefabricadas donde se pueden añadir nuevos módulos sin tocar los muros de carga.
Producción: Procesadores de alimentos que pueden tener diferentes aditamentos unidos a un mismo cuerpo.
Juego: Comunidades mod que agregan nuevos mapas y misiones sin cambiar el juego principal.

Preguntas y respuestas

¿Todos los programas son extensibles?

No. A menos que el software esté diseñado con esta flexibilidad desde el principio, agregar compatibilidad con complementos más adelante suele ser costoso y arriesgado.

¿Cuál es la diferencia entre un complemento y un fork?

No copia el código principal en el complemento, se conecta al sistema desde el exterior. Al bifurcar, copia el código completo y va a una ruta separada.

¿Son seguros los complementos?

Varía según la fuente. Elija complementos actualizados y ampliamente utilizados en las tiendas oficiales. Tenga cuidado con los complementos que solicitan permisos innecesarios.

¿La extensibilidad reduce el rendimiento?

Cada complemento impone cierta carga. Cuando utiliza pocos complementos y en buen estado, el efecto suele ser imperceptible.

Términos relacionados

Esta explicación se redactó en lenguaje sencillo para TreScout con IA y se tradujo automáticamente del original en turco · prevalece la versión turca. Si algo le parece erróneo o incompleto, escriba a hello@trescout.com. Leer en turco →