Also generell sollte fast alles möglich sein. Betriebssystem wird etwas problematischer, aber selbst da könnte man - mit gewissen Abstrichen - einiges machen / überlegen.
Und kann ich nicht einfach auf hardware nähere Libraries zugreifen, um den browser zu schreiben und ein bisschen mehr selber zu machen?
Natürlich kannst Du da auch einiges machen. JNI, JNA wären da so zwei Stichworte.
Ansonsten kannst Du selbst den Aufbau ansehen. Java ist mit dem Open JDK Open Source. JavaFX ist mit openjfx Open Source. Damit stehen Dir die Sourcen zur Verfügung. Du kannst also schauen, was die WebView macht, wie da die diversen Aufgaben unterteilt sind u.s.w.
Zu den meisten Punkten gibt es Open Source Projekte, die zeigen, wie es gehen könnte. Interpreter gibt es diverse auch in Java. Datenbanken gibt es diverse in Java. Compiler habe ich gerade kein Projekt im Hinterkopf, aber der Java Compiler wäre da ggf. ein Beispiel.
Aber ich frage. mich derzeit, was der Sinn hinter diesem Thread ist. Denn wenn Du so eine Aufgabe hast, dann solltest Du da strukturiert heran gehen. Ein erster Ansatz wäre, einfach einmal mit zu jeder Option eine Grobplanung zu versuchen. Also einfach mal paar Minuten nachdenken, was hinter der Aufgabe steckt, was man da entwickeln könnte. Dann hast Du eine erste Idee. Und dann kannst Du die Aufgabe, die Dich interessiert, im Detail planen.
Und wenn es der WebBrowser sein soll: Dann solltest Du die grobe Planung doch bereits haben! Und dann sollte die Aufgabe auch im Detail bekannt sein: Was ist denn die genaue Aufgabe? Was soll da entstehen? Ein kompletter (moderner) Webbrowser ist aus meiner Sicht schlicht zu komplex für eine Studienaufgabe. Und ich weiss nicht, was da denn der Anspruch ist. Der Webbrowser umfasst aus meiner Sicht einiges:
a) Die Kommunikation - hier ist also http und https wichtig. Hier auf eine fertige Library setzen: Denkbar, aber ist das sinnvoll? Das muss man im Detail bedenken.
b) Das was man zurück bekommt, muss man auswerten. Das fängt beim Status an und geht dann über diverse Encoding u.s.w.
c) Darstellung - da muss man sich überlegen, wie das angezeigt werden soll. Grafische Darstellung ist recht komplex und erfordert recht viele Berechnungen. Das kann jedes Studienprojekt sprengen fürchte ich.
d) JavaScript hast Du erwähnt - Das wäre dann bereits eine eigenständige Aufgabe....
Also wird schnell deutlich: Gewisse Dinge nimmt man als Library oder man lässt es weg. WebBrowser könnte also ein reiner Textbasierter Browser sein. Dann läge der Schwerpunkt auf http, TLS/SSL würde man fertige Lösungen nehmen. Inhalte wären auszuwerten (um ggf. mehr nachzuladen).
Und dann wird am Ende einfach alles auf Textbasis ausgegeben.
Ggf. baut man den Inhalt auch als XML auf (also repariert sozusagen das HTML) um dann ein Transform zu haben das dann verwendet werden kann. Wäre evtl. auch eine Idee.
Aber hier ist halt wichtig:
- Die Planung und die Überlegungen müssen von Dir kommen. Die Dozenten / Professoren sind doch nicht blöd und dieses Forum wird auch von Google und Co indiziert.
- Wir kennen die genauen Anforderungen nicht - das was wir "meinen" kann also von den Anforderungen abweichen.
- Egal was Du machst: Du musst auch eine Recherche durchführen zu diversen Punkten. Da ist der Umgang mit Suchmaschinen wichtig. Alleine schon, damit Du die entsprechenden Themen auch vertiefst. Du nutzt eine Library für http/https und hast dann einen Webbrowser geschrieben ohne etwas zu den Protokollen zu sagen? Wird vermutlich nicht die Anforderungen erfüllen.