Что знаю из веб-технологий на текущий момент: Servlets/JSP на 4-, ASP-ASP.NET-MVC так же, HTML/XML DOM на 5, SQL/JDBC/Entity Framework на 4/5, CSS на троечку, но для верстки хватает; кое-что по аутентификации/авторизации. Короче, в знаниях по серверной части больших пробелов нет.
В чем затык: перестал понимать что творится в броузерах. Знаю, что есть DOM, над которым есть JavaScript, над которым все эти малопонятные jQuery и JSONы и пр., над которыми в свою очередь модные безфреймовые и собираемые из кусочков single-page applications, которые гоняют между клиентом и веб-сервером непонятно что непонятно в каком формате, при этом все это каким-то чудом работает. Сложно понимаю документацию к jQuery-контролам, потому что каждый автор придумывает свои конфиги и это бесит. Потом, появились какие-то веб-апи и веб-сокеты, которые позволяют держать постоянный канал между клиентом и сервером, тоже малопонятно зачем.
В общем, хочу у вас попросить ссылок на почитать что-нибудь толковое и понятное про
1) best practices по JavaScript и связанных фреймворках в плане построения UI (читаемость кода, сопровождаемость, layout под десктоп-планшеты-телефоны и т.п.)
2) обзорам перспективности тех или иных технологий. На изучение ненужных не хочется тратить время (все помнят, как Microsoft проталкивал Silverlight, который в конце благополучно издох. Или Flash, который тоже почти издох). С акцентом на ASP.NET MVC.
Здравствуйте, baranovda, Вы писали:
B>Что знаю из веб-технологий на текущий момент: Servlets/JSP на 4-, ASP-ASP.NET-MVC так же, HTML/XML DOM на 5, SQL/JDBC/Entity Framework на 4/5, CSS на троечку, но для верстки хватает; кое-что по аутентификации/авторизации. Короче, в знаниях по серверной части больших пробелов нет.
B>В чем затык: перестал понимать что творится в броузерах. Знаю, что есть DOM, над которым есть JavaScript, над которым все эти малопонятные jQuery и JSONы и пр., над которыми в свою очередь модные безфреймовые и собираемые из кусочков single-page applications, которые гоняют между клиентом и веб-сервером непонятно что непонятно в каком формате, при этом все это каким-то чудом работает. Сложно понимаю документацию к jQuery-контролам, потому что каждый автор придумывает свои конфиги и это бесит. Потом, появились какие-то веб-апи и веб-сокеты, которые позволяют держать постоянный канал между клиентом и сервером, тоже малопонятно зачем.
B>В общем, хочу у вас попросить ссылок на почитать что-нибудь толковое и понятное про B>1) best practices по JavaScript и связанных фреймворках в плане построения UI (читаемость кода, сопровождаемость, layout под десктоп-планшеты-телефоны и т.п.) B>2) обзорам перспективности тех или иных технологий. На изучение ненужных не хочется тратить время (все помнят, как Microsoft проталкивал Silverlight, который в конце благополучно издох. Или Flash, который тоже почти издох). С акцентом на ASP.NET MVC.
1)best practices по JavaScript в каком смысле? материла тыща, был бы гугл и амазон. Если нужна книга именно по js,
то крайне советую книгу Resig'а (создателя jQuery) Secrets of javascript ninja. Это просто классный учебник по js.
Из фреймворков смотрите на AngularJS. Гугловый MVC js фреймворк. Также советую обратить внимание на контролы Telerik kendo UI.
Из css фреймворков однозначно Bootstrap.
2) вопрос уточните, клиентские или серверные? Ну изучайте себе на сервере ASP.NET MVC, в чем проблема?
Если без акцентов на MS, то посмотрите на node js, и как пример на стек http://mean.io/#!/
Здравствуйте, Sharov, Вы писали:
S>1)best practices по JavaScript в каком смысле? материла тыща, был бы гугл и амазон. Если нужна книга именно по js, S> то крайне советую книгу Resig'а (создателя jQuery) Secrets of javascript ninja. Это просто классный учебник по js.
В смысле синтаксис языка я знаю на период года где-то 2007. Где-то в то время сайт MSDN стал из фреймового безфреймовым и попытка понять, как оно теперь работает повергло меня в состояние недоумения HTML оттуда почти пропал, но все страницы стали ссылаться на меговые жабаскрипты. Начались эти ацкие $(), бесконечные вложенные замыкания и вообще переключение тенденции в синтаксисе JS-кода с читаемости на нечитаемость и уход от императивности к какой-то псевдодекларативности. Хочу понять, нужно ли мне постигать дзен чтения исходников jQuery или мне это нафиг не надо?
S> Из фреймворков смотрите на AngularJS. Гугловый MVC js фреймворк. Также советую обратить внимание на контролы Telerik kendo UI. S> Из css фреймворков однозначно Bootstrap.
Вот еще хотелось бы объективного сравнения какой фреймворк читаемее и роднее майкрософту
S>2) вопрос уточните, клиентские или серверные? Ну изучайте себе на сервере ASP.NET MVC, в чем проблема?
Здравствуйте, baranovda, Вы писали:
B>Здравствуйте, Sharov, Вы писали:
S>>1)best practices по JavaScript в каком смысле? материла тыща, был бы гугл и амазон. Если нужна книга именно по js, S>> то крайне советую книгу Resig'а (создателя jQuery) Secrets of javascript ninja. Это просто классный учебник по js.
B>Хочу понять, нужно ли мне постигать дзен чтения исходников jQuery или мне это нафиг не надо?
А зачем jQuery? Я бы почитал (и надеюсь когда-нибудь) исходники AngularJS.
S>> Из фреймворков смотрите на AngularJS. Гугловый MVC js фреймворк. Также советую обратить внимание на контролы Telerik kendo UI. S>> Из css фреймворков однозначно Bootstrap.
B>Вот еще хотелось бы объективного сравнения какой фреймворк читаемее и роднее майкрософту
В смысле майкрософту? Ослу? Ну, это надо гуглить. На всех новых версиях браузеров вроде все ничего. А старый осел да,
он такой, но его все меньше и меньше.
S>>2) вопрос уточните, клиентские или серверные? Ну изучайте себе на сервере ASP.NET MVC, в чем проблема?
B>клиенский
Здравствуйте, Sharov, Вы писали:
S>А зачем jQuery? Я бы почитал (и надеюсь когда-нибудь) исходники AngularJS.
Ну он вроде бы на вершине трендов
S>В смысле майкрософту? Ослу? Ну, это надо гуглить. На всех новых версиях браузеров вроде все ничего. А старый осел да, S>он такой, но его все меньше и меньше.
Да не, скорее средствам разработки (Visual Studio) и интегрированности с контроллерами и View.
Хотелось бы что-нибудь эдакое: перетащить какой-нибудь JS-грид в дизайнер, натыкать колонки мышкой, приделать к нему визуально источник данных, пейджер и кнопку поиска, и чтобы студия при этом интеллисенс вываливала, нужное подсказывала, а ненужное нет. Такое бывает?
Здравствуйте, Sharov, Вы писали:
B>>Вот еще хотелось бы объективного сравнения какой фреймворк читаемее и роднее майкрософту S>В смысле майкрософту? Ослу? Ну, это надо гуглить. На всех новых версиях браузеров вроде все ничего. А старый осел да, S>он такой, но его все меньше и меньше. B>>клиенский
Вот еще пример к вопросу прокачки эрудиции: читаю про WinJS, вижу, что там есть какой-то набор контролов, какой-то databinding и вообще все хорошо документировано, но боюсь за него браться, т.к. не знаю, чем он хуже/лучше jQuery и не выйдет ли так, что через два месяца этот самый WinJS придется выкинуть.
Здравствуйте, baranovda, Вы писали:
B>Вот еще пример к вопросу прокачки эрудиции: читаю про WinJS, вижу, что там есть какой-то набор контролов, какой-то databinding и вообще все хорошо документировано, но боюсь за него браться, т.к. не знаю, чем он хуже/лучше jQuery и не выйдет ли так, что через два месяца этот самый WinJS придется выкинуть.
Здравствуйте, baranovda, Вы писали:
B>В чем затык: перестал понимать что творится в броузерах. Знаю, что есть DOM, над которым есть JavaScript, над которым все эти малопонятные jQuery и JSONы и пр., над которыми в свою очередь модные безфреймовые и собираемые из кусочков single-page applications, которые гоняют между клиентом и веб-сервером непонятно что непонятно в каком формате, при этом все это каким-то чудом работает. Сложно понимаю документацию к jQuery-контролам, потому что каждый автор придумывает свои конфиги и это бесит. Потом, появились какие-то веб-апи и веб-сокеты, которые позволяют держать постоянный канал между клиентом и сервером, тоже малопонятно зачем.
Все оттого что ты надрачиваешь на стек микрософта который хочет чтобы ты клепал формы на стандартных контролах, а не копался в низкоуровневых вещах. Если тебя бесят разные конфиги, лучше не лезь в клиент сайд, целее будешь. На клиенте вообще нет ничего четкого и незыблемого, такова природа вещей.
B>В общем, хочу у вас попросить ссылок на почитать что-нибудь толковое и понятное про B>1) best practices по JavaScript и связанных фреймворках в плане построения UI (читаемость кода, сопровождаемость, layout под десктоп-планшеты-телефоны и т.п.)
В вебе принято смотреть как делают другие и делать как тебе нравися. Даже для ангуляра написано добрых два десятка разных бестпрактисов, которые все противоречат друг другу.
B>2) обзорам перспективности тех или иных технологий. На изучение ненужных не хочется тратить время (все помнят, как Microsoft проталкивал Silverlight, который в конце благополучно издох. Или Flash, который тоже почти издох). С акцентом на ASP.NET MVC.
Такого не бывает. В вебе все опенсорсное, а в опенсорсе перспективность определяет не проплаченный обзорщик, а сообщество. Если люди решили что монга перспективна, то ганджубас может хоть на говно изойти, три клавиатуры сломать расписывая ее недостатки, а люди все равно будут ей пользоваться.
On 30.10.2014 22:41, Sharov wrote: > Также > советую обратить внимание на контролы Telerik kendo UI.
Контролы классные, цена приемлемая, лицензионное соглашение совершенно
конское, только для ин-хауза годится. Типа надо в лицензионное
соглашение с покупателем включать пункт, что он не будет распространять
телерик.
Здравствуйте, hrensgory, Вы писали:
H>On 30.10.2014 22:41, Sharov wrote: >> Также >> советую обратить внимание на контролы Telerik kendo UI.
H>Контролы классные, цена приемлемая, лицензионное соглашение совершенно H>конское, только для ин-хауза годится. Типа надо в лицензионное H>соглашение с покупателем включать пункт, что он не будет распространять H>телерик.
Что значит "не будет" распространять, как это отследить в случае js?
On 31.10.2014 14:05, Sharov wrote: > H>Контролы классные, цена приемлемая, лицензионное соглашение совершенно > H>конское, только для ин-хауза годится. Типа надо в лицензионное > H>соглашение с покупателем включать пункт, что он не будет распространять > H>телерик. > > Что значит "не будет" распространять, как это отследить в случае js?
Да никак, наверное. Но пункт такой в их лицензии есть. Что в той
лицензии, которую ты предоставляешь своему покупателю должно быть про
это написано (Software — это Kendo UI):
Your end-user license agreement must: prohibit distribution of the
Software by Your Authorized End Users; limit the liability of Your
licensors or suppliers to the maximum extent permitted by applicable
law; and prohibit any attempt to disassemble, decompile or “unlock”,
decode or otherwise reverse translate or engineer, or attempt in any
manner to reconstruct or discover any source code or underlying
algorithms of the Software.
Здравствуйте, baranovda, Вы писали:
B>В чем затык: перестал понимать что творится в броузерах. Знаю, что есть DOM, над которым есть JavaScript, над которым все эти малопонятные jQuery и JSONы и пр., над которыми в свою очередь модные безфреймовые и собираемые из кусочков single-page applications, которые гоняют между клиентом и веб-сервером непонятно что непонятно в каком формате, при этом все это каким-то чудом работает. Сложно понимаю документацию к jQuery-контролам, потому что каждый автор придумывает свои конфиги и это бесит. Потом, появились какие-то веб-апи и веб-сокеты, которые позволяют держать постоянный канал между клиентом и сервером, тоже малопонятно зачем.
Про jQuery в твух словах:
'$' это функция которая получает на вход строку — css selector и возвращает
jQuery объект-массив найденных элементов. Вход может быть не только строкой, но это не важно для начала.
Основная фенечка: этот полученный jQuery объект поддерживает набор методов которые
при вызове осуществляют действия над всеми элементами последовательности. Пример:
$("div").attr("foo","bar");
Всем <div> на странице добавить атрибут foo со значением bar <div foo="bar">
JSON — это подмножество JavaScript — его object и array literals.
B>В общем, хочу у вас попросить ссылок на почитать что-нибудь толковое и понятное про B>1) best practices по JavaScript и связанных фреймворках в плане построения UI (читаемость кода, сопровождаемость, layout под десктоп-планшеты-телефоны и т.п.) B>2) обзорам перспективности тех или иных технологий. На изучение ненужных не хочется тратить время (все помнят, как Microsoft проталкивал Silverlight, который в конце благополучно издох. Или Flash, который тоже почти издох). С акцентом на ASP.NET MVC.
Если хочешь понять что такое view, routing, controllers и прочая фигня то рекомендую глянуть на мой SPApp:
там 60 строк кода котрые эти самые мега фичи view, routing, controllers и делают. Поймешь что там происходит — поймешь все остальные MVC frameworks.
И еще рекомендую глянуть на http://todomvc.com/
Это имплементация TODO list на разных фреймворках. Там же и plain JavaScript и jQuery версии. Полезно сравнить между собой и со всем остальным.
Посмотри на них — если что-то покажется интуитивно понятным — это твой framework на настоящее время
Здравствуйте, hrensgory, Вы писали:
H>Да никак, наверное. Но пункт такой в их лицензии есть. Что в той H>лицензии, которую ты предоставляешь своему покупателю должно быть про H>это написано (Software — это Kendo UI):
H>Your end-user license agreement must: prohibit distribution of the H>Software by Your Authorized End Users; limit the liability of Your H>licensors or suppliers to the maximum extent permitted by applicable H>law; and prohibit any attempt to disassemble, decompile or “unlock”, H>decode or otherwise reverse translate or engineer, or attempt in any H>manner to reconstruct or discover any source code or underlying H>algorithms of the Software.
H>http://www.telerik.com/purchase/license-agreement/kendo-ui-professional
Хм, на мой непросвещенный взгляд никакой проблемы включить такой пункт в лицензию не составит.
Если это их требования по лицензионности этим исчерпываются, то страшного ничего нет (все равно никто читать не будет )
02.11.2014 13:25, vitsavinov пишет: > H>http://www.telerik.com/purchase/license-agreement/kendo-ui-professional > > Хм, на мой непросвещенный взгляд никакой проблемы включить такой пункт в > лицензию не составит. > Если это их требования по лицензионности этим исчерпываются, то > страшного ничего нет (все равно никто читать не будет)
Да вот читают некоторые. И даже в договорах на разработку пишут как
условия — что не должно быть никаких дополнительных лицензионных
ограничений на том, что вы им разрабатываете (LGPL, Апаче и т.п. —
допускаются при этом).
Здравствуйте, hrensgory, Вы писали:
H>02.11.2014 13:25, vitsavinov пишет: >> H>http://www.telerik.com/purchase/license-agreement/kendo-ui-professional >> >> Хм, на мой непросвещенный взгляд никакой проблемы включить такой пункт в >> лицензию не составит. >> Если это их требования по лицензионности этим исчерпываются, то >> страшного ничего нет (все равно никто читать не будет)
H>Да вот читают некоторые. И даже в договорах на разработку пишут как H>условия — что не должно быть никаких дополнительных лицензионных H>ограничений на том, что вы им разрабатываете (LGPL, Апаче и т.п. — H>допускаются при этом).
Ну для хомячкового эндюзеровского софта это не так страшно, имхо.
А вот для разного девелоперского стаффа это да — неприятненько.
Здравствуйте, baranovda, Вы писали:
B>В общем, хочу у вас попросить ссылок на почитать что-нибудь толковое и понятное про B>1) best practices по JavaScript
Здравствуйте, baranovda, Вы писали:
B>В чем затык: перестал понимать что творится в броузерах. Знаю, что есть DOM, над которым есть JavaScript
Больше в принципе ничего и не творится. Добавляются разные мелкие API.
> над которым все эти малопонятные jQuery и JSONы и пр.
А что тут малопонятного? jQuery это просто небольшая библиотечка для кроссплатформенной работы с DOM и некоторыми другими вещами.
> над которыми в свою очередь модные безфреймовые и собираемые из кусочков single-page applications
Не всегда из кусочков, но в целом да.
> которые гоняют между клиентом и веб-сервером непонятно что непонятно в каком формате
Обычно в JSON гоняют, формат очень простой. Более конкретные структуры данных уже в каждом случае свои.
> Сложно понимаю документацию к jQuery-контролам, потому что каждый автор придумывает свои конфиги и это бесит.
А что там понимать? Обычно всегда есть примеры и прочее. Надо понимать, что jQuery не значит, что все эти контролы будут одинаковыми или даже похожими. Интерфейс каждый придумывает по-своему, просто стараются имитировать "дух" jQuery.
> Потом, появились какие-то веб-апи и веб-сокеты, которые позволяют держать постоянный канал между клиентом и сервером, тоже малопонятно зачем.
Что за веб апи не знаю, а вебсокеты — да, держат соединение. Зачем? Чтобы сервер мог извещать клиента о каких-то событиях. Например чат — страничка моментально узнает, что собеседник написал сообщение.
B>1) best practices по JavaScript и связанных фреймворках в плане построения UI (читаемость кода, сопровождаемость, layout под десктоп-планшеты-телефоны и т.п.)
Фреймворков только популярных наверное не меньше 10-ка наберётся и каждый по-своему всё делает. Выбери один и изучай. Рекомендую angular.js.
B>2) обзорам перспективности тех или иных технологий. На изучение ненужных не хочется тратить время (все помнят, как Microsoft проталкивал Silverlight, который в конце благополучно издох. Или Flash, который тоже почти издох). С акцентом на ASP.NET MVC.
Здравствуйте, baranovda, Вы писали:
B>В чем затык: перестал понимать что творится в броузерах.
Вощем начал потихоньку разбираться в современных тэндэнциях и заодно немного порефлексировал:
1) CSS. Несмотря на его кажуюшуся простоту, смастерить понятные, компактные и логичные таблицы стилей для меня всегда было сложным делом, т.к. тут реально нужно иметь дизайнерские навыки и познания в типографике. Когда я делал какой-то веб прежде, всегда возникал колбасил много стилей инлайн. Потом, верстка div-ами. Чтобы понять все эти float-ы и пристыковывания нужно реально сидеть и много экспериментировать во всех броузерах.
А теперь если взять и прилепить bootstrap, то теперь обо всей этой чепухе думать не надо.
2) MVC. Идея разделения данных и представлений понятна. Взял в соответствии с вашими рекомендациями angular.js и почитал туториалы. В принципе тоже все понятно, кроме того, как динамически формируемые страницы уживаются с историей броузеров и поисковиками. Так же не совсем понятно, как можно полностью отказаться в Single Page App от логичной фреймовой структуры а-ля Проводник (слева меню, справа документ) или Outlook/КЫВТ (меню-список-просмотр)
Здравствуйте, baranovda, Вы писали:
B>Здравствуйте, baranovda, Вы писали:
B>>В чем затык: перестал понимать что творится в броузерах.
B>Вощем начал потихоньку разбираться в современных тэндэнциях и заодно немного порефлексировал:
B>А теперь если взять и прилепить bootstrap, то теперь обо всей этой чепухе думать не надо.
Об чем и речь!
B>2) MVC. Идея разделения данных и представлений понятна. Взял в соответствии с вашими рекомендациями angular.js и почитал туториалы. В принципе тоже все понятно, кроме того, как динамически формируемые страницы уживаются с историей броузеров и поисковиками. Так же не совсем понятно, как можно полностью отказаться в Single Page App от логичной фреймовой структуры а-ля Проводник (слева меню, справа документ) или Outlook/КЫВТ (меню-список-просмотр)
К сожалению, я сам почти в таком же положении как и Вы, разве что разбираться начал где-то год назад.
По поводу SPA и гугла, то да, тут похоже надо забыть про индексацию страниц. Но я точно не уверен. SPA подход
чем хорош, что его можно делать сразу мультиплатформенным, т.е. и под мобилопланшеты. (Т.е. реально на html5+js
написать приложение для мобильных платформ, не говоря уже о десктопе. Но производительность и гибкость будет
уступать нативным.) Ну дык вот, а зачем индексация для таких приложений? Незачем. Как откзаться от структуры а-ля
Проводник? Не знаю. А чем мешает такая структура? Ну опять же, это наверное можно решить на уровне дизайна сайта.
Смотрите шаблоны сайтов (админки, например, для затравки) на том же bootstrap'е.
Здравствуйте, Sharov, Вы писали:
S>Ну дык вот, а зачем индексация для таких приложений? Незачем. Как откзаться от структуры а-ля S>Проводник? Не знаю. А чем мешает такая структура? Ну опять же, это наверное можно решить на уровне дизайна сайта. S>Смотрите шаблоны сайтов (админки, например, для затравки) на том же bootstrap'е.
angular как я понял — это шаблонированный на клиенте движок, мощен, да, внушает, но блин в моей опере иногда при попытке открыть страницу туториала с его родного сайта вместо текста вылазят его плейсхолдеры ( после обновления страницы OK, но все же...
индексирование в интранете не очень нужно, да.
И с навигацией там как-то все мутно. Пользователи любят закладочки