Pull to refresh

Мой pet project — «браузер» Compy

Немного о моём кроссплатформенном "браузере" Compy и что он может сейчас, и да в нем нельзя открыть web странички.



Всем доброго времени суток. Хочу коротко рассказать о своём pet project под названием Compy.


Но сначала немного расскажу о себе, чтобы вы понимали как я к этому пришёл.


Во время когда я только начал учился программировать я учился в школе, сначала изучил паскаль потом стал изучать с++ и изучал его долго, параллельно трогая и изучая другие языки, но с++ позволяли познать основы основ — писал игрушки в консоли разукрашивая текст с использованием системного api (это была винда, брр), я писал работу с сокетами (tcp udp) и делал сервер который раздавал "задачи" клиентам.


Когда я впервые захотел сделать сайт я полез смотреть как реализовать http (то что он работает поверх tcp я знал) и когда я увидел что это текстовый протокол я был шокирован и растерян — как так вся веб паутина юзает текст, хотя все те же данные можно было бы гораздо эффективнее закодировать в структуры...


тогда я отказался от создания сайта и с тех пор не люблю веб, хотя esni и http3 должны немного его облагородить.


Через какое то время я поднял дома два сайта на разных машинах, уже не помню что это было, купил доменное имя, и когда я хотел прописать в dns для поддоменов ip и порты — я понял что ни dns ни http не умеет такого — то есть сайт может быть на 80 порту или 443 и точка, а если я хочу кастомный порт то должен сам прописывать его в url, или я должен добавлять дополнительную точку отказа в виде реверс прокси!!!(


И я понял что хочу создать "новый интернет" где не будет бесполезной избыточности и десятки слоёв абстракции и лишних точек отказа.


И вот он мой кроссплатформенный браузер Compy:



Он способен:


  • Выполнять бизнес логику на любом(почти) языке программирования (сейчас это только с++/python/урезанный js) а не только js (да про то что в попытке исправить ситуацию они сделали WASM я знаю)
  • Использовать нативный gui, а не использовать движки для отрисовки (вбивайте в поисковик Skia)
  • Использовать связку доменного имени с любыми портами
  • Если вам нужен свой протокол — пожалуйста
  • Его можно использовать для создания своих single app — как и с electron

Также я постарался заложить идеи что за каждым "url'лом" скрывается не не сайт, а приложение — то есть как и в Android оно скачивается хранится и при надобности обновляется.
Запрос прав — реализовать не успел.


Если есть желание посмотреть, попробовать что-то сделать, или помочь в развитии прошу в git)
Warning — код не идеальный писался как POC и 2 раза был переписан с 0.
https://gitlab.com/Andryski/Nhtml/


Также были интересные статьи на хабре по теме "что не так с вебом"- “Пора убить веб” и “Что последует за вебом?”


Если вам интересны детали реализации или размышления "что с вебом не так" пишите — напишу отдельную статью :)

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.