Здравствуйте, Аноним, Вы писали:
А>Вопрос. Заказчики настояли на широком использовании на клиенте javascript. У нас есть опыть его использования, но опыт этот сугубо негативный. Работа с непростыми скриптами напоминает войну с тараканами, исправляешь одну ошибку — появляется две, несмотря на то что разработчики грамотные. А>Нанять отдельного javascript программера мы не может и на это нет времени. А>Может кто-то смог выработать успешные метотоды работы с javascript? Поделитель плиз.
JavaScript — сам по себе замечательный язык, если его правильно использовать. Он очень гибкий, там есть наследование, замыкания, которые в C# появились напирмер только с версии 2, Боюсь, что в основном его используют неправильно. Почитайте здесь например. Но разрабатывать на нем с нуля сложный гуй слишком трудоемко. Смотрите в сторону хорошей библиотеки типа этой.
Здравствуйте, Роман Дубров, Вы писали:
РД>Аноним wrote: >> OT>Тогда кури AJAX. >> >> Аяксом единым сыт не будешь. Проблема не в получении данных, а в бизнес >> логике реализованной на javascript.
РД>100% согласен. РД>И начинать надо с "правильного" фреймворка чтобы когда дойдешь до РД>реализации самой бизнес-логики, не отвлекаться на сугубо джаваскриптовые РД>заморочки...
РД>Кстати кто подскажет какиенить библиотеки для создания юзер интерфейса в РД>аяксовых веб-приложениях, можно платные?
РД>BackBase радует возможностями, но тормозище....
РД>-- РД>np: [foobar2000] not started
Здравствуйте, VladiCh, Вы писали:
VC>Здравствуйте, Аноним, Вы писали:
А>>Нанять отдельного javascript программера мы не может и на это нет времени.
А вот это зря... Без отдельного программера вы больше времени потеряете на обучение разработчиков тому, как правильно надо писать на JS (это хоть и не так сложно, но требует времени, т.к. концепция существенно отличается от mainstream-языков. Просто на нем действительно толком мало кто писать умеет правильно). Могу свои услуги предложить в качестве JavaScript-программера .
Здравствуйте, Роман Дубров, Вы писали:
РД>VladiCh wrote: >> РД>BackBase радует возможностями, но тормозище.... >> >> см. тут <http://www.bindows.net>
РД>уже смотрел РД>+ идея супер — вин апи на джаваскрипте РД>- грузится долго РД>- в gecko кой-че не работает РД>- стоит как паровоз
2. грузится долго, но можно его за-gzipовать, будет грузиться в 10 раз быстрее. можно и динамически подгружать только то что нужно.
3. в gecko работает. не работает только в opera, да и то я думаю с opera 9 сделают поддержку.
4. это да, не очень дешево. если бы не цена, сам бы использовал . а так пришлось свою библиотечку писать, попроще, на аналогичных принципах.
Здравствуйте, Joker6413, Вы писали:
J>Здравствуйте, Роман Дубров, Вы писали:
РД>>Аноним wrote:
>>> РД>А вообще javascript — это фигня, >>> >>> Фигня. Но поддерживать ее — , злости не хватает.
РД>>см выше. РД>>в принципе не отличается от поддержки любой другой технологии... просто РД>>со своими бзиками.
J>Не согласен, этнтропия jscript кода растет в вообще несяной прогрессии.
Может, вы просто не умеете его готовить? . В сыром виде он действительно довольно некрасив. Посмотрите способы правильного приготовления например здесь.
Здравствуйте, VladiCh, Вы писали:
VC>Может, вы просто не умеете его готовить? . В сыром виде он действительно довольно некрасив. Посмотрите способы правильного приготовления например здесь.
Здравствуйте, VladiCh, Вы писали:
VC>Здравствуйте, Аноним, Вы писали:
А>>Вопрос. Заказчики настояли на широком использовании на клиенте javascript. У нас есть опыть его использования, но опыт этот сугубо негативный. Работа с непростыми скриптами напоминает войну с тараканами, исправляешь одну ошибку — появляется две, несмотря на то что разработчики грамотные. А>>Нанять отдельного javascript программера мы не может и на это нет времени. А>>Может кто-то смог выработать успешные метотоды работы с javascript? Поделитель плиз.
VC>JavaScript — сам по себе замечательный язык, если его правильно использовать.
Увы... пока не определимся "как правильно" нет смысла обсуждать "неправильное" использование. Я пока могу говорить только об повышенной энтропии кода, как о факте. Чем это вызванно — особенностями языка или методом разработки я пока сказать не могу.
VladiCh wrote: > 2. грузится долго, но можно его за-gzipовать, будет грузиться в 10 раз > быстрее. можно и динамически подгружать только то что нужно.
очень даже может быть, но демка на сайте этого не делает
> 3. в gecko работает. не работает только в opera, да и то я думаю с opera > 9 сделают поддержку.
во первых я ж не сказал что совсем не работает... работает но не все.
оперу фтопку, мне ее поддерживать не надо
> 4. это да, не очень дешево. если бы не цена, сам бы использовал . а так > пришлось свою библиотечку писать, попроще, на аналогичных принципах.
а я щас blueshoes ковыряю...
Joker6413 wrote: > Очевидно не умею, так я точно не смогу:
[skip]
и что тут сложного? Или ты классы на джаваскрипте никогда не писал? А
если в чужом трудно разбираться — или бьютифаер в руки или конкретно в
этом случае пинать разработчиков — не зря ж такие деньги им плачены...
Здравствуйте, Joker6413, Вы писали:
J>Здравствуйте, VladiCh, Вы писали:
VC>>Может, вы просто не умеете его готовить? . В сыром виде он действительно довольно некрасив. Посмотрите способы правильного приготовления например здесь.
J>Очевидно не умею, так я точно не смогу:
J>
Это самая примитивная обфускация JavaScript-ового кода, уменьшающая к тому же его размер .
Приведите его к нормальному виду и все будет более-менее понятно.
Хотя мне не очень нравятся некоторые частносит в bindows, но в целом идея весьма здравая.
Здравствуйте, Роман Дубров, Вы писали:
РД>Joker6413 wrote: >> Очевидно не умею, так я точно не смогу: РД>[skip]
РД>и что тут сложного? Или ты классы на джаваскрипте никогда не писал? А РД>если в чужом трудно разбираться — или бьютифаер в руки или конкретно в РД>этом случае пинать разработчиков — не зря ж такие деньги им плачены...
На самом деле в JavaScript'е нет классов, можно сделать только их эмуляцию, правда довольно полноценную, с наследованием, виртуальными/не виртуальными функциями и даже ограничением видимости (public/private/protected), если очень хочется. Правда т.к. это все-таки эмуляция, создание этих псевдо-классов и тому подобные вещи происходят в рантайме, а т.к. язык очень слаботипизированный, то писать бизнес-логику на нем все же не очень удобно. Вот GUI — вполне.
А вообще обещают в будущих версиях Mozilla сделать поддержку JavaScript 2, он же ECMAScript 4, который уже реализован и в .NET (JScript .NET) и к примеру ActionScript 2 — это тоже ECMAScript 4. Там есть и типизация и классы и это вообще совсем другой язык.
Здравствуйте, Joker6413, Вы писали:
J>Здравствуйте, VladiCh, Вы писали:
VC>>Здравствуйте, Аноним, Вы писали:
VC>>JavaScript — сам по себе замечательный язык, если его правильно использовать.
J>Увы... пока не определимся "как правильно" нет смысла обсуждать "неправильное" использование. Я пока могу говорить только об повышенной энтропии кода, как о факте. Чем это вызванно — особенностями языка или методом разработки я пока сказать не могу.
Правильно — это используя "псевдоклассы", т.е. эмулчцию классов в JavaScript. На этих "псевдоклассах" можно построить любой сложности иерархию и работать с ним как с обычным ОО-языком типа C#, Java и т.п.
Ну и потом есть определенные приемы разработки в зависимости от того, какого типа приложение вам нужно. Если типа толстого клиента на JavaScript, то реализовать нормальный интерфейс удаленного вызова типа XML-RPC, SOAP и т.п. На эту тему можно долго разговаривать, если есть желание можно вынести в отдельный топик.
>> 3. в gecko работает. не работает только в opera, да и то я думаю с opera >> 9 сделают поддержку. РД>во первых я ж не сказал что совсем не работает... работает но не все. РД>оперу фтопку, мне ее поддерживать не надо
Не работают там графики, диаграммы и т.п. Судя по их форуму, они собираются прикрутить их при помощи SVG, поддерживаемого в Firefox 1.5.
>> 4. это да, не очень дешево. если бы не цена, сам бы использовал . а так >> пришлось свою библиотечку писать, попроще, на аналогичных принципах. РД>а я щас blueshoes ковыряю...
посмотрел я этот blueshoes... чисто php-ориентированный + нет нормального javascript-фреймворка, все на каких-то заплатках построено.
Здравствуйте, VladiCh, Вы писали:
VC>Здравствуйте, Роман Дубров, Вы писали:
VC>посмотрел я этот blueshoes... чисто php-ориентированный + нет нормального javascript-фреймворка, все на каких-то заплатках построено.
не, вру, вроде что-то более-менее есть, хотя подробно не разбирался.
Здравствуйте, Роман Дубров, Вы писали:
РД>Joker6413 wrote: >> Очевидно не умею, так я точно не смогу: РД>[skip]
РД>и что тут сложного? Или ты классы на джаваскрипте никогда не писал?
С какой версии jscript они начинаются и с каким ie эта версия ставиться?
РД>А если в чужом трудно разбираться — или бьютифаер
Здравствуйте, VladiCh, Вы писали:
J>>Увы... пока не определимся "как правильно" нет смысла обсуждать "неправильное" использование. Я пока могу говорить только об повышенной энтропии кода, как о факте. Чем это вызванно — особенностями языка или методом разработки я пока сказать не могу.
VC>Правильно — это используя "псевдоклассы", т.е. эмулчцию классов в JavaScript. На этих "псевдоклассах" можно построить любой сложности иерархию и работать с ним как с обычным ОО-языком типа C#, Java и т.п.
По этому поводу уже задал вопрос выше. (Последний раз пришлось серьезно работать со скриптом в 2002 году).
VC>Ну и потом есть определенные приемы разработки в зависимости от того, какого типа приложение вам нужно. Если типа толстого клиента на JavaScript, то реализовать нормальный интерфейс удаленного вызова типа XML-RPC, SOAP и т.п.
Здравствуйте, Joker6413, Вы писали:
J>Здравствуйте, Роман Дубров, Вы писали:
РД>>Joker6413 wrote: >>> Очевидно не умею, так я точно не смогу: РД>>[skip]
РД>>и что тут сложного? Или ты классы на джаваскрипте никогда не писал?
J>С какой версии jscript они начинаются и с каким ie эта версия ставиться?
Практически с любой версии. Классов и соответственно наследования классов там нет, есть только объекты и наследование объектов на основе прототипов. Но тем не менее можно организовать псведоклассы и наследование псевдоклассов, просто для удобства работы.
Правда по этой ссылке в примерах есть кое-какие неточности, к примеру функция 'uber' работает некорректно.
Ключевые слова, по которым надо смотреть документацию JavaScript — prototype, call, apply.
РД>>А если в чужом трудно разбираться — или бьютифаер
J>о аштойта? дайте сцылу.
Здравствуйте, VladiCh, Вы писали:
VC>Здравствуйте, Joker6413, Вы писали:
Вообще JavaScript больше похож не на Java/C#/C++, а на такие языки как Perl или Python. Если вы хорошо разбираетесь в каком-нибудь из них, то и "правильное" программирование на JavaScript освоить будет несложно.
Здравствуйте, VladiCh, Вы писали:
VC>Здравствуйте, Joker6413, Вы писали:
J>>Здравствуйте, Роман Дубров, Вы писали:
РД>>>Joker6413 wrote: >>>> Очевидно не умею, так я точно не смогу: РД>>>[skip]
РД>>>и что тут сложного? Или ты классы на джаваскрипте никогда не писал?
J>>С какой версии jscript они начинаются и с каким ie эта версия ставиться?
VC>Практически с любой версии. Классов и соответственно наследования классов там нет, есть только объекты и наследование объектов на основе прототипов. Но тем не менее можно организовать псведоклассы и наследование псевдоклассов, просто для удобства работы.
VC>здесь
Ну так вот я тебе скажу, с IE 5.0 идет javascript в котором поддержки классов нет. А IE 5.0 идет с win 2000. Достаточно ли они устарели чтобы с ними не считаться?
РД>>>А если в чужом трудно разбираться — или бьютифаер
J>>о аштойта? дайте сцылу.
VC>автоматический форматтер JavaScript-ового текста
VC>здесь