Deutsch

сайт (c AJAX) без собственноручного программирования JavaScript

756  
DTP-Designer местный житель22.02.12 17:14
DTP-Designer
22.02.12 17:14 
хочу научиться создавать интерактивные сайты. Не совсем новичок в вебдизайне, знаю HTML, CSS, DreamWeaver. могу верстать сайты. правда, моя специализация - полиграфия. Просмотрел видео-курс от "Специалист" по PHP + MySQL. Но у меня такой вопрос. Правильно я понимаю, что интерактивность сайта (без перезагрузки страницы - AJAX) достигается всё-равно не средствами PHP, a JavaScript (jQuery)? Без JavaScript не обойтись?
Я к тому, что есть ли альтернатива PHP + JavaScript? Например, Java.
Меня интересует, есть ли какое-то самодостаточное программное решение для создания интерактивных сайтов (что можно изучить самостоятельно), но чтобы не заморачиваться на JavaScript? Т.е. Как создать сайт (c AJAX) без собственноручного программирования JavaScript-ов?
#1 
voxel3d патриот22.02.12 17:25
voxel3d
22.02.12 17:25 
в ответ DTP-Designer 22.02.12 17:14
В ответ на:
Правильно я понимаю, что интерактивность сайта (без перезагрузки страницы - AJAX) достигается всё-равно не средствами PHP, a JavaScript (jQuery)? Без JavaScript не обойтись?

Да, AJAX делается с помощью JavaScript, не обязательно с jQuery, но с этой библиотекой значительно упрощается процесс программирования, т.к. библиотека берёт на себя заботу о кроссбраузерности. PHP к этому почти не имеет отношения, AJAX сфокусирован на клиенте, PHP чисто серверный язык, годится разве что ответ на AJAX-запрос генерировать.
В ответ на:
Без JavaScript не обойтись?

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

MS Silverlight, JavaFX, Adobe Flex.
JavaScript + jQuery наиболее простая технология для изучения среди перечисленного.
Dropbox - средство синхронизации и бэкапа файлов.
#2 
project33 коренной житель22.02.12 17:55
project33
NEW 22.02.12 17:55 
в ответ DTP-Designer 22.02.12 17:14
В ответ на:
самодостаточное программное решение для создания интерактивных сайтов

еще как бы флеш тоже самодостаточен, однако имхо это игрушки, а акционскрипт не легче чем яваскрипт. изучать что-либо придется полюбому
Продвижение сайтов, реклама: https://www.pro33.net
#3 
compman постоялец22.02.12 18:31
compman
NEW 22.02.12 18:31 
в ответ DTP-Designer 22.02.12 17:14
В ответ на:
Я к тому, что есть ли альтернатива PHP + JavaScript? Например, Java.

На яве тоже можно сделать сайт, почему нет. Но потом другие вопросы начнут возникать. Кому нужен такой дорогой сайт например.
#4 
Victor! местный житель22.02.12 19:00
Victor!
NEW 22.02.12 19:00 
в ответ DTP-Designer 22.02.12 17:14
Можно смотреть в сторону Vaadin http://habrahabr.ru/blogs/webdev/115999/
web приложения пишутся аля десктопные, т.е. весь код на Java и исполняется на сервере, правда хз как это подойдет для обычных сайтов, в исходном коде страницы будет кишьмишь, что не есть гут для поисковика, а вот для корпоративной сети вполне даже прикольная штука будет.
можно еще попробывать какие-нить готовые ajaх решения поискать (набор контролов) потом просто через css их кастомизировать, но не факт что получится восполнить полностью нужный вам функционал
#5 
DTP-Designer местный житель22.02.12 19:47
DTP-Designer
NEW 22.02.12 19:47 
в ответ voxel3d 22.02.12 17:25
Cпасибо за подробный ответ!
Просто мне один знакомый сказал, что JavaScript - это "низко-уровневое" программирование, что это всё-равно что сейчас на асемблере программировать, если есть ООП...
То есть, мне интерессно, есть ли какая-то единая технология (язык), который на выходе можно "сконвертировать" в AJAX - сайт.
Я раздумываю о Java + GWT (Google Web...) - слышал об этом, но мало знаю.
То есть, пока размышляю, какую технологию "перспективнее" изучать...
Спасибо и извините за ламерские вопросы.
#6 
voxel3d патриот22.02.12 20:24
voxel3d
NEW 22.02.12 20:24 
в ответ DTP-Designer 22.02.12 19:47, Последний раз изменено 22.02.12 20:24 (voxel3d)
С большой натяжкой только можно параллели провести с ассемблером. Но вот без какого-то фреймворка JavaScript неразумно сейчас использовать, если делаешь интерактивный сайт, т.к. такие вещи как extJS, jQuery, e.t.c. достаточно хорошо вылизаны, избавляют от кучи головняка с кроссбраузерностью и покрывают процентов 80 функционала, который бы пришлось писать руками.
В ответ на:
То есть, мне интерессно, есть ли какая-то единая технология (язык), который на выходе можно "сконвертировать" в AJAX - сайт.

AJAX это асинхронный яваскрипт, если вы используете какую-то технологию, которая генерит контролы в виде хтмля + яваскрипт и обеспечивает серверную поддержку, то вы всё равно не будете избавлены от возни с JavaScript в реальной жизни, к примеру, в Asp.Net всё равно приходится возиться и с теми же JavaScript и jQuery частенько. Ну, а если брать одну из инопланетянских технологий, то это получится какой-то кастрированный веб-разработчик, если он знает, например, Flash/Flex и не умеет JavaScript.
А GWT компилируется во всё тот же JavaScript и:
В ответ на:
Если библиотека классов GWT не отвечает вашим требованиям, вы можете смешать написанный вручную JavaScript в исходном коде Java с помощью JavaScript Native Interface (JSNI).

а это рано или поздно произойдёт. Вы всё равно не уйдёте от JavaScript.
Dropbox - средство синхронизации и бэкапа файлов.
#7 
voxel3d патриот22.02.12 20:28
voxel3d
NEW 22.02.12 20:28 
в ответ DTP-Designer 22.02.12 19:47, Последний раз изменено 22.02.12 20:32 (voxel3d)
В ответ на:
То есть, пока размышляю, какую технологию "перспективнее" изучать...

Перспективнее в качестве веб-программиста? Хорошее знание HTML, CSS, JavaScript, jQuery/extJS, серверный язык: Java/Ruby/Python/JavaScript/C# + пара развитых фреймворков на выбранном языке. Плюс, знание особенностей используемых веб-серверов, умение их настраивать. Плюс, PHP в качестве факультатива, но там учить нечего.
Запятая - "и то, и то, ...", слэш - "или".
Dropbox - средство синхронизации и бэкапа файлов.
#8 
DTP-Designer местный житель22.02.12 20:50
DTP-Designer
NEW 22.02.12 20:50 
в ответ project33 22.02.12 17:55
Спасибо, но Флеш я расматриваю как инструмент для написания игрушен, или анимированных банеров, но от этого уже отходят, мне кажется.
#9 
DTP-Designer местный житель22.02.12 20:55
DTP-Designer
NEW 22.02.12 20:55 
в ответ Victor! 22.02.12 19:00
Спасибо. Это интересно.
В ответ на:
Считается преимуществом, при использовании Vaadin приходится программировать только на одном языке — Java, то есть не надо заморачиваться с XML, JavaScript, Html и т.д.

Много лет назад посещал курсы по JavaScript но забросил это дело из-за необходимости учитывать разные браузеры. Это меня просто ужасно выводит из себя... так я и не развивался в этом направлении, а сейчас появилась некоторая потребность углубить знания в вебе.
#10 
project33 коренной житель22.02.12 21:46
project33
NEW 22.02.12 21:46 
в ответ DTP-Designer 22.02.12 20:50
во флеше много такого, что яваскрипту и не снилось, но при этом он плохо индексируется поисковиками и на него точит зуб эппл, что конечно не дает ему нормально развернуться. я его привел просто как пример.
Продвижение сайтов, реклама: https://www.pro33.net
#11 
Victor! местный житель22.02.12 22:46
Victor!
NEW 22.02.12 22:46 
в ответ DTP-Designer 22.02.12 20:50
флэш хорош когда нужно десктопную версию сделать онлайновой, на то он собственно и толстый клиент, для web приложений со сложной структурой можно применять охотно
для сайтов -только если как промо сайт, где основной упор на визуальную информацию, но некоторые долбодеятели делают на нем информационные страницы, и начинается - не скопировать, не в меморис добавить
#12 
DTP-Designer местный житель22.02.12 23:04
DTP-Designer
NEW 22.02.12 23:04 
в ответ Victor! 22.02.12 22:46
Да, вы совершенно правы. Флэш - это отдельный ящик на странице, внутрь которого не засунуться особо - "не скопировать, ни в меморис добавить". Думаю, джава-аплеты тоже вроду бы такого ящика... интересно, что будет с канвой в HTML5...
Но это так, отступление...
Я пришел к мысли, что самое оптимальное решение - это изучать Java +GWT - для создания AJAX-вебсайтов.
Такая крамольная мысль... а можно на сервере PHP использовать с такой вебстраничкой?
Посмотрел исходники сайтов - сами сайты не впечатлили. А вот исходники впечатлили - совсем без HTML!
Впрочем, посмотрел исходник Google Map - там тоже одни сплошные скрипты.
#13 
Victor! местный житель23.02.12 08:50
Victor!
NEW 23.02.12 08:50 
в ответ DTP-Designer 22.02.12 23:04
В ответ на:
Такая крамольная мысль... а можно на сервере PHP использовать с такой вебстраничкой?

нет, для Java нужен хостинг с поддержкой java. Опять таки от GWT в html source получается каша, в плане сео это плохо. Все таки тут оптимальнее нормальный html + какиенить ajax контролы.
#14 
DTP-Designer местный житель23.02.12 12:19
DTP-Designer
NEW 23.02.12 12:19 
в ответ Victor! 23.02.12 08:50
спасибо. Хоть в голове немного прояснилось.
#15 
DTP-Designer местный житель23.02.12 12:21
DTP-Designer
NEW 23.02.12 12:21 
в ответ Victor! 23.02.12 08:50
Вопрос в догонку. А каким способом создана перекодировка (на лету) на этом сайте?
#16 
compman постоялец23.02.12 12:38
compman
NEW 23.02.12 12:38 
в ответ DTP-Designer 23.02.12 12:21
В ответ на:
<textarea id="trtxt" style="width:98%;" wrap="soft" rows="10" cols="200" onkeypress="translate_letter(event)" name="Body"></textarea>

В ответ на:
function translate_letter(evnt)
{
var code = void 0;
var language = !inputform.translit.checked;
var code = evnt.charCode ? evnt.charCode : void 0;
get_texatrea_scroll_position();
if (!evnt.which)
{
return true;
}
var txt = String.fromCharCode(code);
if (processhtmltags&&(txt=='<')) {
prelanguage=language; setlat();
}
if (processhtmltags&&(txt=='>')) {
if(prelanguage) setlat(); else setrus();
}
if (processbbcodetags&&(txt=='[')) {
prelanguage=language; setlat();
}
if (processbbcodetags&&(txt==']'))
{
if(prelanguage) setlat(); else setrus();
}
if (code&&code>33&&(!(evnt.ctrlKey||evnt.altKey)))
{
if (evnt.preventDefault)
{
evnt.preventDefault();
}
txt = String.fromCharCode(code);
tt = txtarea;
var pretxt = tt.value.substring(0, tt.selectionStart);
var result = "";
if (!language)
{
result = translatesymboltocyrillic(pretxt+txt); // to cyrillic
}
else
{
result = pretxt+txt;
}
var therest = tt.value.substr(tt.selectionEnd);
tt.value = result+therest;
tt.setSelectionRange(result.length,result.length);
set_texatrea_scroll_position();
setfoc();
}
return false;
}

#17 
voxel3d патриот23.02.12 14:42
voxel3d
NEW 23.02.12 14:42 
в ответ DTP-Designer 23.02.12 12:21
В ответ на:
А каким способом создана перекодировка (на лету) на этом сайте?

Яваскриптом перекодируется. С транслит.ру взят модифицированный код. Имеет баги.
Dropbox - средство синхронизации и бэкапа файлов.
#18 
voxel3d патриот23.02.12 14:42
voxel3d
NEW 23.02.12 14:42 
в ответ project33 22.02.12 21:46
В ответ на:

во флеше много такого, что яваскрипту и не снилось

Так уж и не снилось?
Dropbox - средство синхронизации и бэкапа файлов.
#19 
DTP-Designer местный житель23.02.12 18:22
DTP-Designer
NEW 23.02.12 18:22 
в ответ compman 23.02.12 12:38
Спасибо!
#20