Dave Matvin: jQuery creates personalities

    In the modern world, there is hardly a Frontend developer who has never used the jQuery library. It was jQuery that greatly simplified the work with JavaScript and allowed developers to not 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 core kernel developer. Now Dave is preparing for his arrival at the first Russian conference on the jQuery library, #jQueryRussia .



    The conference organizer, ITmozg , asked Dave several questions about the development of the library, 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 is not framed as a translation. For those who want to read the interview in English, I publish the original , also kindly provided to me by the organizers.

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

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

    Q: jQuery 2.x has lost compatibility with IE <9. What did she get in return, should we use her or 1.x everywhere for now is the right option?

    A: jQuery 2.0 has become smaller 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 need validation associated with 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 likely to open in IE8 and older.

    Q: What do you think of Web Components and native template tools?

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

    Q: What do you think about the development and prospects of implementing 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 it’s likely to take several years before developers can use it on the open web, as its current state changes very slowly. For example, half of the existing Android mobile devices still work on version 2.3 and previous! 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 cannot take advantage of ES6 until most systems support ES6. Well, or we should create jQuery 3.0 :-)

    Q: At jQuery conferences, you are discussing not only issues regarding the library itself. What Frontend development trends can you name, which ones do you recommend developers to follow?

    A: The 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 do not already do it. The site 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 with search engines.

    Q: jQuery appeared in 2006. Since then, a lot of time has passed, and the expectations of those who use the library are changing. How 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 offset 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 the browser or JavaScript. For example, people ask about “how to add two numbers in jQuery”, although this does not apply to jQuery at all.

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

    We believe that the core jQuery API is almost complete by now. Almost everything that users ask to add in jQuery can be implemented as plugins, or with a few lines of code on the user page. This allows you to add the necessary functions without burdening the application 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 of bugs found and offers of functionality. The jQuery Core tracker is located at http://bugs.jquery.com , but from this page you can also go to separate bug trackers for jQuery UI, jQuery Mobile, and other projects.

    We try to review each ticket within a few days after its receipt. The priority depends on the severity of the problem, on whether this is the primary appeal or not, and on how likely jQuery users will encounter it again. Simple bug fixes are usually introduced in subsequent releases.

    Q: When you connected to jQuery development, the library was still quite young. What exactly interested you in it, why did you start investing your energy and time 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 so that it would work in an Internet environment. Writing JavaScript code for this application was very tedious work until I came across jQuery. The speed of writing code has increased significantly, and it has become easier to work with.

    I am very grateful to jQuery creator John Rezig for his willingness to help people and support their ideas. After experimenting with my application, I sent John an email containing suggestions for improving jQuery, which happened shortly after its release in 2006. John gladly answered me and added me to the mailing list of jQuery users who were discussing the future of the library. I began to work actively with the bug tracker, and, in the end, I became a member of the team.

    Q: You used to work on jQuery as a member of the development team. You are now the lead core 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, and finding solutions for future releases. That was John’s approach when he managed the project, and I try to continue this tradition. This is like running a pack of smart cats. Each participant is smart enough to make decisions independently without unnecessary instructions.

    Q: What do you consider to be the main thing in the product development team that millions of users use? What three or four qualities would you call the most critical for developers of such projects?

    A: People working on jQuery should be 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 performance and not burdening the file. 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 the new release, it will affect thousands of sites. Sometimes people get upset when we refuse to fix what they think is a bug. But the fact that for one is a bug, for the other is a feature. Making changes to library behavior can have far-reaching consequences that are difficult to evaluate before release.

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

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

    Editorial : The start of the jQuery annual conference was given in 2007 in Boston, and since then there have been around two dozen conferences under this brand worldwide, including in Vienna, Oxford, Seoul, Portland and San Francisco. In 2013, ITmozg hosted the famous conference for the first time in Russia.

    Also popular now: