📜 ⬆️ ⬇️

Dave Matwin: jQuery create personality

In the modern world, there is hardly a frontend developer who has never used the jQuery library. It was jQuery that significantly simplified working with JavaScript and allowed developers not to worry about cross-browser issues.

The jQuery team has been working on the project for almost seven years. Dave Methvin - President of the jQuery Foundation - has come a long way from a community member to the main kernel developer. Dave is now preparing for his arrival at the first Russian jQuery library conference, #jQueryRussia .


')
The conference organizer, ITmozg , asked Dave a few questions about the development of the library, the community and the main trends of Frontend development.
The interview was taken from Dave specifically for the Russian audience and the translation was made by the organizers, so the post was not designed as a translation. For those who want to read the interview in English publish the original , also kindly provided to me by the organizers.

Q: What trends in jQuery development do you find most interesting?

A: jQuery is now far beyond the web page. People use jQuery in Chrome and Firefox add-ons, PhoneGap apps, and Windows 8 Metro apps. jQuery is used even on servers through Node.js. One of the reasons we found it important to release jQuery 2.0 is to support platforms that use HTML, CSS, and JavaScript, but are not traditional pages in a web browser.

Q: jQuery version 2.x lost compatibility with IE <9. What did she get in return, should we use her or 1.x everywhere so far is a suitable option?

A: jQuery 2.0 became smaller in size because we were able to get rid of the code that was needed for older versions of IE. This allows the library to load faster, and also increases the performance of some operations that no longer require validation related to support for older versions of IE. Of course, previous versions of IE are still widely used on the network, so our team will support jQuery 1.x and ensure its interaction with 2.x. We recommend using jQuery 1.x for those websites that are most likely to open in IE8 and older versions.

Q: What do you think about Web Components and native templates?

A: The jQuery team is very excited about Web Components and is working with the W3C to define this standard. We are also working on a Polymer project to implement new features, like Pointer Events, in previous versions of browsers. We want developers using jQuery to work easily on new and existing platforms, which is especially important in the modern world, when browser versions are released at different speeds and different functionalities.

Q: What do you think about the development and prospects for the implementation of the ES6 standard? Will it be a new language, slowly perceived by the community, or will most browsers immediately update their engines for it?

A: ES6 has some great features, but most likely it will take several years before the developers can use it on the open web, because its current state is changing very slowly. For example, half of the existing mobile devices on Android still work on version 2.3 and the previous ones! In projects where the runtime is not a problem, for example, Node.js or in corporate applications, the developer will be able to use ES6 faster. But jQuery will not be able to take advantage of ES6 until most systems support ES6. Well, or we should create jQuery 3.0 :-)

Q: At jQuery conferences, you discuss not only issues related to the library itself. What trends of Frontend development can you name, which of them would you recommend to follow the developers?

A: Ideas of adaptive design and progressive improvement are now in the air, and they are the areas of Frontend development that programmers need to use if they don’t yet. Http://www.bostonglobe.com/ is a great example of the concept of a single flexible design that works on all types of mobile devices.

Q: In the modern world of development, there are many relatively new frameworks, such as AngularJS and Ember. How is jQuery included in this ecosystem?

A: jQuery is a fundamental component for both AngularJS and Ember. AngularJS supports the jQuery light version, but developers can use the full version of jQuery and jQuery UI with it. Developers should also remember that any framework, even as simple as Backbone, is completely dependent on JavaScript. This can lead to problems with responsive design or search engines.

Q: jQuery appeared in 2006. A lot of time has passed since then, and the expectations of those who use the library have changed. How much has the jQuery community changed over the years?

A: When jQuery was first announced, all developers were aware of the differences between browsers, and knew JavaScript. jQuery was important to them because it eliminated the differences between browsers and made it easier to write web pages, but they still understood what they were doing. Currently, many developers write their web pages using jQuery, being completely unfamiliar with browser or JavaScript. For example, people ask about "how to add two numbers in jQuery", although this generally does not apply to jQuery.

jQuery was created to add useful functionality, but it led to complex and confusing interfaces, as well as a large amount of useless code inside libraries.

We believe that the core of the jQuery API is almost complete by now. Almost everything that users are asked to add to jQuery can be implemented as plug-ins, or with a few lines of code on a user’s page. This allows you to add the necessary functions without making the application heavier and without affecting its performance.

Q: How is the work in the bug-tracking system? How do you sort requests and determine the highest priority tickets?

A: Each jQuery project is equipped with a bug tracking system that accepts reports on bugs found and offers of functionality. The jQuery Core tracker is located at http://bugs.jquery.com , but from this page you can go to individual bug trackers for jQuery UI, jQuery Mobile and other projects.

We try to consider each ticket within several days after its receipt. The priority depends on the severity of the problem, on whether this is the primary treatment or not, and on the likelihood with which jQuery users will meet with it again. Simple bug fixes are usually introduced in subsequent releases.

Q: When you joined jQuery development, the library was still quite young. What exactly interested you in it, why did you begin to invest your time and energy in it?

A: Initially, in jQuery, I was not even interested in web pages. At that time, I was writing a Windows application that used Microsoft WebBrowser tools to transfer HTML inside a window for it to work in an Internet environment. Writing JavaScript for this application was a very tedious job until I encountered jQuery. The speed of writing code has increased significantly, and it has become easier to work with it.

I am very grateful to the jQuery creator, John Rezig, for his willingness to help people and support their ideas. After the experience with my application, I sent an email to John outlining suggestions for improving jQuery - this happened shortly after its release in 2006. John gladly answered me and added me to the jQuery user mailing list, who discussed the future of the library. I started working actively with the bug tracker, and eventually became a member of the team.

Q: You once worked on jQuery as a member of a development team. You are now the lead kernel developer. How did this affect your perception of the project and work with it?

A: What I really like about the jQuery team is the involvement of each participant in all aspects of the project. This includes sorting bugs, tracking change requests, writing patches, finding solutions for future releases. That was John’s approach when he ran the project, and I try to continue this tradition. This is like running a bunch of clever cats. Each participant is smart enough to make decisions without undue guidance.

Q: What do you think is the main thing in the product development team that is used by millions of users? What three or four qualities would you call the most critical for developers of such projects?

A: People working on jQuery should be very familiar with browser issues. These are the problems that jQuery is trying to solve for its users, so not always a good library user can become a good member of the jQuery development team. The team should be able to solve problems without cutting the performance and not making the file heavier. Of course, communication skills are also important, because the team is scattered around the world.

The most important thing is to realize that we are responsible for the library, which is used in more than 60% of the 10,000 top Internet sites. If we make a mistake in a new release, it will affect thousands of sites. Sometimes people get upset when we refuse to correct what seems to be a bug. But the fact that for one is a bug, for another is a feature. Making changes to the library's behavior can have far-reaching consequences that are difficult to assess before release.

Q: The jQuery conference has already been to many countries. In Russia, it will be held for the first time. Do you have any expectations from the Russian audience?

A: We already have experience of interaction with Russian developers. One of the members of our team is a Russian programmer. Oleg Gaidarenko officially joined the team this year, but before that for several years he had made a contribution to jQuery as a user. Oleg works as a Frontend developer in Yandex, so he is very familiar with the library's problems. We very much hope that other members of the Russian community will join us.

Editor’s Note : The jQuery annual conference was launched in 2007 in Boston, and since then around two dozens of conferences under this brand have been held around the world, including Vienna, Oxford, Seoul, Portland and San Francisco. In 2013, with the help of ITmozg, the famous conference will be held in Russia for the first time.

Source: https://habr.com/ru/post/192372/


All Articles