LINUX.ORG.RU

GopherJS — транслятор Golang -> JS

 , ,


1

4

Основная цель проекта — позволить создавать приложения как для браузеров, так и для nodejs, используя привычное окружение и инструменты.

На данный момент реализована поддержка большого числа модулей из стандартной библиотеки. Кроме того, реализована поддержка goroutines. Некоторые модули реализованы не полностью (net/http), некоторые доступны только для nodejs (os).

Также доступна «песочница», позволяющая протестировать возможности проекта.

>>> Подробности



Проверено: Shaman007 ()
Последнее исправление: CYB3R (всего исправлений: 2)
Ответ на: комментарий от anonymous

После С++ Go кажется даже очень неплохим (особенно встроенные либы для http) НО по сравнению с динамически типизированными языками, многое кажется бредовым. Ну и даже после Python/C/C++ почему нельзя делать многострочные условия!? И вообще с красивым списочным форматированием кода, большие проблемы. Даже Python со своими правилами, и тот можно легко красиво оформлять.

А то, что нельзя просто закоментить кусочек кода для теста так вообще 2! Так как обязательно вылезет переменная которая теперь не используется. А если закомментить её, то скорее всего ещё кто то по цепочке отвалится. Решение с _ это мазохизм.

stalkerg ★★★★★
()
Ответ на: комментарий от anonymous

И будет ЖС2, но в профиль.

И что это значит? Любой язык это ассемблер в профиль, нет? Но блаб-парадокс никто не отменял.

loz ★★★★★
()
Ответ на: комментарий от stalkerg

ъ-go-way — это объявлять переменную сразу перед строкой, где она используется, а не в начале функции. Конечно, с глобальными переменными в модуле такое решение не прокатит.

nagibator
() автор топика

Зачем Go транслировать в js? Сам по себе Go - язык очень даже интересный. Именно как современный компилируемый ЯП. Одна беда, многие подключаемые библиотеки(сторонние, не из поставки Go) не имеют нормальной документации, и зачастую оставляют впечатление какой-то сырости и незавершённости.

lucentcode ★★★★★
()
Ответ на: комментарий от nagibator

Это никак не тянет на «достаточно ресурсов».

Мне лично как-то всеравно кто считает когда ЯП/технология/всечтоугодно рип, а когда нет. Я просто высказал свое мнение.

Плюс в мире [разработки] важно уважать выбранные названия. Я еще понимаю когда названия совпадают из разных сфер, т.к. отражают разные мотивы [выбора названия]. Но тут же IT, разработка ПО!

gh0stwizard ★★★★★
()
Ответ на: комментарий от nagibator

Пруф, всем пруфам пруф:

Linux devbox 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u1 x86_64
Welcome to Devbox, TurnKey Linux 13.0

~> grep gopher /etc/services
gopher          70/tcp                          # Internet Gopher
gopher          70/udp
Пока эту строчку не выпилили из /etc/services Gopher жил и будет жить :)

gh0stwizard ★★★★★
()
Последнее исправление: gh0stwizard (всего исправлений: 1)
Ответ на: комментарий от nagibator

ъ-go-way — это объявлять переменную сразу перед строкой,

Немного упростит поиск таких переменных, но не отменит того факты, что вместо 1 строки мне может быть 10 придётся комментировать в разных местах. Бред одним словом, уже порываюсь в исходники компилятора злезть и убить эту проверку.

stalkerg ★★★★★
()
Ответ на: комментарий от loz

Это значит, что никто еще не сделал язык удовлетворяющий всех. ЖС не нравится никому, кроме макак. Иначе бы никто и никогда не стал бы писать трансляторы из чего-угодно в этот ЖС. Поэтому нужна свобода писать SPA на чем угодно, хоть на хаскеле, и исполнять уже какой-то байт-код в сандбоксе.

anonymous
()
Ответ на: комментарий от lucentcode

потому что могут :-) по поводу документации — это вы об отдельных сайтах или in-source документации? есть замечательный godoc.org

nagibator
() автор топика
Ответ на: комментарий от gh0stwizard

Пока эту строчку не выпилили из /etc/services Gopher жил и будет жить :)

legacy же, в иксах вообще есть код из 80х

nagibator
() автор топика
Ответ на: комментарий от gh0stwizard

транслятор назван так по маскоту языка. А то, что не подумали о совпадении в названиях только подтверждает мою теорию и состоянии гофера. вся жизнь в хттп, только хттп(с), только хардкор!

nagibator
() автор топика
Ответ на: комментарий от gh0stwizard

тут согласен с тобой. большинство трансляторов в жс из других языков — это компромис.

nagibator
() автор топика
Последнее исправление: nagibator (всего исправлений: 1)
Ответ на: комментарий от nagibator

*тот* гофер мертв :-)

Но RFC-то никто не отменял :)
https://tools.ietf.org/html/rfc1436

Да и с сотню серверов наскрести ещё можно.

Скорее всего, просто подросло новое поколение, которое про сей протокол не слышало :D

KRoN73 ★★★★★
()
Ответ на: комментарий от nagibator

А то, что не подумали о совпадении в названиях только подтверждает мою теорию и состоянии гофера

Типа, разработчики даже в /etc не заглянули. Ну, это говорит только об их уровне.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Много показов рекламы на авиабазе через гофер открутил, да?

anonymous
()
Ответ на: комментарий от anonymous

А зачем в nodeJS то его транслировать?

uin ★★★
()
Ответ на: комментарий от anonymous

Я конечно понимаю что серверсайд приложения это очень важно, но веб у нас не ограничевается сервером, а с приходом html5 так и вовсе на клинтскую сторону перебирается.

uin ★★★
()
Ответ на: комментарий от uin

Я про клиентскую и пишу. На сервера меня никто не ограничивает, пиши хоть на ассемблере. А вот для клиента ничего кроме ЖС нет и не предвидится.

anonymous
()
Ответ на: комментарий от KRoN73

кого парят ваше старперское легаси? протоколы проверенные временем живут и поныне (irc, ftp). гофер сдох @ помянем.

x4DA ★★★★★
()
Ответ на: комментарий от nagibator

тебе так или иначе пришлось бы комментировать строки, где используется переменная ;-)

Зачем? Она объявлена но не используется.

stalkerg ★★★★★
()
Ответ на: комментарий от nagibator

когда ты последний раз пользовался гофером?

Я никогда в жизни не пользовался ботфортами. Повод ли это начать называть ботфортами носовые платки?

Пока Gopher существует в RFC и пока любой поисковый запрос по этому ключевому слову выдаёт ссылки на протокол, глупо называть этим названием другой продукт в IT.

KRoN73 ★★★★★
()
Ответ на: комментарий от x4DA

кого парят ваше старперское легаси? протоколы проверенные временем живут и поныне (irc, ftp)

IRC сегодня точно такое же старпёрство, как и Gopher. Да и FTP тоже сегодня уже экзотика.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

irc и ftp все еще активно используются, гофер загнулся в середине-конце девяностых.

nagibator
() автор топика

используя привычное окружение и инструменты

А что подразумевается под привычным окружением? Golang? А не слишком ли быстрое привыкание?

imul ★★★★★
()
Ответ на: комментарий от stalkerg

Это и сделано для чистоты кода. А если не нравится, то и тебе вопрос - зачем задаёшь переменные\библиотеки, которые не используешь? ЗАЧЕМ? А так всё четко и уверен, что нету «затерявшегося» кода, который не поймёшь кому уже нужен. А если правишь чужой код - уведи ненужную переменную как «_ = i» и нету проблем, 1 строчка

Alexoy
()
Ответ на: комментарий от anonymous

А, ясно. Но как тогда на Go например написать приложение использующее Web Audio API, File API, DOM API? Даже с учетом того что код будет оттранслирован в JS - я вот себе это не представляю если честно.

uin ★★★
()
Ответ на: комментарий от KRoN73

Зайди на #kernel и кучу других девеолперских каналов и удивись. Там народ активно общается, то есть альтернатив нету.

гофером безальтернативно никто не пользуется, оно сдохло

x4DA ★★★★★
()
Ответ на: комментарий от KRoN73

IRC сегодня точно такое же старпёрство, как и Gopher.

Упоролся? В опенсорсе ирк живее всех живых. Хочешь быстро достучаться до разработчиков - добро пожаловать в их официальный ирк. Хочешь помощи - туда же. Хочешь вкатиться в разработку поделки - туда же. У всего мало-мальски важного есть официальный и живой ирк канал.

entefeed ☆☆☆
()
Ответ на: комментарий от EnterpriseMobility

Да не особо лучше. Но всё-же, может это моё ИМХО, но мне показалось что node.js немного опережает Go в этом вопросе. Ничего, лет через 5 из разряда хипстерских эти технологии станут обыденными, и данная проблема перестанет столь остро проявляться.

lucentcode ★★★★★
()
Ответ на: комментарий от nagibator

Документацию искал на сайтах авторов либ, и на github. Про godoc.org не знал, спасибо. Про in-source документацию даже не догадывался, привык что у php,python и ruby документация к разным либам всегда на сайте производителей или на странице на github расположена.

lucentcode ★★★★★
()
Ответ на: комментарий от KRoN73

Ну, FTP всё ещё мейнстрим у любителей создавать сайты на основе популярных CMS. SFTP, SCP и rsync для них не более чем хипстерские приблуды.

lucentcode ★★★★★
()
Ответ на: комментарий от x4DA

Зайди на #kernel и кучу других девеолперских каналов и удивись

Ну да, старпёров ещё много :)

Там народ активно общается, то есть альтернатив нету.

Альтернативами пользуются сони миллионов. Против считанных тысяч.

KRoN73 ★★★★★
()
Ответ на: комментарий от lucentcode

Ну, FTP всё ещё мейнстрим у любителей создавать сайты на основе популярных CMS

Всё равно популярность FTP упала фантастически:

http://www.google.com/trends/explore#q=ftp

...

Для сравнения, только с одним частным продуктом :)
http://www.google.com/trends/explore#q=ftp,dropbox

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Gopher

Вот зачем забивать занятое название на несоответствующее применение? Всё равно, что назвать транслятор Фортрана в JS FtpJS :)

Ничего не имея против реализации, полностью поддерживаю.

И туда же CSS (та, что в двд) и DRM.

gag ★★★★★
()
Ответ на: комментарий от KRoN73

У нынешнего поколения с фантазией всё очень плохо(см. Atom).

like-all ★★
()
Ответ на: комментарий от x4DA

Чтобы голубок принёс приглашение когда всё будет готово.

like-all ★★
()

Наконец-то у Go будет относительно нормальный гуй.

buddhist ★★★★★
()
Ответ на: комментарий от nagibator
js.Global.Get("document").Get("body").Set("innerHTML", output.String())

Ужас.

Alexoy
Нет, это работа с файлами как на десктопных ОС (как с локальными так и по http) только в веб браузере

Да, потихоньку помаленьку веб превращается в некое подобие настольных ОС

uin ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.