LINUX.ORG.RU

Что бы вы хотели в хорошем веб-фреймворке?


1

3

... из того чего уже нет нигде, или там где есть, то фреймворк - говно.

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

Например, что не подойдет в качестве пожелания

Хочу комбобокс с выбором многих элементов - это не задача веб-фреймворка

Подходит

Хочу чтобы можно было построить complete rest сервисы непосредственно из доменных объектов, при этом участие фреймворка минимально, но очень сокращающее код. Тоесть он не делает это за вас, но ваше участие минимально необходимо

P.S. Есть идеи как улучшить MVC?

★★★★★

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

Как бы, в целом глядите какая ситуация.
Вот есть раилз. Если взять раилс, то вопрос ТС вызывает недоумение.. Создатели оного, по-моему, воплотили все свои самые извращенные желания. Там же роутизация уже как Пушкинский ямб... 3000000 плагинов, ну что, что еще надо-то..?

И это не единственные фрэймворк, есть и другой Синатра. Очень лаконичный. А главное, что они оба основаны на rack. Это означает, что синатру, например, можно вфигачить в раилс без особых затруднений. Как вам такое?

И это еще не все, есть и такая прикольная штука - cramp.
Дает:
РАЗ! - офигительный контроль над запросом
ДВА!! - Асинхронность без колбэков
ТРИ!!! - WebSocket из коробки
И оно тоже на rack, сталобыть его тоже можно вфигачить в раилс.. или в синатру (как угодно). Не такой лаконичный как синтра, но и не в том его суть.

С аяксом в раилс полно рекомендаций и пара способов.
Генерация базовой структуры по шаблону.
Установка библиотек с bundler - проще простого.
Копирование файлов библиотек в проект - пожалуйста.
Генераторы у раилс есть.
Какие-то дополнительные задачи (rake) - есть.
Развертывание - capistrano, например. Закономерный вопрос, а вам точно надо что-то новое (такое же, но другое). MVC не то что исчерпала себя, она, просто, уже изнасилована в разных формах.

Но MVC (в нынешней форме) не идеально. Каждый запрос ничего не знает о предыдущем (stateless), хотя, казалось бы, рантайм. На установку приложения с нуля всеравно уходит довольно большое количество времени. Важная роль отводится шаблонам хтмл (в наш-то 21 век..), Нет механизма стилизации. Но все что я перечислил больше похоже на cms. Cms, под которую так же удобно писать как под фрэймворк - нужна. И, думаю, можно ее сделать по принципам, которые я озвучил (связанность, децентрализованность, заменяемость, самостоятельность).

special-k ★★★★
()

Что бы вы хотели в хорошем веб-фреймворке?

чтобы он был на C или C++

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

Хочу риалтайм из коробки

В вебфреймворке? На не риалтайм ОС?

одностраничные приложения

Вот именно это самая тяжелая фича мне для имплементации. Есть много нерешенных проблем, вообщем я хотел бы это сделать

vertexua ★★★★★
() автор топика

Есть идеи как улучшить MVC?

Сделать его ненужным. У меня в большинстве приложений модель генерируется в рантайме, и куда мне пихать это в привычные MVC где все прибито гвозядми и надо писать все вручную?

Deleted
()
Ответ на: комментарий от special-k

MVC не то что исчерпала себя

Угу, только comet говенный, DRY нет, IoC все игнорят, full ajax single page с history api делается руками, представление модели в виде rest делается если что фреймворками вместо того чтобы быть core из core, каждый фреймворк пытается наворотить свой формат пакетов и плагинов.

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

Не просто сервер пуш, а сервер пуш при изменении хранилища данных, которые перерендеривает клиент когда оно меняется. Как лента твитора или контакта только искоропке

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

при изменении хранилища данных

Вам не кажется что

хранилища данных

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

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

При изменении из кода написаного на фреймворке офк, у meteor.js чтото подобное случится рано или поздно.

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

Там будет вполне все стандартно, отдельно реалтайм, отдельно рест круд к хранилищу, отдельно сотни кода на клиенте :)

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

Смотрел meteor.js. Все же больше сомнений что все так радужно чем веры

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

Фреймворков для одностраничников хватает, это ни разу не проблема. Проблема, что эти фреймворки умеют билдить странички ТОЛЬКО на клиенте.

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

Типа того, только для мелких файлов. Чтобы они целиком хранились и можно было бы ссылки на них проставлять. В HDFS не знаю как это сделать.

Tark ★★
()
Ответ на: комментарий от special-k

Да ладно. Это идея посещает рано или поздно каждого. И это без сомнения отличная идея.

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

На самом деле это нафиг не нужно

занятно, спасибо за инфу - прочитал с интересом, но все равно монструозно...

swwwfactory ★★
()

Есть идеи как улучшить MVC?

как насчет того чтобы url указывал не на Controller, а на Модель(фабрику). А вьюха для модели назначалась декларативно в конфигурации?

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

Если без view, то все просто, я сделаю REST интерфейс к модели добавляемый одной строчкой. С view сложнее, декларативность не совсем гибкая бывает, иногда нужно решать какой view предложить

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