LINUX.ORG.RU

Какие ещё стеки технологий попробовать под web?

 , , нужно больше золота,


0

3

Являюсь обладателем хобби - в свободное время пишу личные мелкие проектики под web, используя всё новые стеки технологий. Уже попробовал следующее:

  • Lua: CGI, SCGI, LUVIT;
  • Python: CGI, SCGI, bottle.py, flask, GAE;
  • JS: Node.js (Flatiron.js, Meteor.js, ...);
  • Ruby: ROR;
  • Java: Servlets;
  • PHP: Kohana, CI, CakePHP, from scratch;
  • Erlang: WebMachine, Nitrogen, MochiWeb (без фреймворка);
  • Golang: Revel, Gorilla;
  • C++: CGI (лет 8 назад таким мазохизмом занимался);
  • Opa: *опа, она и в Африке - *опа.

В качестве баз: MySQL, MongoDB, CouchDB, Redis, MsSQL, SQLite, files (на заре проб). Есть ещё что-то, на что стоило бы обратить внимание?



Последнее исправление: Sense (всего исправлений: 2)

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

Выкладывай на github

Стесняюся же, ну. Да и ушёл с гитхаба.

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

PolarFox:

Что-нибудь на Clojure и Haskell.

anonymous:

Haskell, какой-нибудь lisp.

BlackHawk:

Haskell: Yesod + Elm

Miguel:

Haskell (Happstack)

antares0:

Все кроме CL и Haskell. Странно.

Чем крут Haskell? Насколько высок порог вхождения? Yesod vs. Happstack? Есть возможность заниматься только бизнес логикой приложения (иными словами, насколько имеющиеся фреймворки высокоуровневы)?

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

У меня хаскель на хелловорлдно-фрактальной стадии, порог вхождения высокий. Посоветовать что конкретное не могу. Но на него следует посмотреть хотя бы ради расширения кругозора.

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

Чем крут Haskell?

Очень субъективный вопрос. Могу сказать, чем он крут ДЛЯ МЕНЯ. В первую очередь - контролем над сайд-эффектами.

Подчеркну - НЕ ОТСУТСТВИЕМ сайд-эффектов, а КОНТРОЛЕМ над ними. Оказывается, однако, что значительно проще запретить по умолчанию всё и разрешать необходимое, чем разрешить всё и запрещать вредное.

Классический пример - это STM. Software Transactional Memory. Грубо говоря, мы можем понаделать сколько угодно (мутабельных!) переменных в памяти и шарить их между разными процессами, но при этом все обращения к ним заворачиваются в транзакции. Транзакции друг другу не мешают, а две из них вдруг пересекутся - одна из них откатится и потом выполнится ещё раз. Так вот: естественно, внутри транзакции мы не имеем права делать что-либо ещё, кроме доступа к этим переменным. Не можем печатать на экран. Не можем лазить в сеть. Не можем ничего лишнего - потому что доступ к переменным откатить можно, а всё прочее - нельзя. И Haskell - единственный язык, в котором это можно гарантировать: программа, в которой внутри STM-транзакции делается что-нибудь ещё, просто не скомпилируется.

И да, эту шнягу с STM я использую в своём минипроектике: сервер берёт информацию из кэша, а отдельный тред время от времени кэш обновляет. За счёт транзакций сервер НИКОГДА не увидит кэш в процессе обновления (т.е., в невалидном состоянии).

Насколько высок порог вхождения?

Depends. Haskell очень сильно отличается от, скажем так, мейнстримных языков. Если ты уже привык к определённому стилю работы, тебе придётся сильно переломаться. Потому что Haskell работает СОВСЕМ иначе.

Yesod vs. Happstack?

Yesod - это уже даже не Haskell. Эти ребята настолько подсели на Template Haskell, что фактически пишут на совсем другом языке. И этот язык совсем не так хорошо продуман, как Haskell. Поэтому Happstack.

Ещё можно на Snap посмотреть. Он, по-моему, не настолько «взрослый», но построен на более правильной основе (WAI).

Есть возможность заниматься только бизнес логикой приложения (иными словами, насколько имеющиеся фреймворки высокоуровневы)?

Граница того, что называют «бизнес-логикой», по-моему, весьма размыта. Во всяком случае, жонглировать битиками и парсить вручную HTTP-запрос тебе точно не придётся, а так нужно уточнение.

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

+1, не увидел эту связку.
ОП, а ты точно не helloworld-ы пишешь, меняя языки и платформы? или ты все это знаешь на хотя бы среднем уровне?

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

На уровне helloworld'ов или близко из этого списка: ROR, C++ CGI, Java Servlets. На остальных были проекты разного масштаба. Одно своё приложение я и вовсе на всех представленых переписал. Вот сейчас на Haskell перепишу и в продакшн выпущу.

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

Постгресом никогда не пользовался, да, а вот Джангу пробовал. Не понравился инородный элемент в виде готовой админки (знаю, можно не использовать). Тем не менее, выбор тогда пал на ROR. Хотя и он не взлетел ибо на Node.js подсел.

Sense
() автор топика
Ответ на: Попробуй ещё Java: HybridJava от AlexSerov

HybridJava
To use the HybridJava technology for commercial development you must register.

Что-то она какая-то не очень свободная. Кратко для Ъ, что в ней такого особенного?

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

Да нет, регистрация тоже бесплатная. Совсем кратко - простота. Например вся документация - страниц 20, если напечатать. И добавить нечего. Всё заметно проще чем у конкурентов, но возможности - не хилее. Посмотрите - там ести работающие онлайн примеры. Часть из них конкуренты просто не потянут. Например - рекурсивные компоненты.

Кстати - русский сайт там же рядом.

AlexSerov
()
20 апреля 2014 г.

MySQL, MongoDB, CouchDB, Redis, MsSQL, SQLite, files (на заре проб). Есть ещё что-то, на что стоило бы обратить внимание?

Postgresql?

JS

Backbone.js, Marionette

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