LINUX.ORG.RU

Веб-технологии

 ,


1

3

Продолжаю обозревать технологии веба, нужна помощь.

Мне нужно накидать сайт для внутренних целей компании, бакэнд будет заниматься сбором и анализом данных от должностей, то есть ввод хоз.операций, плюс некоторая отчетность, как в обычном, так и в сервисном виде. Тут мне в целом ясно, единственно я сомневаюсь в выборе инструмента (пока выбрал perldancer, так как перл родной язык, питон уже подзабыл, а в яву никогда не ходил, хотя новое осваиваю достаточно легко).

Моя цель — найти технологии и подходы, с которыми мне не придется изобретать велосипедов, но чтобы можно было оставить некоторый контроль, поэтому (я так думаю) вордпрессы и полуготовые решения не для меня, как их потом фиксить — большой вопрос. Само приложение будет представлять собой лабиринт страниц и форм для ввода данных и получения из них какой-то аналитики. На десктопе я бы просто взял любой тулкит — Qt, GTK, WinForms, AppKit — и этого бы за глаза хватило, никаких супер-пупер необычных веб-фишек мне не нужно, я лучше найду способ решить все задачи в рамках тулкита, главное чтобы он был достаточно, ммм... самодостаточный что-ли. Кнопки, комбобоксы, автодополнение из БД, таблицы (можно без инплейс-редактирования, чисто формами), сами формы модальные, ну в общем все, что обычно есть в ui-тулкитах.

Попробовал сам накидать логин-скрин, понял, что голый css это та еще замута, наткнулся на понятие css frameworks, в частности twitter bootstrap. Примеры на сайте заинтересовали, хороший look-n-feel, стандартные контролы, подходы и т.п. Напрягает то, что даже не знаю, что гуглить, наткнулся случайно, т.к. понял, что чистый css не тот уровень, в который стоит зарывать время.

Собственно главный вопрос такой: есть ли такая среда, куда можно было бы подключить к-н css framework, сразу смотреть результаты, а также дописывать бакэнд, чтобы разработка шла так же, как это принято в обычном десктопном программировании. Хочется как можно дальше абстрагироваться от css/js и просто писать код и рисовать формы на уровне бизнес-логики. Легко ли мне будет подключить к-л jquery-таблицу, чтобы она вписалась в bootstrap? Использовать его, или есть фреймворки получше для моих задач? Может есть all-in-one enterprise development environment? Где лучший бакэнд с миграциями, администрированием, поддержкой just-in-time разработки и деплоймента? Языки в общем-то не важны, важны батарейки.

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

stevejobs, gh0stwizard, не знаю кого еще скастовать, кто у нас таким занимался?

зы: Извиняюсь за сумбур, нахожусь в стадии активного курения всего подряд. Спасибо!

Если хочете, шоб было, как на десктопе, таки пишите десктопное приложение. Такое моё мнение.

heilkitty ★★
()

Если надо «накидать», накидывайте так - pure html & css & php. Не надо изобретать велосипед.

coderage
()

Если не Perl, то в Yii Framework есть виджеты для таблиц и прочего. Есть виджеты адаптированные для бутстрапа. Т.е. Ты в коде пишешь «хочу таблицу с фильтрами и сортировками» и оно тебе ее рисует в бутстраповском стиле со всеми стилями и JS.

есть ли такая среда, куда можно было бы подключить к-н css framework, сразу смотреть результаты, а также дописывать бакэнд, чтобы разработка шла так же, как это принято в обычном десктопном программировании. Хочется как можно дальше абстрагироваться от css/js и просто писать код и рисовать формы на уровне бизнес-логики.

То что ты хочешь получить это WYSIWYG-редактор и это плохая практика. По-хорошему бизнес-логика отдельно, представление отдельно, JS отдельно, браузер, в котором смотреть результат, тоже отдельно.

Black_Roland ★★★★
()

Придётся таки освоить html/css/js. Хотя бы на начальном уровне, а иначе никак.

ritsufag ★★★★★
()

И JS это не только красивые слайдеры. Посмотри про node.js, Express, Sequelize, Backbone, Knockout.js, Angular, Lo-Dash. Можно и бизнес-логику на JS писать.

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

Спасибо, как просплюсь все гляну, мозг уже все, всю ночь инфу вкуривал. Визивиг мне не надо, достаточно древовидного лаяута с хинтами (бутстрап похоже как раз то), но и париться о border-radius и как правильно готовить -o-* -webkit-* я тоже не хочу. Бессмысленный скилл в том, что исчезнет и появится в другом виде через 2-5 лет, потому и сравниваю все с десктопом.

Посмотри про node.js, Express, Sequelize, Backbone, Knockout.js, Angular, Lo-Dash

Легко сказать :) У меня только по одному в день получается, представляешь какая каша в голове.

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

Легко сказать :) У меня только по одному в день получается, представляешь какая каша в голове.

Все сразу не надо :) Backbone, Knockout.js, Angular взаимозаменяемы (ну почти), Lo-Dash не обязателен, вместо Express и Sequelize можно использовать Sails.

Black_Roland ★★★★
()

Хочется как можно дальше абстрагироваться от css/js и просто писать код и рисовать формы на уровне бизнес-логики. Легко ли мне будет подключить к-л jquery-таблицу, чтобы она вписалась в bootstrap? Использовать его, или есть фреймворки получше для моих задач? Может есть all-in-one enterprise development environment? Где лучший бакэнд с миграциями, администрированием, поддержкой just-in-time разработки и деплоймента? Языки в общем-то не важны, важны батарейки.

Вообще-то тут по всем параметрам Seaside подходит, но это Smalltalk, потому не советую. :). :(.

yoghurt ★★★★★
()

Best Practice в данном случае - это вообще ничего не писать. Посмотрите, может Вам GLPI подойдет.

Minoru ★★★
()

На десктопе можно легко и быстро делать говно. Неговно сделать горааааздо сложнее. В HTML у тебя просто нет опции делать говно. Нарпимер, ты обязан заботиться о масштабировании под разные разрешения экрана. Deal with it.

С твоими запросами я бы посоветовал javascript + AngularJS.

Если тебе нужны готовые виджеты, то это Dojo (его часть Dijit), jQueryUI, ExtJS.

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

Чтобы сразу смотреть результаты? Не понял. Ну, погугли Livereload. Особенно если мак.

Если используешь Bootstrap, попробуй использовать его «в исходниках», т.е. с помощью LESS. Смысл такой: создаешь цсс-класс «mybutton», и потом уже внутри стиля аггрегируешь туда всё что нужно (это фича LESS, можно в определении стиля использовать другие стили). В результате у тебя получится почти что виджет «mybutton». Если же ты будешь обычным способом пихать 100500 стилей на один и тот же див, потом уже хрен разберет, каким образом это свалка получилась.

stevejobs ★★★★☆
()

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

reprimand ★★★★★
()

не самый простой способ, разобраться как писать модуль под OpenERP. Там UI всетаки няшный.

bismi
()

Это такое решение из коробки тебе надо?

Сам собираешься реализовывать?

За две недели?

Ресурсов достаточно?

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

swwwfactory ★★
()

учи css + js, потом уже вернешься к «приложению», накидать так просто всего что бы все работало и выглядело круто без понимания из чего это делать не получится

umren ★★★★★
()

Опиши задачу поподробнее. Наверняка что-то такое уже есть, надо только поставить и настроить, готовых CRM/ERP/CMS просто навалом. А если будешь все сам разрабатывать, да еще в первый раз, то получишь баг на баге, костыль на костыле, убъешь кучу времени и нервов, а в итоге, если повезет, останешься с каким-нибудь подобием 1С для складского учёта.

Да и если браться за разработку, то это UI. Тысячи мелочей, которые в одно лицо осилить почти невозможно.

Ввод данных? Здравствуй, валидация, привет, изменения в таблицах через пару дней («здесь нам еще платежка нужна», «а еще вот на этой форме — ссылка вон на ту. Ну и что, что нормализация не пройдет, так надо», «а в номере телефона разреши пробелы и скобки»).

Отчетность? Прикрутил либу для PDF-а? Молодец, но нужен xls. Как так раскраски не работают? Надо добавить! А почему вместо русских букв кракозябры?

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

И так по всему транспортному цеху.

***

Вообще, бутстрепы, JS-ы и прочие ангуляры — для разработок «с нуля». Если работаешь один, то они подходят для околостатичных сайтов, на одну-две формы, либо тебе понадобится прорва времени, чтобы и бизнес-логику осилить, и дизайн прикрутить, и вменяемый UI сделать, и баги выловить во всех трех составляющих.

Хотя, если тебе за это готовы платить ­— почему бы и нет.

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

Ввод данных? Здравствуй, валидация, привет, изменения в таблицах через пару дней («здесь нам еще платежка нужна», «а еще вот на этой форме — ссылка вон на ту. Ну и что, что нормализация не пройдет, так надо», «а в номере телефона разреши пробелы и скобки»).
Отчетность? Прикрутил либу для PDF-а? Молодец, но нужен xls. Как так раскраски не работают? Надо добавить! А почему вместо русских букв кракозябры?

Всю жизнь решал такие проблемы, ставя их в разряд мелочей на 5-10 минут. То ли вы нагнетаете, то ли в вебе все ипать как плохо, и и правда нет тулзы нормальной. В любом случае спасибо за советы :)

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

Ну тогда никаких проблем. Крутой ты дядька, раз такие проблемы можешь убрать за 5-15 минут. Мне этого времени не хватало даже на то, чтобы понять: что же требуют, зачем это надо, и надо ли это вообще.

Проблемы не с вебом, а с UI-ем. Когда изменения кажутся мелкими («да что там делать-то, ща все поправим»), а работы на неделю, если учитывать все внутренности. И когда требования постоянно меняются, и когда нет конкретики, только ощущения вместо четкой картинки («ну, вроде, как-то так, наверное»).

С вебом, правда, есть еще одна загвоздка. Он сейчас ну очень высокого качества, безо всяких шуток. Гуглы-яндексы-гитхабы в одном шаге, бесплатно, кажутся естественными и простыми (на что вбухано немерянно сил и денег).

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

И определись, что же тебе надо получить, и что из готового плюс-минус подходит. Может, OpenERP, может, 1С, может, Excel, или какой онлайновый офис. Самописное почти наверняка особой пользы не принесет.

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

Ну с 5-15 я может и переборщил, выгрузка в xls часик да займет, суть не во времени. С 1с мы как раз частично мигрируем, может и зря, конечно, но там внутри такой технобардак, вот я и подумал отвязаться. Есть еще куча легаси, которое нельзя затащить в веб-версию, поэтому решили один участок внедрять сразу на нормальных технологиях, а там посмотрим. Если уж говорить терминами 1с, то я ищу конфигуратор с пустой конфигурацией, а не предприятие с гигабайтной упп.

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

По-моему, тебе в сторону ruby on rails или web2py. У них у обоих есть хелперы: функции, которые рожают HTML теги с атрибутами. Но в раилс проще ставить джемы для твоего бутстрапа и прочих микрофреймверков, можно писать на coffeescript - очень удобно. А так, как ты хочешь по-быстрому как в Visual Studio не решить проблему. Если только не взяться за Apache Flex :-)

menangen ★★★★★
()

Попробовал сам накидать логин-скрин, понял, что голый css это та еще замута,

Если представить, что неполноценные браузеры, нарушающие/игнорирующие/паршиво поддерживающие общепринятые нормы и стандарты существуют только в качестве мягко говоря музейных экспонатов, попросту говоря не воспринимать их всерьез, то css и остальное окружение может показаться шикарным. Особенно в связке адаптивных подходов через тестирование возможностей браузеров.

Остальным, кто не может это поддерживать - упрощенный режим консольного браузера типа lynx http://example.com

swwwfactory ★★
()

Django?
css, javascript один фиг придется познавать

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

Конфигуратор? Я знаю только конструкторы статических сайтов, для динамики о таком не слыхал. Либо медленно и мучительно писать с нуля, либо взять готовую систему, либо копипастить старые наработки.

И, честно говоря, если система взлетит, то почти неизбежно разрастется до управления предприятием. Пользователям же нравится? А давайте еще фишку добавим? И еще? И еще?

***

Минус бутстрепа (да и других css-фреймворков), что они нацелены в том числе и на мобильные устройства. А это значит размашистые кнопки и текстовые поля, чтобы пальцем можно было попасть. Но в бухгалтериях-учётках обычно дофига и больше пунктов. Представь себе даже не налоговую форму, а просто описание сотрудника — ID, ФИО, отдел, должность, рабочий и мобильный телефон, почта, начальник он, продажник или еще кто. Плюс добавь место под сообщения об ошибках («Имена длиннее 20 букв не поддерживаются»), да под кнопки управления.

Чтобы это упаковать на один экран, нужно все записать мелким шрифтом в два ряда, а в дефолтном бутстрепе это разъедется на пару экранов.

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

Бутстреп, по-моему, вообще в основном под сайты вида «шапка-картинка-три столбца с рекламными слоганами,— и чтобы это не разъехалось».

***

Почему я агитирую за готовое решение.

Вот попробуй потыкать палочкой OpenERP: https://demo1.openerp.com/web#view_type=kanban&model=project.task&men... .

Допустим, вид более-менее понравился, но все-таки хочется сделать свое.

Тогда, чтобы представить фронт работ, можно взять понравившийся экран и реализовать именно его. Без допилок, без бизнес-логики (с заглушкой на сервере), просто внешний вид, кнопочки и ajax-ы. Этакий макет. И потом замерить, сколько это заняло времени, насколько было весело, и хочется ли продолжать. Подозреваю, ответы не обрадуют. А таких экранов придется делать много-премного, и пользователи будут хвалить и ругать именно их — они же ничего другого и не видят.

Это без учета серверной части (там свои веселухи) и без затрат на поддержку (когда у пользователей что-то отваливается и они ругаются на весь офис, или когда надо менять схему БД)

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

неизбежно разрастется до управления предприятием

Хорошо же, я ее еще пару раз продам. Главное не тупить — класть все в rcs и делать модульность и бэкпорты.

в бухгалтериях-учётках обычно дофига и больше пунктов

У меня такого не планируется (бухгалтерия и налоги это 1с, а мои клиенты это руководство / финансы / проектные менеджеры), но суть я тебя понял. Привлекает он конечно тем, что дает почти glade/dfm/nib.

Таблицы редактируемые это общая беда, даже на десктопах они редко где нормально реализованы. Отличие в том, что на десктопе я легко допиливал ее до нужной кондиции, в частности gtk, appkit точились без особого напряга, но когда я примерно прикидываю, сколькими треснувшими костылями подперта та или иная веб-таблица, становится неуютно. В общем виде я за много лет понял такое правило: надо силой от них уходить, пока не вопрешься именно в скорость оператора пэвм. И тогда уже надо смотреть, где конкретно затык, и как его поможет исправить именно редактируемая строка таблицы. А так — дабл-клик/энтер и видишь нормальную форму с полями, подписями, комментариями, валидацией.

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

Оке, всем спасибо, инфы мне уже на неделю, чтобы попробовать, переварить и осмыслить. Вернусь расскажу чо надумал.

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

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

«Ядерный реактор на схеме условно не показан»

Похоже, да, не слишком рабочая. Но можно пойти по ссылке https://demo1.openerp.com/ , сверху можно выбрать вкладку Project, потом, слева, меню Tasks. Там как раз задачи+отчетность, она же — ход хоз. операций. Да и вообще можно по менюшкам потыкаться.

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

Похоже, да, не слишком рабочая. Но можно пойти по ссылке https://demo1.openerp.com/ , сверху можно выбрать вкладку Project, потом, слева, меню Tasks. Там как раз задачи+отчетность, она же — ход хоз. операций. Да и вообще можно по менюшкам потыкаться.

Никаких вкладок и тем более Project, Tasks не появляется - кроме формы «Select database». Обычный браузер (Хром, Лиса), линукс. При регистрации базы - вываливается трасса питона. Забавно конечно.

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

А я думал у меня руки кривые, не стал позориться :)

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

Значит, куки любит. Я в первый раз заходил отсюда:

https://www.openerp.com/apps/stock/

и ссылке Online Demo:

https://www.openerp.com/saas_master/demo?lang=en_US&module=stock

Видимо, БД saas_master и использует.

***

Но вот стектрейсами он плеваться любит, этого не отнять. И это ERP-шке совсем не идет.

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

Очень похоже на ответ на вопрос, сначала не понял о чем это вообще, потом прочитал статью на хабре. Спасибо! Заодно на яве может для бакэнда что готовое есть.

Единственно, я так понимаю это j2ee, там по лицензиям нет попадалова? Типичный ящик за ~45тр потянет это все на 50-100 ленивых клиентов?

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

Хочется как можно дальше абстрагироваться от css/js и просто писать код и рисовать формы на уровне бизнес-логики.

можно вопрос, почему хочется абстрагироваться?

в CSS нет ничего сложного, JS тоже, просто нужно один раз понять

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

Потому что количество внимания, которое я могу уделять вещам в единицу времени ограничено, а задач у меня хватает и без низкого уровня. В любой такой ситуации правильно тщательно инкорпорировать полученные знания, опыт и привычки во фреймворк и больше не думать о нем. Вместо того, чтобы проехав по всем ухабам писать свой, я ищу готовый, расспрашивая что годно, а что не очень у опытных людей. Вот и вся логика :)

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

Единственно, я так понимаю это j2ee, там по лицензиям нет попадалова?

Vaadin бесплатный в использовании, насколько я знаю.

Типичный ящик за ~45тр потянет это все на 50-100 ленивых клиентов?

Не могу сказать.

HappyCoder
()

Не лучше ли сделать десктопное приложение, если ты шаришь в этой теме больше, чем в веб?

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