Статьи

Последние в JQuery, Javascript фреймворки для веб-разработки

Адаптивный веб-дизайн — это полезная парадигма, когда вы создаете веб-приложение и оно работает на любом устройстве, приспосабливаясь к макету. Существует несколько платформ JQuery, которые позволяют это.

В последние несколько дней я работал с несколькими хорошими средами JQuery / Javascript и понимал, как они работают. В этом блоге я покажу, как JQuery работает в типичной среде на основе AJAX. Каковы несколько аспектов, которые улучшают JQuery при написании лучшего кода. Я также покажу вам, как некоторые из последних Javascript-фреймворков решают эти проблемы и как выглядит будущее веб-разработки.

Что такое AJAX, как фреймворки Javascript помогают улучшить ваше приложение?

Проще говоря, AJAX помогает в частичном отображении страницы, не загружая всю веб-страницу, когда происходит событие щелчка.

В типичном веб-приложении для извлечения данных с сервера вы, как правило, выполняете отправку на сервер, перезагружаете страницу, перестраиваете страницу на стороне сервера и возвращаетесь клиенту. Недостатком этого подхода является то, что вы будете иметь бизнес-логику в представлении.

С JQuery вы можете разделить проблемы, как показано ниже,

<div>
<ul id="productCatalog">
</ul>
</div>
<div>
<!--Right side filter-->
<legend>Smart Wall</legend>
<form>
<textarea id="searchkey" rows="2" cols="20" ></textarea>
<br/>
<br/>
<button type="submit" id="submitButton">
<i></i>Search
</button>
</form>

</script>
$("#submitButton").click(function(){
key =  $("#searchkey").val();
alert('key=' + key);
var url = "https://www.googleapis.com/shopping/search/v1/public/products?key=AIzaSyDTkzeQAoJDJb5Yvy3-bzIBXywZBK4kjkA&country=US&q="+key+"&alt=json"
alert('url=' + url);
$.getJSON(url, function (data){
// Format the data using the catTemplate template
alert('data=' + data);
$("#flickrTemplate").tmpl(data.items).appendTo("#productCatalog");
});
});

</script>

<include src="./datatemplates/productcatalog.html" />

productcatalog.html выглядит так, как показано ниже,

 <script id="flickrTemplate" type="text/x-jquery-tmpl">
<li>
<div>
<a href="${product.link}" target="_blank" >
<img src="${product.images[0].link}" alt="" width="150px;" border="0">
</a>
<h5>${product.title}</h5>
<p>Price: $ ${product.inventories[0].price}   <a href="${product.link}" target="_blank" >Buy</a></p>
</div>
</li>
<script>

Как вы достигаете разделения проблем в рамках Javascript?

Если вы заметили в приведенном выше примере, в представлении HTML нет бизнес-логики. Волшебство достигается путем включения jquery.tmpl.min.js в HTML-страницу, как показано ниже,

<script src="assets/js/jquery.js"></script>
<script type="text/javascript" src="Scripts/jquery-ui-1.8.20.js"></script>
<script type="text/javascript" src="js/jquery.tmpl.min.js"></script>

Привязка данных в шаблоне происходит при использовании синтаксиса $ {product.link}. Это синтаксис Underscore . В JQuery Handlebars + Mustache  есть еще несколько хороших шаблонов .

Как продвинутые фреймворки продвигают это дальше?

Есть много отличных Javascript-фреймворков, и есть хорошая статья, сравнивающая их .

Мой личный фаворит — Angular.js . Как вы заметили, у них гораздо более высокий уровень абстракции, такой как привязка объектов, внедрение зависимостей на стороне клиента и многие другие. Angular.js имеет хорошую документацию и учебные пособия для изучения.