¿Qué recursos necesito para desarrollar un navegador web personalizado?

¿Uno completo? Desde cero? Debe llevar todos los recursos de una de las compañías tecnológicas más grandes del mundo, por ejemplo, Microsoft, Apple o Google.

De lo contrario, debe movilizar una parte significativa de la comunidad de código abierto, como en el proyecto Mozilla.

Un desarrollo completo del navegador es una tarea masiva de varios años que requiere un equipo de unas pocas docenas de ingenieros muy experimentados.


Dejando esa advertencia a un lado, si todo lo que quiere hacer es construir su propio shell alrededor de un motor existente, entonces esa es una tarea trivial que cualquier idiota puede hacer en unos minutos. Por ejemplo, envolviendo el control COM del navegador de Microsoft, o envolviendo Chrome o Mozilla de la misma manera.

Infierno. Hay una capacidad poco conocida del navegador de Microsoft de que en realidad se puede usar como una herramienta de diseño web, que una de mis startups aprovechó para crear un editor de sitio web nativo personalizado para nuestra plataforma B2B empresarial.

Nunca debe intentar construir desde cero. Puede desarrollar un navegador completamente funcional sobre WebKit y Electron y estar razonablemente seguro de que las cosas funcionarán bastante bien. Esté preparado para mantener las bibliotecas de origen actualizadas y la plataforma de distribución para implementar los cambios rápidamente.

WebKit está limitado a Linux y Mac, pero se encuentra en aplicaciones de Windows. Para usar en Windows, querrás un entorno similar a Linux como Cygwin. Necesitará disciplinas de programación que abarquen múltiples áreas, incluyendo el lado del servidor, sistemas operativos, compiladores, etc.

Hace mucho tiempo escribí uno. Ese fue otro momento en que JavaScript no era una necesidad, sino más bien un lujo. El programa era simple, ni siquiera implementó un modelo DOM (para ahorrar memoria).

Hoy en día, la web es un monstruo completamente diferente. No podrías escribir algo que sea bueno por tu cuenta.

More Interesting

Cómo redirigir una próxima respuesta del servidor desde una ventana emergente (se cerraría) a una pestaña activa actual de un navegador en PHP

Cuando estoy usando la versión minimada bootstrap y mi CSS personalizado, ¿mi propiedad CSS personalizada no funciona?

Si uso MEAN stack sin MongoDB y en cambio uso MySQL, ¿habrá algún problema de rendimiento?

¿Cómo se pueden combinar el desarrollo web y la visualización de datos para obtener excelentes opciones profesionales?

Acabo de terminar de aprender HTML y CSS. ¿Hay algún proyecto en el que pueda trabajar ahora?

Aprendí un poco de HTML y CSS, por lo que puedo escribir código básico. Pero, ¿cómo llego mi código al sitio web? FTP? ¿Lo escribo en mi sitio web?

Necesito diseñar una aplicación web de gestión del tiempo, ¿es mejor codificar el módulo de calendario desde cero o existen soluciones existentes que pueda usar con JavaScript?

Si quiero convertirme en desarrollador web y trabajar para el desarrollo web, ¿qué debo aprender y dónde puedo comenzar?

He seleccionado un tema de WordPress receptivo que no funciona en dispositivos móviles. ¿Hay alguna forma de activarlo?

¿Qué debo aprender primero, desarrollo web o WordPress? Quiero ganar dinero lo antes posible.

Quiero desarrollar un sitio web de compras en dotnet, pero no sé nada sobre dotnet. ¿Dónde debería comenzar a estudiar? ¿Cuáles son algunos libros electrónicos gratuitos que me pueden ayudar? (principalmente libros electrónicos para ASP.NET).

Cómo evitar que una parte de la página esté oculta por una barra estática con CSS

Estoy a punto de crear una aplicación para Android y me pregunto si alguno de ustedes recomendaría usar un servicio de back-end como Firebase o Parse, o simplemente escribir el back-end por mi cuenta en Ruby on Rails.

Descargué un tema de WordPress ahora quiero que sea mi propio sitio web. ¿Como lo puedo hacer?

Quería configurar el negocio del servidor para el alojamiento y el uso compartido de archivos, por lo que mi pregunta es cuánto cuesta un servidor y cuánto necesito para comenzar.