Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 10 Февраль, 2012, 06:50:39

Страниц: 1 [2] 3 4 5
Печать
Автор Тема: ExtJS. За и против  (Прочитано 4826 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Абырвалг    ↓ 
04 Март, 2010, 03:31:40
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 79
Сообщений: 5821
Сила слова: 1.36

в смысле стартап? все получится, но сейчас я занят сильно.
план таков: 1) я допиливаю велосипедные библиотеки, пишу ман к ним, выкладываю на суд общественности. 2) перевожу нынешнюю говнокмс на них и внедряю в нее экст.
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
phpdude    ↓ 
04 Март, 2010, 03:33:29 , спустя 1 минуту 49 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 339
Сообщений: д-о-х-у-я!
Сила слова: 1.72

Абырвалг, 3) удаляю нахуй все и работаю дальше как обычный человек за зарплату и имея план рабочий
Спустя 8 секунд добавил
я бы начал с 3)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
AlexB    ↓ 
04 Март, 2010, 03:43:19 , спустя 9 минут 50 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 88
Сообщений: 3280
Сила слова: 2.68


в смысле стартап?
В смысле, как сделать две панели и больше ничего ... )))))))))
Записан

Абырвалг    ↓ 
04 Март, 2010, 03:57:07 , спустя 13 минут 48 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 79
Сообщений: 5821
Сила слова: 1.36

phpdude, одно другому не мешает.
 
я на этой говнокмс сделал 6 сайтов уже
Спустя 14 секунд добавил
типа фриланс
Спустя 2 минуты 36 секунд добавил
AlexB, на mytrouble.ru сейчас каждую неделю добавляют статейки про экст для начинающих
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
AlexB    ↓ 
05 Март, 2010, 07:26:44 , спустя 1 день 3 часа 29 минут 37 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 88
Сообщений: 3280
Сила слова: 2.68

Ну что же, мне стартап не подкинули, тогда подкидываю я его. ))))
Вот что удалось наковырять за сегодняшний день.
Итак, каркас простейшего приложения по типу КМС: Сверху - меню. Две панели. Слева - разные фильтры, формы и прочее. Справа - собственно данные.
 
Javascript

<html>
<head>
   <title>Application</title>
   <link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css" />
   <script src="extjs/adapter/ext/ext-base.js"></script>
   <script src="extjs/ext-all-debug.js"></script>
</head>
<body>
 
<script type="text/javascript">
Ext.onReady(function()
{
 
// Типа создали каркас приложения с двумя панелями и меню
 
var menu = new Ext.Toolbar
({
    items:
    [{
        xtype: 'tbbutton',
        text: 'Menu Button',
        menu:
        [
            {text: 'One'},
            {text: 'Two'},
            {text: 'Three'}
        ]
    }]
});
 
var toppanel = new Ext.Panel ({ region: 'north', height: 30, collapsible: false, split: false, items: [menu] });
var leftpanel = new Ext.Panel ({ region: 'west',  width: 300, collapsible: true, split: true, frame: true });
var rightpanel = new Ext.Panel ({ region: 'center', title: 'title', collapsible: false, frame: true });
 
var container = new Ext.Viewport
({
    layout: 'border',
    items: [toppanel, leftpanel, rightpanel]
})
 
// А теперь зафигачим формочку в левую панель
 
var form = new Ext.FormPanel
({
    items:
    [
        { xtype: 'textfield', fieldLabel: 'Value' },
        { xtype: 'textfield', fieldLabel: 'Value2' }
    ],
    buttons:
    [
        { text: 'Search' }
    ],
    buttonAlign: 'left'
});
leftpanel.add(form);
leftpanel.doLayout();
 
// А теперь grid в правую
 
var myData =
[
    ['Title1', 1, 555], ['Title2', 2, 666]
];
 
var store = new Ext.data.SimpleStore
({
    fields:
    [
       { name: 'title' },
       { name: 'value', type: 'int' },
       { name: 'id', type: 'int'}
    ]
});
store.loadData(myData);
 
var grid = new Ext.grid.GridPanel
({
    store: store,
    columns:
    [
        { header: "Title", id: 'title', dataIndex: 'title', sortable: true },
        { header: "Value", id: 'value',  dataIndex: 'value', sortable: true },
        { id: 'id', dataIndex: 'id', renderer: function(val) { return '<a href="#" onclick="EditItem(' + val + ');">Редактировать</a>'; }}
    ],
    stripeRows: false,
    autoExpandColumn: 'value',
    autoWidth: true,
    height: rightpanel.getInnerHeight(),
    autoScroll: true,
    forceLayout: true
});
 
rightpanel.add(grid);
rightpanel.doLayout();
 
// Перерисовываем грид, если изменился размер правой панели
 
rightpanel.on
(
    'resize', function(e) { grid.setSize(rightpanel.getInnerWidth(), rightpanel.getInnerHeight()); }
);
                    
});
 
function EditItem(val)
{
    alert(val);
}
 
</script>
 

</body>
</html>
 

Спустя 4 минуты 19 секунд добавил
Что пока не понравилось. Рядом с каждой записью предполагается сделать кнопку реактировать. Стандартных средств для этого не нашел.
Только запись в колумсах:
{ id: 'id', dataIndex: 'id', renderer: function(val) { return '<a href="#" onclick="EditItem(' + val + ');">Редактировать</a>'; }
 
Это мне не нравится, ибо смысл данной либы вижу в том, чтоб вообще не писать никакого html, а только пользоваться готовыми JS компонентами. Это необходимо для стандартизации интерфейсов, надоела ситуация, когда группа разработчиков пишет кто в лес, кто по дрова.
 
Какие будут соображения?
 


* extjs.jpg (23.85 Кб, 693x280 - просмотрено 152 раз.)
« Последнее редактирование: 05 Март, 2010, 07:26:44 от AlexB » Записан

phpdude    ↓ 
05 Март, 2010, 07:24:06 , спустя
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 339
Сообщений: д-о-х-у-я!
Сила слова: 1.72

Какие будут соображения?
расширить базовый функицонал экста, чтобы он принимал наши объекты и писал из них хтмл, тогда всех программистам можно дать по топору и сказать где рубить :)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
AlexB    ↓ 
05 Март, 2010, 07:37:56 , спустя 13 минут 50 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 88
Сообщений: 3280
Сила слова: 2.68

Мне бы чего по конкретней. А то от консультанта на форуме примеров кода народ не дождался.
http://www.extjs.com/forum/showthread.php?t=3539
Вроде что-то ответил, но как сделать я так и не понял ...
После праздников еще поковыряю ...
« Последнее редактирование: 05 Март, 2010, 07:37:56 от AlexB » Записан

Абырвалг    ↓ 
05 Март, 2010, 08:48:20 , спустя 1 час 10 минут 24 секунды
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 79
Сообщений: 5821
Сила слова: 1.36

1) Что таое стартап?
2) что вы думаете по поводу генераторов экстовских форм?
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
phpdude    ↓ 
05 Март, 2010, 08:57:47 , спустя 9 минут 27 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 339
Сообщений: д-о-х-у-я!
Сила слова: 1.72


1) Что таое стартап?
2) что вы думаете по поводу генераторов экстовских форм?
1. без денег - трата времени
2. если жто стартап, то хуйня
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
AlexB    ↓ 
05 Март, 2010, 09:46:44 , спустя 48 минут 57 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 88
Сообщений: 3280
Сила слова: 2.68


Что таое стартап?
В данном контексте это: "Я нихуя не знаю. Как мне сделать Hello World?".
 

что вы думаете по поводу генераторов экстовских форм?
Пока ничего конкретного. Так как стаж писания на extjs - 1 день. И штуки эти все я еще не смотрел. Но если проводить аналогию с десктопными GUI программами, то генераторы  должны использоваться. В любой среде разработки есть инструментарий для визуального редактирования форм и никто файл ресурса формы руками не редактирует. Если мы применяем аналогичный подход в вебе, то почему формы должны создаваться по другому?
« Последнее редактирование: 05 Март, 2010, 09:46:44 от AlexB » Записан

Абырвалг    ↓ 
05 Март, 2010, 10:09:49 , спустя 23 минуты 5 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 79
Сообщений: 5821
Сила слова: 1.36

В любой среде разработки есть инструментарий для визуального редактирования форм и никто файл ресурса формы руками не редактирует.
я же совсем не о том. Я о
form:
name: requried, ninLength(5)
mail : uniquie
....
на основе этой хуйни генерируется экстовский код и клиентские проверки
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
AlexB    ↓ 
05 Март, 2010, 10:53:58 , спустя 44 минуты 9 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 88
Сообщений: 3280
Сила слова: 2.68

Гм, сорри, не понял. Точнее не знал, об этой "хуйне". Надо будет посмотреть.
Но в принципе, какой смысл генерить одну текстовую нотификацию на основе другой? Почему сразу нельзя писать JS? Наверно что-то недопонимаю ...
 
Вот визуальный инструмент для сложной формы, мне кажется был бы не плохим подспорьем.
Записан

Абырвалг    ↓ 
06 Март, 2010, 12:55:12 , спустя 2 часа 1 минуту 14 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 79
Сообщений: 5821
Сила слова: 1.36

писать сервер-сайд проверки (а без них никак)
писать JS код для генерации форм через экст
писать проверки клиент-сайд, которые перед отправкой форм происходили бы
 
а не слишком ли много писать? Я вот, не люблю когда в обход шаблонизатора какой-то html/js генерируется. И просто неприемлимо что-то типа $this->form->field('name')->addAttr('onblur', 'javascript:checkField(this); return false'); Руки поотрывал бы за такую смесь JS и похапэ.
 
я спать) день был насыщенный
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
AlexB    ↓ 
06 Март, 2010, 01:04:06 , спустя 8 минут 54 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 88
Сообщений: 3280
Сила слова: 2.68


писать сервер-сайд проверки (а без них никак)
писать JS код для генерации форм через экст
писать проверки клиент-сайд, которые перед отправкой форм происходили бы
Ну дык мы так и так все это пишем. Только у нас HTML во втором пункте.
 

Я вот, не люблю когда в обход шаблонизатора какой-то html/js генерируется. И просто неприемлимо что-то типа $this->form->field('name')->addAttr('onblur', 'javascript:checkField(this); return false'); Руки поотрывал бы за такую смесь JS и похапэ.
Не спорю. Пых дожен только данные готовить и в JSON оборачивать. Все.
Записан

Абырвалг    ↓ 
06 Март, 2010, 02:19:50 , спустя 1 час 15 минут 44 секунды
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 79
Сообщений: 5821
Сила слова: 1.36

что-то мне не спится. Шутки ради, давайте поговорим на языке, при помощи которого преподаются вышка и матан в большинстве ВТУЗОВ.
 
Пусть есть условия, необходимые для описания идеальной формы[1] ( http://pyha.ru/forum/topic/4066.msg86397#msg86397 ), а именно:
серверные проверки (1)
сама форма (html) (2)
клиент-сайд проверки на JS. (3)
 
Считаем это описание достаточным в полной мере. Нас не сильно интересует метод, при помощи которого была сгенерирована html-форма, это может быть JS-фреймворк, а может быть и серверный шаблонизатор.
 
Поставим под сомнение отсутствие возможности описать структуру формы любой сложности[2] на сервере, которая бы удовлетворяла условиям (1, 2, 3). При этом структуру формы будем описывать при помощи удобных для нас форматов, будь то XML, YAML, native-PHP один раз, и на основе этого описания посредством некоторых преобразований получим непосредственно форму и ее первичные обработчики[3], состоящие из вышеупомянутых компонентов (1, 2, 3).
 
У нас будет возможность выбрать драйвер генератора, в качестве которого может выступать ExtJS или же просто шаблонизатор. В любом случае не будем исключать вероятность настройки драйвера. Под настройкой можем подразумевать значения классов с ошибками, обрамляющие элементы (div, label), порядок компонент (label for="" input или же label input /label), встраивание своих собственных шаблонов. Таким образом мы получим возможность внедрять свой JS-код в форму через встраивание шаблонов. Это позволит избавиться от кашици из JS и PHP в одном флаконе.
 
Еще раз: единожды описав параметры формы мы сможем не писать отдельно три компонента, два из которых являются дублирующими друг друга.
 
--------------------------------
1 на самом деле они не совсем такие, но в данном контексте это не важно
2 вот этот оборот мне особенно нравится
3 под первичными обработчиками будем подразумевать фильтры и валидации
 
ахуенный такой графоманский высер, да?
« Последнее редактирование: 06 Март, 2010, 02:19:50 от Абырвалг » Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
Страниц: 1 [2] 3 4 5
Печать
 

Перейти в: