Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Web-фреймворки, микро-фреймворки, CMS, ... а хотел всего лишь выбрать инструмент:( 
:(
    Опции темы
КунгФуЧайник
Дата 16.3.2013, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 10.8.2011

Репутация: нет
Всего: нет



В веб-разработке ничего не смыслю. Есть опыт с другими языками, немного с python. Решил научиться делать веб-ресурсы на этом языке, но встал ряд вопросов, на которые не знаю, где искать ответы. В первую очередь по выбору инструмента ( pylons, pyramid, flask, bottle, django).

1. CMS - это не фреймворк, а просто обозначение, что фреймворк специализированный, для работы с контентом, как сказано в вики? 
2. Чем обычный фреймворк отличается от микрофреймворка? 
3. Чем фреймворк отличается от CMS-фреймворка, ведь работа с контентом - это добавление разного вида информации на веб-ресурс: интернет-магазины, сайты-портфолио, форумы-блоги - то есть в любом веб-ресурсе, даже на "хомпаге"? 
4. Где-то прочитал, что фреймворки делятся на те, которые рендерят страницу на стороне клиента, и те, которые рендерят страницу на стороне сервера. Это так?

PM MAIL   Вверх
bilbobagginz
Дата 16.3.2013, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: нет
Всего: 317



1. cms - это контент манаджмент систем, т.е. система управления контентом. есть фреймворки, специализирующиеся на контенте, которые называются обычно cmf, i.e. "content management framework".
2. микро обычно покрывает меньше сценариев "из коробки". грубо говоря создает какой-то базовый ассортимент компонентов и API к расширению. а полноценный фреймворк даст тебе "и г*вна, и ложку": т.е. покроет как можно больше сценариев своей сферы деятельности. При выборе: если у тебя шибко эзотерический сценарий, то скачивать полноценный фреймворк, а потом лобзиком выпиливать 90% кода, не имеет смысла. с др. стороны, если сценарий у тебя "стандартный", может имеет смысл не возиться с опилками, и следовать принципу "чем меньше своего кода, тем меньше своих багов".
3. "добавить информацию" можно с разными уровнями сложности: тебе надо, чтобы об новом контенте узнавал клиент только после рефреша ? тебе надо позволить прямую коммуникацию между посетителями ? тебе надо авторизироваться с внешними ресурсами ? интернет магазин говоришь ... как ты думаешь происходит обработка сделок ? там трансакции.... т.е. OLTP...
4. в принципе нормальные фреймворки включают в себя код клиентский и серверный, поэтому делить их на "клиентские" или "серверные" - по моему как минимум не умно.

Насчет всей постановки вопроса: 
я не знаю сколько времени у тебя есть на то, что ты делаешь, но у людей с рамками во времени обычно есть не теоритические, а практические вопросы: изучать терминологию, историю и длинный список с википедии можно месяцами.
спрашивай практику, не теорию....




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Arantir
Дата 16.3.2013, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: нет
Всего: 55



Цитата(КунгФуЧайник @  16.3.2013,  15:51 Найти цитируемый пост)
3. Чем фреймворк отличается от CMS-фреймворка, ведь работа с контентом - это добавление разного вида информации на веб-ресурс: интернет-магазины, сайты-портфолио, форумы-блоги - то есть в любом веб-ресурсе, даже на "хомпаге"? 

Первое различие в том, что CMS предназначена для пользователя, а фреймворк — для разработчика. CMS, в большинстве случаев, подразумевает наличие интерфейса для управления этим самым контентом, о котором говорится в ее аббревиатуре. А фреймворк никакого пользовательского интерфейса не имеет, это только API, инкапсуляция функционала для разработки.
Фрймворк обычно берет на себя такие задачи, как автоматическая фильтрация входных данных, представление баз данных в объектном виде (ORM), автоматическая маршрутизация запросов по контроллерам (роутинг, запрос заданного формата выполняет заданные действия/операции) и прочее.
В частности стоит заметить, что MVC-фреймворк по своей концепции позволяет реализовать приложение, которое вообще не является сайтом. Например, отдельное клиентское приложение, работающее с сервером по протоколу HTTP. Более того, можно реализовать приложение, которое одновременно может быть представлено пользователю многими способами, например, на ПК, смартфоне и мобильном (wap), и при этом использовать ту же самую модель и внутреннюю логику.

А CMS — это уже функционал, предназначенный для более узкого круга задач. Это уже наполовину реализованный веб-сайт, только без содержимого, но и пользовательским интерфейсом по его добавлению и изменению.

Цитата(КунгФуЧайник @  16.3.2013,  15:51 Найти цитируемый пост)
4. Где-то прочитал, что фреймворки делятся на те, которые рендерят страницу на стороне клиента, и те, которые рендерят страницу на стороне сервера. Это так?
Откройте исходный код станицы входящей почты в Gmail =)
Но разработка такого функционала представляется довольно сложной в данный момент и вряд ли в свободном доступе есть  фреймфорки с достаточно качественным и функциональным клиентским рендерингом. Браузерам еще только предстоит взойти на подобную ступень в развитии веба.

Это сообщение отредактировал(а) Arantir - 16.3.2013, 23:53


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
КунгФуЧайник
Дата 17.3.2013, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 10.8.2011

Репутация: нет
Всего: нет



Цитата(bilbobagginz @  16.3.2013,  21:19 Найти цитируемый пост)
"добавить информацию" можно с разными уровнями сложности: тебе надо, чтобы об новом контенте узнавал клиент только после рефреша ? тебе надо позволить прямую коммуникацию между посетителями ? тебе надо авторизироваться с внешними ресурсами ? интернет магазин говоришь ... как ты думаешь происходит обработка сделок ? там трансакции.... т.е. OLTP...
.......
... в принципе нормальные фреймворки включают в себя код клиентский и серверный

Это все можно реализовать только на пайтоне, или еще и на яваскрипте? Ведь в браузерах есть только яваскрипт-интерпретаторы. Или мы пишим на пайтоне, используя апи фреймворка, а там внутри генерируется соответствующий яваскрипт-код и отправляется браузеру?

Если для задачи вместо фреймворка по незнанию выбрал CMS, то к каким подводным камням это может привести?

Цитата(bilbobagginz @  16.3.2013,  21:19 Найти цитируемый пост)
спрашивай практику, не теорию....

Времени неограниченно, так как это в качестве интереса. Из практики, есть 2 идеи: 
1. сайт с возможностью добавления видео, сканов документов. Социально-политическая тематика, но не новостной. Доступ как с десктопа, так и с планшетов\смартфонов.
2. Сайт книжного магазина. Либо книжных магазинов города. Чтобы можно было знать, в каком продается интересная мне книга. Связь с каталогом товаров (из 1С, или из другого источника). Плюс такая возможность: на озоне, болеро либо в другом магазине увидел интересную книгу - посмотрел, есть ли она в магазинах моего города. Забирать название книги и прочие интересующие данные для поиска - либо через встраивание у них на странице кнопки (партнерка, либо еще какая модель), либо просто парсинг. Возможность доступа так же: с десктопа и с моб.устройств. Для новичка этот вариант не подъемен - просто обрисовал, подо что в перспективе подбираю инструмент (если, конечно, интерес не пропадет к веб-разработке раньше).


Это сообщение отредактировал(а) КунгФуЧайник - 17.3.2013, 10:56
PM MAIL   Вверх
bilbobagginz
Дата 17.3.2013, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: нет
Всего: 317



КунгФуЧайник, во-первых, мы пишем грамотно.
во-вторых, извиняюсь за неточность: серверные фреймворки фокусируются на серверной стороне.
А клиентские (джаваскриптовые) фреймворки позволяют построить красивые и динамичные интерфейсы ко всему этому.
Из питоновых фреймворков с которыми мне приходилось пересекаться (django, web2.py, tornado), все они фокусируются на серверной стороне работы.
Цитата(КунгФуЧайник @  17.3.2013,  09:54 Найти цитируемый пост)
Это все можно реализовать только на пайтоне, или еще и на яваскрипте?

Нет, только на питоне нельзя.

Если тебе кровь из носу надо писать на 1-м языке на обеих сторонах, то джаваскрипт тут победит (nodejs тебе в руки как серверная сторона)
Правда с т.з. трудоемкости и количества кода - для написания полноценного приложения с js тебе придется больше (по моему) работать, чем если напишешь серверную часть на питоне, а клиентскую на джаваскрипте (Ессно, тоже при использовании какого-то фреймворка)





--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
ilnur
Дата 18.3.2013, 07:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


питонист



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 13.12.2007
Где: Казань

Репутация: нет
Всего: нет



Цитата(bilbobagginz @  17.3.2013,  22:08 Найти цитируемый пост)
Нет, только на питоне нельзя.

можно.

на сервере крутится какой нить фреймворк.
на клиенте brython, вроде без опечаток написал. 

smile

PM MAIL WWW ICQ Jabber   Вверх
КунгФуЧайник
Дата 19.3.2013, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 10.8.2011

Репутация: нет
Всего: нет



ilnur, на сколько смог перевести - это всего лишь обертка над методами во всяких *.js.


bilbobagginz, получается, еще и для фронтэнда фреймворк выбирать? Но ведь на джанго можно делать сайты, значит и клиентсую часть на нем делать можно. 
Есть ли пошаговые примеры разработки сайтов на джанго либо каком-нибудь другом фреймворке? А то как-то на пальцах получается.
PM MAIL   Вверх
bilbobagginz
Дата 21.3.2013, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: нет
Всего: 317



КунгФуЧайник,  smile что правильно про Брайтон понял.

Цитата(КунгФуЧайник @  19.3.2013,  16:06 Найти цитируемый пост)
bilbobagginz, получается, еще и для фронтэнда фреймворк выбирать? Но ведь на джанго можно делать сайты, значит и клиентсую часть на нем делать можно. 

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

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




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
ilnurgi
Дата 22.3.2013, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 29.6.2007

Репутация: нет
Всего: нет



ну я и не говорил что это очень крутая штука.
просто привел пример. что уже и клиентскую часть в html можно кодить на python'e
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Веб-разработка и фреймворки | Следующая тема »


 




[ Время генерации скрипта: 0.1028 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.