The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлен web-браузер Breach, написанный на JavaScript

11.07.2014 10:59

Представлен первый публичный выпуск web-браузера Breach, примечательного модульной архитектурой и гибкими возможностями настройки. Браузер написан на языке JavaScript, работает поверх платформы Node.JS и распространяется под свободной лицензией MIT.

Использование JavaScript и HTML5-технологий позволяет легко адаптировать интерфейс под свои предпочтения, например, не представляет труда реализовать вертикальные вкладки или изменить логику работы движка автодополнения ввода. Все компоненты браузера реализованы в форме загружаемых модулей, которые представляют собой web-приложения, выполняемые в отдельных процессах, взаимодействующих через специальный API, основанный на Chromium Content API и Simple View Model. В качестве каркаса для выполнения модулей выступает написанная на C++ платформа ExoBrowser, представляющая собой надстройку над Node.JS и движком Webkit.



                  (Платформа)                  #   (реализация браузера)
                                               #
                         +------------------+  #
                         |  Cocoa/Win/GTK+  |  #
                         +---------+--------+  #
                                   |           #
      +----------------+ +---------+--------+  #  +-----------------------+
      |  Content API   +-+ ExoBrowser (C++) |  #  |  Web Views (HTML/JS)  |
      +----+-----------+ +--------------+---+  #  +-----------------------+
           |                   (JS API) |      #             | (TCP)      
      +----+---+  +----+ +--------------|---+  #  +-----------------------+
      | Webkit +--+ v8 +-+    NodeJS    +---+-----+   Local Server (JS)   |
      +--------+  +----+ +------------------+  #  +-----------------------+

Браузер пока находится на стадии ранней альфа-версии, но уже вышел за рамки прототипа и готов для начального ознакомления. Среди доступных внешних модулей: mod_strip (управление вкладками и размещение управляющих элементов), mod_stats (накопление и вывод статистики о работе пользователя), mod_newtab (пример отображения контента при открытии новой вкладки). Реализация примечательна функцией фильтрации вкладок по мере набора в адресной строке и отражением цвета страницы на кнопках.



  1. Главная ссылка к новости (http://breach.cc/2014/07/09/we...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/40177-javascript
Ключевые слова: javascript, browser, breach
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (57) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 11:06, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +29 +/
    Давно пора! Сам себя внутри себя умеет запускать?
     
     
  • 2.48, ананана (?), 17:00, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    По сути он работает на движке Хрома написанном на C++ и ассемблере. Движок выполняет код Node.JS, которые выполняет дополнительный код этого "браузера".
    То есть фактически это просто интерфейс Хрома.

    Примечательно, что все популярные браузеры именно так и устроены. Почти все их интерфейсы написаны на JavaScript и CSS, которые обрабатывают и отображают движки. А их функции просто группа вызванных функций движка.

    Если это "браузер для написания которого автор использовал ТОЛЬКО javascript", то и Opera тоже такой браузер. Она просто javascript и css выполняемый на чужом движке (движке Хрома).

     
     
  • 3.67, Аноним (-), 14:38, 12/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Ну в общем дело было так: грузим в браузере линь, в котором запускаем браузер, в котором запускаем браузер, в котором запускаем линь, в котором запускаем... ну ... вы поняли.

    Через некоторое время никто уже и не вспомнит с чего это началось :).

     

  • 1.2, Аноним (-), 11:13, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    Тут нужна картинка с Xzbit
     
     
  • 2.3, Аноним (-), 11:18, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +41 +/
    Yo dawg, we heard you like web browsers so we put a web browser into your web browser so you can browse the web while you browse the web.
     
     
  • 3.7, Аноним (-), 11:23, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Зашел написать этот комментарий.
     
  • 2.19, ук (?), 12:24, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    пришел сюда за этим каментом
     

  • 1.4, Аноним (-), 11:19, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Название говорящее :))))))))))))))
     
  • 1.5, Аноним (-), 11:19, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Когда я вижу такую новость, то так и хочется спросить - "НУ И ЗАЧЕМ?"

    Все эти браузеры на node.js, непонятно кому нужные ЯП, постоянные поделки всего и всея на Питоне (который, видимо, будет "паскалем нашего времени" во всех образрвательных учереждениях). Что это вообще за тренд?

    По моей деятельности приходится писать много всяких скриптов уровня среднего администратора, но я никогда и никому их не показываю, ибо всегда перед этим задаю себе вопрос - "Ну, и что теперь? Кому это надо? А не будет ли стыдно?". Конечно, скрипты обслуживания - не полноценное ПО, это я для аналогии.

    Изиняюсь, если ущемил чьи-то воззрения, ибо накипело.

     
     
  • 2.16, Пингвино (ok), 11:56, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А чем вам не угодил Python? Я могу за час написать программу, на которую у программиста на Си потребуется несколько дней. Если вы не понимаете, это не значит, что это не нужно. Ваше непонимание - исключительно ваша проблема, так что перед тем как писать подобные комментарии стои подумать: "А не будет ли стыдно?"
     
     
  • 3.25, kurokaze (ok), 13:16, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > перед тем как писать подобные комментарии стои подумать: "А не будет ли стыдно?"

    Твои слова да тебе же в уши, чтобы ты не врал так откровенно о "могу за час написать",а то сразу вспоминается анекдот про машинистку и скорость набора.

     
     
  • 4.40, Elhana (ok), 15:36, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На питоне все же некоторые вещи быстрее писать (но это не будет разница час и пару дней), особенно в качестве прототипа - можно набросать UI и кое-какую логику за пару дней, чтобы показать заказчику, а то что требует скорости переделать на С или юзать что-нибудь вроде NumPy.
    Кроме того для питона есть вагон готовых модулей на все случаи жизни в одном месте.

    Это не значит что на нем надо ОС писать, но "калькулятор" или что-то подобное вполне можно.
    Кроме того для базового обучения тоже хорошо подходит (смотрим например MIT CS101) для НЕ программистов - всяким физикам/лирикам и офисному планктону тоже иногда например макросы нужны.

     
     
  • 5.58, Серж (??), 20:27, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Если ты думаешь, что Си++ используется голый, без библиотек, то пора просыпаться - это совсем не так и ничего на Питоне быстрей, чем на Си++, ты не напишешь. А если что-то серьезное писать, то только на Си/Си++, возможно, со вставками на Ассеблере, где нужна скорость света.
     
     
  • 6.62, inferrna (ok), 09:05, 12/07/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Треш, угар, области видимости, нулевые указатели - это при попытке собрать годичной свежести C++ проект завязанный на OpenCV. Для питона достаточно поддерживать актуальность биндинга, а собственно питонический код будет работать норм и ничуть не тормознее плюсового.
     
  • 6.66, arisu (ok), 14:15, 12/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > А если что-то серьезное писать, то только на Си/Си++

    вот ведь… хуже хипстоты с js только хипстота с цпп. поубивали бы уже друг друга, что ли…

     
  • 6.72, Аноним (-), 09:47, 14/07/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Если ты думаешь, что Си++ используется голый, без библиотек, то пора просыпаться
    > - это совсем не так и ничего на Питоне быстрей, чем
    > на Си++, ты не напишешь. А если что-то серьезное писать, то
    > только на Си/Си++, возможно, со вставками на Ассеблере, где нужна скорость
    > света.

    Ага, сайтик на  С++ сочини для начала.

     
     
  • 7.74, arisu (ok), 10:37, 14/07/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ага, сайтик на  С++ сочини для начала.

    для неумеющих пользоваться гуглем подскажу ключевые слова: «c++ web framework». наслаждайся.

     
  • 4.73, Аноним (-), 09:51, 14/07/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> перед тем как писать подобные комментарии стои подумать: "А не будет ли стыдно?"
    > Твои слова да тебе же в уши, чтобы ты не врал так
    > откровенно о "могу за час написать",а то сразу вспоминается анекдот про
    > машинистку и скорость набора.

    Дык какие проблемы, например решение матричного уравнения Риккати, легко написать за час на python, на Си потребуется несколько месяцев.

     
  • 3.31, uhbyujdibr (?), 14:34, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    судя по написанному, врать вам не стыдно, вы ни питон, ни си не знаете, а пишите, что программировать вообще умеете
     
  • 2.21, Аноним (-), 12:37, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Там же UI в основном на java script. А так это еще один браузер на Chromium. Только непонятно почему у них WebKit на картинке, там же Blink должен быть давно.
     
  • 2.22, онаним (?), 13:00, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Одни пишут браузеры, другие пишут "НУ И ЗАЧЕМ?" в коментариях
     
     
  • 3.26, anonymus (?), 13:37, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    это не браузер. Браузер у них готовый - webkit
     
  • 3.59, Серж (??), 20:28, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Одни пишут браузеры, другие пишут "НУ И ЗАЧЕМ?" в коментариях

    Лучше бы они нормальным делом занялись, а не писюльками всякой ерунды.

     
     
  • 4.63, Куяврег (?), 12:07, 12/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    У них есть время и желание. Если тебе нужно что-то другое - пиши, делись.
     
  • 2.24, kurokaze (ok), 13:15, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >который, видимо, будет "паскалем нашего времени"

    бейсиком же. гвидобейсик

     
     
  • 3.70, Аноним (-), 09:43, 14/07/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >бейсиком же. гвидобейсик

    Basic к python  не имеет никакого отношения. Си гораздо ближе к Basic.

     
     
  • 4.79, Lain_13 (ok), 00:21, 18/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Ты нихрена не понял, хотя там правы оба.
     
  • 2.29, rob pike (?), 14:20, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Поищите ответ в плоскости социальной психологии Мне кажется что вы хороший Лег... большой текст свёрнут, показать
     
  • 2.69, Аноним (-), 20:45, 13/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Например selenium webdriver - функциональные тесты веб-приложений гонять на серв... большой текст свёрнут, показать
     

  • 1.6, Аноним (-), 11:19, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Как вы лодку назовете.....
     
  • 1.8, Аноним (-), 11:27, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Т.е. чтоб поработать в этом браузере, надо его запустить в другом браузере?
     
  • 1.9, Аноним (-), 11:35, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >В качестве каркаса для выполнения модулей выступает написанная на C++ платформа ExoBrowser

    а это слабо что ли было на скрипте осилить?

     
  • 1.10, Аноним (-), 11:37, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Главная фича в браузере это модули и легкая кастомизация, пацаны.
    Жрет кстати мало на удивление
    http://i.imgur.com/hjSg3cI.png
     
     
  • 2.12, Аноним (-), 11:46, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    классно, открой пожалуйста 50 или 100 вкладок, интересна динамика.
     
     
  • 3.20, Аноним (-), 12:29, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Никакого волшебства, ~50 вкладок с theverge, 50мб на вкладку. Расходимся.
    http://i.imgur.com/ZelhT8h.png http://i.imgur.com/WytkJG6.png
     
     
  • 4.33, hshhhhh (ok), 14:57, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Так а в макоси на процесс показывается вместе с shared mem или без? А то вот в линуксе же оно кажет вместе с shared mem
     
     
     
    Часть нити удалена модератором

  • 6.57, anonymous (??), 19:13, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >> Так а в макоси на процесс показывается вместе с shared mem или
    >> без? А то вот в линуксе же оно кажет вместе с
    >> shared mem
    > Кажется, выросло поколение утырков, ничего не знающих о распределении памяти процессов
    > в лине - да и вообще в любой оси, если на
    > то пошло....

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

     

  • 1.11, Аноним (-), 11:45, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    круто! следующий на очереди FF (https://developer.mozilla.org/en-US/docs/Web/API/Using_the_Browser_API).
     
     
  • 2.80, Lain_13 (ok), 00:29, 18/07/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если говорить о такой степени применения JS, то Firefox кагбэ уже и аж с самого рождения. Просто вместо HTML использует для описания своей морды XUL. А так всё склеено тем же JS и разукрашено через CSS.
     

  • 1.13, имя (?), 11:46, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > Использование JavaScript и HTML5-технологий позволяет легко адаптировать интерфейс под свои предпочтения, например, не представляет труда реализовать вертикальные вкладки или изменить логику работы движка автодополнения ввода.

    Да это же XUL для бедных, получается!

     
     
  • 2.14, Аноним (-), 11:47, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    думаю XUL уйдёт, в firefox OS его нет.
     
     
  • 3.37, Аноним (-), 15:24, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Уже ушёл.
     

  • 1.18, Аноним (-), 12:23, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Всё полезно что в голову залезло.
     
  • 1.23, Аноним (-), 13:01, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    node-webkit, Atom Shell, ExoBrowser, ...
    нужно больше велосипедов!
     
  • 1.27, RazrFalcon (ok), 13:48, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Очередное никому не нужно поделие студентов.
    Браузер они написали, ага (breach_core):
    -------------------------------------------------------------------------------
    Language                     files          blank        comment           code
    -------------------------------------------------------------------------------
    Javascript                      33            694           2579           5354
    CSS                              8            159            172           1879
    HTML                             6             38             10            384
    Bourne Shell                     2             11             10             24
    make                             1              5              0             12
    -------------------------------------------------------------------------------
    SUM:                            50            907           2771           7653
    -------------------------------------------------------------------------------

    С каких это пор весь бразуре можно реализовать в 7.5к строк?

    Итого у нас "браузер" из 5к строк на JS + тонны С/С++ кода в webkit + node.js который тоже чуть менее чем полностью на С/С++ - и авторы говорят что за js будущее и С/С++ не нужен. Ну-ну...

     
     
  • 2.30, rob pike (?), 14:27, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +13 +/
    Вы просто не успеваете за современной терминологией.

    Браузер: обвязка для webkit

    (Новая) Операционная система: несколько патчей к Linux или Android

    Инновационный: с оранжевыми кнопочками

     

  • 1.28, Fox Mulder (?), 14:19, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > на JavaScript

    а он дисковод умеет открывать?

     
  • 1.32, хренонко (?), 14:43, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Самый лучший "браузер" node.js, это node-webkit!
     
  • 1.36, Аноним (-), 15:19, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А что случилось с conkeror? В зависимостях iceweasel :(
     
  • 1.39, th3m3 (ok), 15:31, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Хорошая попытка Javascript! Но, ты никогда не созреешь для серьёзных вещей.
     
  • 1.60, Аноним (-), 22:02, 11/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ну чего вы тут нюни распустили... ну естественно JS это всего лишь интерпретируемый язык и ему нужны интерфейсы для связи с интерпретаторами, от которых он полностью зависит. Тут дело в другом, JS просто имеет свою историю. Если ктото хочет его вытеснить с рынка, то надо работать по линии черного пиара, надо скрупулезно под микроскопом рассматривать каждую особенность этого языка и его движков, каждую слабую сторону, находить в них недостатки и уязвимости мнимые и не мнимые, цепляться за любую мелочь и на весь мир кричать об ужасающих страшных и чудовищных последствиях для всего человечества, которые непременно произойдут если только срочно не отказаться от всего что связано с JS даже косвенно.
     
     
  • 2.61, имя (?), 22:06, 11/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Расслабьтесь.
    https://www.destroyallsoftware.com/talks/wat
     
  • 2.64, Ordu (ok), 13:16, 12/07/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Удовлетворите моё любопытство: вы серьёзно полагаете, что это может сработать, или пытаетесь таким образом показать js-хейтерам всю нецелесообразность их поведения?
     

  • 1.65, arisu (ok), 14:13, 12/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    скажите уже им кто-то, что их браузер написан на языке c++ с примесью клеекода на js.
     
  • 1.76, Онаним (?), 20:00, 14/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    И тут  Webkit... Я уж губы раскатал, что наконец-то разработали браузер, в котором действительно можно без цистерны водки под себя перепилить всё и отдебажить самому, ан нет...
     
     
  • 2.77, Led (ok), 01:26, 15/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > И тут  Webkit... Я уж губы раскатал, что наконец-то разработали браузер,
    > в котором действительно можно без цистерны водки под себя перепилить всё
    > и отдебажить самому, ан нет...

    Да легко! Как только ты в перерывах между уроками напишешь провильный интернет, который можно будет "броузить" "лёгкими движками" и заменишь ним текущий - так сразу и "лёгкий броузер" тебе напишут.

     

  • 1.78, Lain_13 (ok), 00:20, 18/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мне кажется правильно это называть «Представлен web-браузер Breach с интерфейсом, написанным на JavaScript». Вот как-то так. Что ж, студентов можно поздравить с тем, что они изобрели многопроцессный Firefox за пол года до того, как сам Firefox станет многопроцессным.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру