Quiero construir un navegador desde cero. ¿Cómo debo hacer esto? El uso de motores de renderizado disponibles también es una opción disponible.

Es una gran tarea, pero hay algunas otras opciones.

Construir en el motor como Firefox o Webkit. Ambos son bastante estables y tienen componentes necesarios para construir el navegador. Aunque proporcionan componentes básicos, ambos carecen de buena documentación y muestras. He aprendido ambas cosas, pero requiere demasiado tiempo, y dado que está completamente fuera de la programación general, no obtienes ayuda para hacer cosas simples.

Firefox tiene un marco XUL que es un lenguaje de interfaz de usuario basado en XML que es fácil de aprender. Y con XUL + JS puedes construir un navegador completo.

En el kit web, aún necesitará trabajar en C ++ o C para hacer su navegador.

Para construir desde cero, primero tendrá que elegir y dominar un buen marco nativo de Ul. Windows WPF es bueno pero está limitado solo a la plataforma de Windows. Los beneficios son, depuración fácil, visualización de la interfaz de usuario en tiempo de diseño, enlace incorporado, JScript # o DLR personalizado y mucha documentación y muestras en todo el mundo.

WPF y JScript # constituyen un gran componente para el renderizado. Todo lo que necesitas es un analizador y mapeo HTML para CSS. Y C # es relativamente fácil de escribir, entonces C ++.

Creo que usar un motor de renderizado disponible es su opción * única *, no tiene la esperanza de hacer uno desde cero, muy pocas personas lo harían.

Entonces es solo cuestión de elegir un motor y una plataforma para construirlo.

En muchos kits de herramientas, como JavaFX, puede colocar un WebView en una ventana, pedirle que cargue una URL, y lo hará. Entonces es solo cuestión de poner una barra de direcciones, botones de retroceso / avance / actualización, y estás dorado.

Probablemente quiera guardar marcadores y cosas similares, pero eso es solo cuestión de almacenar una lista en algún lugar.

Es factible! De nada para ayudarme. Estoy retirado. Ahora tengo un navegador totalmente funcional en Python y C #. Tuve que engañar a Python para crear una solución furtiva para manejar el HTML y Java. Una vez que me di cuenta de que Python podía envolver Windows IE 11, la última versión usando C # lo hizo perfecto. Chrome también tiene un envoltorio para ellos con x-11 enmarcado furtivamente de Chromium y también uno de webkit que necesita más trabajo.

En cualquier navegador, la decodificación de URL se configura fácilmente en la primera solicitud, luego se escribe una copia y se guarda en una carpeta de archivos de caché en la máquina de los usuarios. Se filtra por segunda vez y luego se presenta en la máquina del usuario en una ventana. Chrome hace esto usando x-11 de Chromium o un mshtml.dill en Windows. El único problema es que Java no se puede hacer solo: se necesitan cientos de desarrolladores y miles de horas para tener un navegador cerca de lo que IE y Chromium pueden hacer con Java. Python no puede manejar estas bibliotecas de Java Google Chrome maneja el Java desde un sitio web y lo devuelve a los navegadores de sus usuarios en cada solicitud de página. Para ver que esto funcione en la ventana Buscar, verá esta acción de borrado cada vez que realice una solicitud. Apaga las máquinas de los usuarios de Java y usa su propia máquina y luego envía el resultado a la máquina de los usuarios para su presentación en una ventana.

Estas ventanas no son más que páginas de archivos vacías con nada similar al lienzo de tkinter y / o un editor de cuadros de texto y luego se refinan leyendo todo el Html y Java filtrándolo y guardando secciones en fragmentos y reconstruyéndolo en la ventana para ver como páginas renderizadas. . Algunos pueden usar TextBoxes ocultos también para almacenar e iniciar el proceso de filtrado por Python. El CSS también es una formalidad y también debe leerse analizado por sección para cada etiqueta en html que se asigna y se reúne en el objeto de vista de ventana que podría tomar muchas clases y funciones en Python.

La solicitud de Url-lib para cada solicitud de enlace también debe manejar Cookies (como un registro de caché). Sea capaz de atravesar páginas web, lidiar con datos de formularios y también con XML, The Dom Objects y cientos más. Google Chrome no es diferente del mío. Ambos enmarcamos o envolvemos otros motores. Html Google envuelve el X-11 de Chromium y yo envuelvo el control de navegador web de IE de Microsoft Windows. Haciéndolo mucho más fácil y el mío nunca necesita actualizarse porque Windpows lo hace por mí. Estoy trabajando ahora para agregar una conexión directa desde mi Python a mi C # para manejar algunas cosas más nuevas y avanzadas y esto es prometedor, pero lo necesito en Github o MIT con control de versiones y muchas personas para ayudar a mejorarlo. Envíeme una línea aquí y le enviaré un sample.exe.

Lo hice, en los primeros días del navegador, y te sugiero que NO. Las reglas de HTML y HTML5 y CSS son tan enormes, sin sentido y extravagantes, y eso no es todo, probablemente tenga que imitar las diversas peculiaridades de otros navegadores. Es suficiente para volverte loco, tres veces.

El uso de un motor de renderizado enlatado le quitará aproximadamente la mitad de la carga de sus hombros, luego debe preocuparse por implementar JavaScript, que curiosamente, es tan peculiar como las otras cosas. Sin mencionar el manejo de eventos.

El momento en que una persona podría escribir todo lo que probablemente haya pasado.

Como dices navegador, derramaré los frijoles. Comencé Beffsbrowser hace dos años, fue lanzado públicamente el 4 de julio de 2015, me volví loco. Todavía lo hago

Está escrito en VB Dot Net. Y es más que un simple navegador. Estoy planeando actualizar el motor a CefSharp o Awesomium o gecko. Esos son todos motores o renders. Es realmente fácil hacer tu propio navegador. Solo toma mucho tiempo y esfuerzo (y paciencia) como Mozilla, mi navegador no tenía pestañas al principio, lo desarrollé desde cero. Y muy orgulloso

Para comenzar a construir uno, elija un idioma. Recomiendo un lenguaje .net C # o VB, el que sea.

Entonces un motor esos son bastante limitados. Debido a que no fueron creados para hacer que un navegador web completo solo sea funcional para cosas en la aplicación. El problema que me he encontrado con otros que no sean Internet Explorer.

Puedes buscarme en VBforums (.) Com. Tengo una clase para forzar la actualización del navegador a la versión instalada. Por lo tanto, puede usar MS edge como envoltorio.

¡Buena suerte! \ U0001f340

Si desea comprender cómo funciona un navegador web, puede echar un vistazo a ¡Construyamos un motor de navegador! es un buen lugar para comenzar, también deberá comprender cómo funcionan los compiladores (básicamente, análisis y análisis).

Estoy construyendo un motor de renderizado como html-css ahora, es difícil, pero mi objetivo es comprender cómo funciona realmente e intentar llegar lo más lejos que pueda con este experimento.

Si desea compartir experiencias, estará encantado de hablar con usted.

Saludos

Este es un proyecto interesante y creo que la mejor manera de comenzar es encontrar un libro que pueda estar interesado en leer para ayudarlo.

También puede aprender cómo construir un navegador web simple con la guía de un instructor en la clase cs262 “Creación de un navegador web” en Udacity, impartido por Westley Weimer.

More Interesting

Tengo una idea para un sitio web. ¿Qué debo usar para construirlo?

¿Soy un desarrollador de pila completa si uso firebase u otras soluciones sin servidor para mi backend en lugar de aprender el lenguaje y el framework de backend?

¿Debo aprender el lenguaje JavaScript completo o es mejor aprender algunos relacionados con el desarrollo web en caso de que quiera convertirme en desarrollador web?

Estoy aprendiendo desarrollo web yo mismo en casa después de 7 meses. ¿Qué debo hacer junto a él para tener algo que explique la brecha al empleador?

Estoy aprendiendo desarrollo web full stack, ¿debería preocuparme por aprender AWS cuando empiezo a aprender el lado del backend?

¿Cómo aumentar la velocidad de carga del sitio web en la plataforma Squarespace? Qué consejos técnicos se pueden proporcionar a un usuario para mejorar la velocidad general del sitio web

Soy desarrollador de SQL y mi empresa me reembolsará los certificados de TI, pero estoy en el desarrollo web. ¿Cómo debo aprovecharlo?

Estoy aprendiendo a ser un desarrollador web full stack. Descubrí que el desarrollo frontend es mucho más difícil que el desarrollo backend. ¿Es esto solo mi error?

Sé React y React-Redux junto con AJAX y Jquery. He realizado múltiples proyectos pero no puedo atraer a ningún reclutador. ¿Qué pasos tomo?

¿Debo usar JavaScript, jQuery o ambos para crear un sitio web dinámico?

Quiero construir mi primera aplicación web. ¿Tendré éxito si empiezo a codificar mi aplicación web (aprendiendo sobre la marcha) o si me tomo un mes para aprender primero los fundamentos de las redes informáticas?

¿Cómo uso curl en Java para hacer una llamada a una url?

Aprendí HTML, CSS y JavaScript. ¿Cómo puedo ganar dinero en casa usando estas habilidades?

¿Podría una sola persona hacer su propio navegador web si tuviera un título en Informática?

Estoy construyendo una comunidad y necesito integrar un servicio donde pueda administrar los buzones. Cada usuario necesita una dirección de correo electrónico personal en mi dominio. Necesito una solución delgada y confiable, solo para correo electrónico, y que no es costosa como Google Apps. ¿Qué es un servicio con la API que puede administrar mi correo electrónico?