[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Уроки по ExtJS 4
Страницы: 1, 2, 3
RCuPeR
Я вот не могу никак понять, для чего ExtJS нужен ?
Какие цели он преследует ?

Как я смог заметить, ExtJS это фреймворк для создания оконных приложений (только на уровне клиента) внутри браузера ?

_____________
Гнусный социопат с комплексом Бога.
sharki
RCuPeR
Он нужен прежде всего для ускорения разработки приложения. Его можно использовать не только в браузере, так и на мобилках, причем там тоже красивый интерфейс, см. офф. сайт. Для компа вроде что-то делают.

Я вот например не люблю верстать, а тут собрал всё что мне надо, красиво, без глюков, и быстро.Остается только на сервере все грамотно намутить и всё smile.gif
RCuPeR
Цитата (sharki @ 8.05.2012 - 19:22)
RCuPeR
для ускорения разработки приложения.

smile.gif

Какого приложения ? Что это, абстрактное, приложение может делать ? Я действительно не понимаю идеи ExtJS.

_____________
Гнусный социопат с комплексом Бога.
sharki
RCuPeR
Хорошо, есть у тебя сайт, нужно сделать админку, хорошую админку, не страшную, путь даже уже есть какая то. За сколько ты сделаешь вот этот весь функционал? http://dev.sencha.com/deploy/ext-4.1.0-gpl...ut/complex.html

Ну и плюс это http://dev.sencha.com/deploy/ext-4.1.0-gpl...e/treegrid.html

А потом еще напичкать всё это это добро плюшками?
vital
По поводу огромного файла c ext-all.js.
Там внутри с 4й версии релизовано нечто динамического requre(), вместо подключения ext-all.js(там вообще весь фрейморк), можно подгружать файлы по отдельности.

А статья хорошая для старта - прошлым летом была бы так вообще в тему=) Жаль поздновато, пришлось все самому( Фреймворк тоже шикарный. Тоже всем советую smile.gif

Про порог вхождения на самом деле враки.
Я начал писать на 2й-3й день чтения доков и готового кода проекта - сразу, активно и много.

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

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
killer8080
Это штука годится только для создания интерфейса вебприложений, для сайтов думаю оно не годиться, весь контент завернут в скрипты, ботам нечего индексировать.
bodja
Для админки самое оно,что то типа GUI в прикладных приложениях.
sharki
up, может кому интересно
Гость_Sergio
А как можно сделать динамическую подгрузку? Есть меню. Если я нажал на одну ссылку, то в главной панели открывается grid, нажал на другую - что-то другое. Как такое сделать?
sharki
Гость_Sergio
Ну ты можешь использовать класс Ajax или Store. При успешной загрузке создавать грид панель, указав гриду сразу store, а потом store.load()
Гость_Sergio
Да я только изучаю этот фреймворк, многое не знаю. Делаю простенький сайт для примера. Сделать простую загрузку данных в грид смог, а вот сделать меню и чтобы по клику открывались разные гриды - не получается ((( Если б наглядный пример... В общем, жду продолжение статьи, если таковое намечается )
sharki
Щас сделаю небольшой пример.
sharki
// делаем глобальными наш store and grid
var grid
,store;


// При клике на кнопке, вызываем данную функцию, которая аяксом посылает запрос,
//получает новые данные, и обновляет грид

function ajax(){
Ext.Ajax.request({
url: 'ajax_1.php',
params: {
id: 1
},
success: function(response){
var text = response.responseText;
// кодируем в нормальный вид, JSON
var data = Ext.JSON.decode(text);
store.loadData(data);
}
}
);
}

Ext.onReady(function(){
// sample static data for the store

// имеем уже какие то данные, загруженные до этого, в данном случае простой массив

var myData = [
[
'3m Co', 71.72, 0.02, 0.03, '9/1 12:00am'],
[
'Alcoa Inc', 29.01, 0.42, 1.47, '9/1 12:00am'],
[
'Altria Group Inc', 83.81, 0.28, 0.34, '9/1 12:00am']
];


// Создаем некую модель данных, для структуирования и представления
Ext.define('Company', {
extend: 'Ext.data.Model',
fields: [
{name: 'company'},
{name: 'change'}
],
idProperty: 'company'
});

// Наше хранилище, которое использует грид, его и надо дергать для обновления грида
store = Ext.create('Ext.data.ArrayStore', {
model: 'Company',
data: myData
});


// create the Grid
grid = Ext.create('Ext.grid.Panel', {
store: store,
columns: [
{
text : 'Company',
flex : 1,
sortable : false,
dataIndex: 'company'
},
{
text : 'change',
width : 75,
sortable : true,
dataIndex: 'change'
}
],
height: 350,
width: 600,
title: 'Grid',
renderTo: 'grid'
});
});



<?php


$arr = array();

for($i=0; $i<30; $i++){
$arr[] = array("Item ".$i, $i*3);
}

echo json_encode($arr);

?>


<link rel="stylesheet" type="text/css" href="/assets/js/extjs/resources/css/ext-all.css" />
<script
type="text/javascript" src="/assets/js/extjs/ext-all.js"></script>
<script
src="/assets/js/test.js"></script>

<button
onclick="ajax();">Отправить</button>
<div
id="grid"></div>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.