The OpenNET Project / Index page

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

17.05.2018 11:29  isomorphic-git, реализация Git на JavaScript

Опубликован выпуск проекта isomorphic-git 0.13.0, в рамках которого развивается реализация Git на языке JavaScript, нацеленная на предоставление 100% переносимости с классическим Git и способная выполняться в web-браузере или в качестве модуля для платформы Node.js. Код проекта поставляется под лицензией MIT.

Проект изначально написан на чистом JavaScript (без компиляции в JavaScript при помощи Emscripten) и базируется на применении WebWorkers и ServiceWorkers. Isomorphic-git позволяет читать и записывать данные в локальные Git-репозитории, выполнять операции push и fetch с удалёнными репозиториями, например, с GitHub. Для работы с Git-репозиториями предлагается утилита isogit, поддерживающая большую часть команд git. Для встраивания отдельных возможностей Git в web-приложения предоставляется модульный API, позволяющий включать только необходимую функциональность. Как и в канонической реализации Git, в isomorphic-git все операции выполняются путём изменения файлов в каталоге ".git".

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: В рамках проекта Gitlet развивается упрощённая реализация Git на JavaScript
  3. OpenNews: git.js - реализация Git, написанная целиком на JavaScript
  4. OpenNews: Компилятор Emscripten достиг возможности собственной пересборки
  5. OpenNews: GitHub выпустил Git LFS 2.4.0
  6. OpenNews: Выпуск распределенной системы управления исходными текстами Git 2.17
Лицензия: CC-BY
Тип: Программы
Ключевые слова: git, javascript
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 11:34, 17/05/2018 [ответить] [показать ветку] [···]    [к модератору]
  • +21 +/
    Но зачем?
     
     
  • 2.3, Аноним (-), 11:45, 17/05/2018 [^] [ответить]    [к модератору]
  • +11 +/
    Чтобы набраться опыта, изучив тонкости JS. Всяко интереснее чем очередной калькулятор по учебнику.
     
     
  • 3.32, anonymous (??), 20:59, 17/05/2018 [^] [ответить]    [к модератору]
  • +/
    Неужели JS на столько сложен, что его тонкости можно только так изучить? А то тут фанбои совсем другое вещают...
     
     
  • 4.42, Аноним (-), 22:30, 17/05/2018 [^] [ответить]    [к модератору]
  • –1 +/
    https://youtu.be/RGkIsUBfanQ?t=1m20s

    Ну и дальше смотрите "why javascript is sucks".

     
  • 4.56, Аноним (-), 12:11, 18/05/2018 [^] [ответить]    [к модератору]
  • –2 +/
    Сложен. Но входной порог при этом низкий.
     
  • 4.58, macfaq (?), 12:29, 18/05/2018 [^] [ответить]    [к модератору]  
  • +/
    > Неужели JS на столько сложен, что его тонкости можно только так изучить?

    Наверное достаточно наличия книжки с названием "Javascript: The Good Parts" чтобы что-то заподозрить (:

     
  • 2.4, Аноним (-), 11:46, 17/05/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Чтобы называться так же, но быть несовместимым, очевидно же.
     
  • 2.14, Bitten Apple (?), 13:09, 17/05/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Для online IDE, например
     
     
  • 3.40, Вареник (?), 21:31, 17/05/2018 [^] [ответить]    [к модератору]  
  • +/
    > Для online IDE, например

    Непременно в телефоне, а лучше в "умных часах" :)

     
     
  • 4.55, Диносуслик (?), 11:45, 18/05/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Если брать тот же с9, то там нормальный гит, т.к. ОС запускается в контейнерах, гит нормальный и все как полагается.

    Зачем именно в JS - не ясно.

     
     
  • 5.65, Аноним (-), 16:29, 19/05/2018 [^] [ответить]    [к модератору]  
  • +/
    > Зачем именно в JS - не ясно.

    Скоро электрон перекочует в прошивку и JS сразу станет системным языгом, а старперы с их старыми плюсами и дривнющим си будят завидовать и кусать локди! Вот!

     
  • 2.28, Аноним (-), 18:41, 17/05/2018 [^] [ответить]    [к модератору]  
  • –4 +/
    Затем, что под нормальной свободной лицензией, а не под вирусно-несвободным GPL.
     
  • 1.2, Аноним (-), 11:37, 17/05/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +13 +/
    Фронтендеры, успокойтесь уже.
     
     
  • 2.7, callbackjump (?), 12:16, 17/05/2018 [^] [ответить]     [к модератору]  
  • –21 +/
    Почему Почему все думают, что JS медленнее нерушимого Си Оптимизация движка JS... весь текст скрыт [показать]
     
     
  • 3.9, Аноним (-), 12:29, 17/05/2018 [^] [ответить]    [к модератору]  
  • +6 +/
    Потому что тесты производительности не обманешь как и тесты на потребление памяти. Потому что си и с++ при правильной организации разработки и наличии статического анализа безопасней js-a. Потому что для С-подобных языков не нужен рантайм.
     
     
  • 4.11, Владимир (??), 12:45, 17/05/2018 [^] [ответить]    [к модератору]  
  • +/
    С-подобный это про синтаксис, javaScript как раз к ним и относится, так что вы тут некорректно выразились.
     
     
  • 5.13, Анониммм (?), 13:02, 17/05/2018 [^] [ответить]     [к модератору]  
  • +/
    Есть Си-подобный синтаксис, да Но в данном человек имел ввиду отсутствие вспомо... весь текст скрыт [показать]
     
  • 4.27, й (?), 18:25, 17/05/2018 [^] [ответить]    [к модератору]  
  • +/
    > с++
    > не нужен рантайм.

    ага, а libstdc++ фикция и не существует.
    строго говоря, это такой же рантайм, т.е. имплементация stdlib, без наличия которой в системе ничего не запустится.

     
     
  • 5.29, Anonymus (?), 19:05, 17/05/2018 [^] [ответить]    [к модератору]  
  • +/
    Статически линкуй
     
     
  • 6.38, Вареник (?), 21:30, 17/05/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Рантайм - это все что обслуживает выполнение программы, чтобы main вывело Hell... весь текст скрыт [показать]
     
     
  • 7.43, draw1 (?), 22:45, 17/05/2018 [^] [ответить]     [к модератору]  
  • –3 +/
    Ага Но только во время ВЫПОЛНЕНИЯ, а не во время компиляции по секрету поэтом... весь текст скрыт [показать]
     
     
  • 8.46, Аноним (-), 01:42, 18/05/2018 [^] [ответить]     [к модератору]  
  • +/
    При чём тут статическая линковка вообще Просто рантайм будет идти вместе с прог... весь текст скрыт [показать]
     
  • 8.49, angra (ok), 03:08, 18/05/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Когда ты слинковал статически либу, ты фактически сделал ее копию внутрь бинарни... весь текст скрыт [показать]
     
  • 7.50, Аноним (-), 05:05, 18/05/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    > Рантайм - это все что обслуживает выполнение программы, чтобы main() вывело Hello World, но не включая ядро.

    а если bare-metal запускаешь вывод Hello World в UART - что будешь считать рантаймом?

     
  • 5.37, Crazy Alex (ok), 21:29, 17/05/2018 [^] [ответить]    [к модератору]  
  • +/
    Ерунду говоришь. Без этой либы на плюсах приложение мобрать можно (она и сама на плюсах, собственно). А на джаваскрипте без рантайма жить нельзя. Потому как динамика проклятая.
     
     
  • 6.45, й (?), 00:24, 18/05/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    давай зайдём с другой стороны есть golang у него статические линкуемые бинарик... весь текст скрыт [показать]
     
     
  • 7.51, Anonim (??), 07:38, 18/05/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    stdlib это стандартная библиотека функций после компиляции линкуется не она цел... весь текст скрыт [показать]
     
  • 6.47, angra (ok), 02:54, 18/05/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Собрать то конечно можно, вот только окажется, что значительная часть функционала плюсов у тебя отсутствует и практически любую программу, включая helloworld, надо переписывать.
     
  • 3.12, Аноним (-), 13:00, 17/05/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Интерпретатор JS, написанный на C, станет быстрее С? Дак пусть сразу быстрее асмы делают, что мелочиться то.
     
     
  • 4.17, Аноним (-), 13:48, 17/05/2018 [^] [ответить]    [к модератору]  
  • +/
    А написанным на самом JS ещё быстрее!
     
  • 4.22, Аноним (-), 15:21, 17/05/2018 [^] [ответить]    [к модератору]  
  • +/
    Внезапно: а почему бы и нет? См. пример с PyPy.
    Порой чувствуешь себя умнее сишников, объясняя им такие банальные вещи.
     
     
  • 5.31, нурок (?), 19:18, 17/05/2018 [^] [ответить]     [к модератору]  
  • –2 +/
    просто трудновато принять что компилятор нынче способен делать больше оптимизаци... весь текст скрыт [показать]
     
  • 5.33, anonymous (??), 21:03, 17/05/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Текущие версии PyPy транслируются из RPython в Си и компилируются c википедия... весь текст скрыт [показать]
     
     
  • 6.44, Аноним (-), 23:36, 17/05/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Ну и? Что мешает проделывать аналогичное с кодом на JS на лету? Собственно, это сейчас и делается, но все равно находятся ламеры у которых в голове не укладывается.
     
     
  • 7.60, Доктор (??), 15:19, 18/05/2018 [^] [ответить]    [к модератору]  
  • +/
    ключевое слово "emscripten"

    Но все равно работает существенно медленнее. Проверено и не раз, так как вот уже третий год разрабатываю и использую.

     
     
  • 8.62, Аноним (-), 15:42, 18/05/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Это совсем другое направление компиляции, плюс тормозить может из-за того что движки JS не оптимизированы под код выдаваемый emscripten.
     
  • 3.30, нурок (?), 19:14, 17/05/2018 [^] [ответить]    [к модератору]  
  • +/
    ну вот не любят люди лишних прослоек.. ощущения не те..
     
  • 3.41, Вареник (?), 21:34, 17/05/2018 [^] [ответить]     [к модератору]  
  • +/
    Это типа определять творческость креаклов по принципу заднепроходности А думан... весь текст скрыт [показать]
     
     
  • 4.53, Аноним (-), 10:16, 18/05/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    Просто оголтелая бестолочь с жс головного мозга, кроме как на вопли о крутизне своего язычишки и переписывания всего подряд по нескольку раз, ни на что больше не способна. Это факт.
     
  • 3.52, qrKot (?), 10:10, 18/05/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Потому что есть такая штука формальная она же математическая логика Учит... весь текст скрыт [показать]
     
     
  • 4.61, Аноним (-), 15:36, 18/05/2018 [^] [ответить]     [к модератору]  
  • +/
    Есть, есть Но каким она боком к вашим умозаключениям - непонятно Во-первых, ре... весь текст скрыт [показать]
     
  • 3.54, rshadow (ok), 11:31, 18/05/2018 [^] [ответить]    [к модератору]  
  • +/
    И кто только ведется на такой толстый троллинг...
     
  • 1.5, Лайка Ваймуле (ok), 11:55, 17/05/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Это у бородатых фронтендщиков уже спорт такой, типа как Дум на тостере запилить. Ждём появления компиляторов ЦеПлюс на жабаскрипте (если не появились еще).
     
     
  • 2.26, z (??), 17:05, 17/05/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    https://felixhao28.github.io/JSCPP же
     
     
  • 3.36, Вареник (?), 21:26, 17/05/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    > https://felixhao28.github.io/JSCPP же

    JS головного мозга...

     
     
  • 4.63, nongnomer (?), 17:30, 18/05/2018 [^] [ответить]    [к модератору]  
  • +/
    просто no-life man
     
  • 2.39, Crazy Alex (ok), 21:31, 17/05/2018 [^] [ответить]    [к модератору]  
  • +3 +/
    Проблема в том, что они эти тостеры потом в реальные приложения тащат... А дальше - электроны всякие вылезают.
     
  • 1.10, _Vitaly_ (ok), 12:42, 17/05/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Был же https://github.com/creationix/js-git, на который забили из-за сетевых ограничений а браузере.
     
  • 1.15, Аноним (-), 13:36, 17/05/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +4 +/
    Нет.
    Пожалуйста.
     
  • 1.18, Аноним (-), 13:52, 17/05/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    Не хватает интеграции с Electron
     
  • 1.19, Joekr (?), 13:52, 17/05/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Еще одно подтверждение закона Джеффа Этвуда - "Any application that can be written in JavaScript, will eventually be written in JavaScript".
     
  • 1.20, Аноним (-), 14:57, 17/05/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Но зачем? WebAssemly решает проблемы при нулевых затратах времени!!!!
     
     
  • 2.21, Диносуслик (?), 15:19, 17/05/2018 [^] [ответить]    [к модератору]  
  • +/
    Видимо писать начинали тогда, когда про васм еще не слышали ничего
     
     
  • 3.34, Вареник (?), 21:19, 17/05/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    > писать начинали тогда, когда

    А дописывали зачем?

     
  • 2.59, КО (?), 12:54, 18/05/2018 [^] [ответить]    [к модератору]  
  • +/
    Но как? WA это же кастрат - он не умеет пакеты по сети и файлы. Нет, ну хэш на нем посчитаешь, а все остальное на JS.
     
  • 1.35, Вареник (?), 21:24, 17/05/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    > реализация Git на языке JavaScript, нацеленная на предоставление

    Надо еще переписать на хРусте, на Скале, на голанге, на Лиспе, Эрлагне и Хаскелле, потом на Руби, Перле и Пыхе. Фанатиков обижать нельзя!

     
  • 1.48, Аноним (-), 03:05, 18/05/2018 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    Я не совсем в теме, простите за возможно глупый вопрос - значит через JS уже мож... весь текст скрыт [показать]
     
     
  • 2.57, Аноним (-), 12:17, 18/05/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    Зависит от API среды выполнения Обычные десктопные браузеры дают API для работы... весь текст скрыт [показать]
     
  • 1.64, .. (?), 02:41, 19/05/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    господа жабаскриптизёры!
    вот у питона есть pypy (питон написанный на питоне)
    а на когда jsjs ? слабО?

    (надеюсь это их займёт на пару лет и мы перестанем видеть новости типа:
    "очередной хипстер-н0ркоман написал очередную ненужную хрень на жабаскрипте")

     

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


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