рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░ # 10 рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд░реЛрдЪрдХ рдФрд░ рдЙрдкрдпреЛрдЧреА рдмрд╛рддреЗрдВ

рд╢реБрдн рджрд┐рди, рдкреНрд░рд┐рдп Kravravchiansред рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВрдиреЗ рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг / рдкреБрд╕реНрддрдХрд╛рд▓рдп / рдХрд╛рд░реНрдпрдХреНрд░рдо рджреЗрдЦреЗ рдЬреЛ рдореИрдВ рд╣реНрд░рдм рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдпрд╣ рдЗрд╕ рд╡рд░реНрд╖ рдХрд╛ рдЕрдВрддрд┐рдо рдЪрдпрди рд╣реИ рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред

рдЫрд╡рд┐
2013 рдХреА рдЧрд░реНрдорд┐рдпреЛрдВ рдореЗрдВ, рдж рдЧрд╛рд░реНрдЬрд┐рдпрди рдкрдмреНрд▓рд┐рд╢рд┐рдВрдЧ рд╣рд╛рдЙрд╕ рдиреЗ рд╕рднреА рдореМрдЬреВрджрд╛ рд░реБрдЭрд╛рдиреЛрдВ / рдорд╛рдирджрдВрдбреЛрдВ / рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдкрдиреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдирд╛ рдпрд╣ рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд╕рд╛рдЗрдЯ рдХреЗ рд╕рдВрдкреВрд░реНрдг рджреГрд╢реНрдп рдХреЛ GitHub рдкрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЛрдореЗрди рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ред 1,500 рд╕реЗ рдЕрдзрд┐рдХ рдмрдЪреНрдЪреЗ, 10,000 рдХрдорд┐рдЯ рдФрд░ 100 рд╢рд╛рдЦрд╛рдПрдВред рдПрдХ рдкреВрд░рд╛ рд╕рдЬреНрдЬрди рд╕реЗрдЯ рд╣реИред рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЬреНрдЮрд╛рди рдХрд╛ рднрдВрдбрд╛рд░ рд╣реЛрдЧрд╛ред

рдЫрд╡рд┐ Cenn.js - рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧ 'рдПрди рдкреНрд▓реЗ рдмреИрдХреЗрдВрдбред рддреЗрдЬ, рд╕реБрд░рдХреНрд╖рд┐рдд, рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ред
var server = new Cenny(); server.set({data: [1,2,3]}); server.get(function(data){ console.log(data); }); 


рдЫрд╡рд┐ рдлрд┐рд▓рд╛рдореЗрдВрдЯ рдЧреНрд░реБрдк рдХреА рдПрдХ рдЫреЛрдЯреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдкрд╣рд▓реЗ jQuery рдХреЗ рдкреНрд░рд╛рдпреЛрдЬрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ)ред Overthrow.js рдЙрддреНрддрд░рджрд╛рдпреА рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрд▓реАрдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬреЛ рдЯрдЪ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ HTML рддрддреНрд╡ рд╕рд╛рдордЧреНрд░реА (рдУрд╡рд░рдлрд╝реНрд▓реЛ: рдСрдЯреЛ / рд╕реНрдХреНрд░реЙрд▓) рдХреЗ рдорд╛рдирдХ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреЗ рдХрд╛рдо рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рддрд╛ рд╣реИред рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рд╕рд╛рдзрд╛рд░рдг рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреЗ рдХрд╛рдо рдФрд░ рдЕрдкрдиреЗ рдЧреИрдЬреЗрдЯ рдкрд░ рдУрд╡рд░рдереНрд░реЛ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред


TinyPNG рдбреЗрд╡рд▓рдкрд░ рдПрдкреАрдЖрдИ


рдХрдИ рд▓реЛрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдЫрд╡рд┐ рдЕрдиреБрдХреВрд▓рдХ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВред рд▓реЗрдХрд┐рди рд╣рд░ рдХреЛрдИ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдЦреЛрд▓рд╛ рд╣реИред TinyPNG Kraken.io рдпрд╛ JPEGmini рдЬреИрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЦреЛ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рд╕рдВрдкреАрдбрд╝рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдПрдХ рд╕рднреНрдп рд╕реНрддрд░ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рдмрд╛рдд рдкреНрд░рддрд┐ рдорд╛рд╣ 500 рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдореБрдлреНрдд рдЯреИрд░рд┐рдл рдпреЛрдЬрдирд╛ рд╣реИ, рдЬрдмрдХрд┐ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдХреЗрд╡рд▓ рднреБрдЧрддрд╛рди рдХреА рдЧрдИ рд╕реЗрд╡рд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдПрдХ рдЧреНрд░рдиреНрдЯ-рдЯрд┐рдирдкрд┐рдВрдЧ рдкреНрд▓рдЧрдЗрди рднреА рд╣реИред

Gitter


рдЫрд╡рд┐
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓реЗрдЦрдХреЛрдВ рд╕реЗ: "рдЖрдИрдЖрд░рд╕реА рдХреА рддрд░рд╣ рдПрдХ рдмрд┐рдЯ рдХреЗрд╡рд▓ рдЪрд╛рд▓рд╛рдХ"ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЪреИрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИред рд╕реЗрд╡рд╛ GitHub рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╣реИ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдЙрдиреНрдирдд рд╕рдВрдЪрд╛рд░ рдХреЛ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ, рдХрдорд┐рдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ "рдХреЛрдб рдХреЛ рд╕рдордЭрддрд╛ рд╣реИ"ред рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдореИрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдбреЗрд╡рд▓рдкрд░реНрд╕ iOS рдФрд░ Android рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддреЗ рд╣реИрдВред

Echo.js


рд╕рдВрднрд╡рддрдГ рдЖрд▓рд╕реА-рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЕрддрд┐рд░рд┐рдХреНрдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ:
  <img src="img/blank.gif" alt="Photo" data-echo="img/photo.jpg"> <script> Echo.init({ offset: 100, throttle: 250 }); // Echo.render(); is also available for non-scroll callbacks </script> 


Imager.js


рд╢рд╛рдпрдж рдмреАрдмреАрд╕реА рд╕рдорд╛рдЪрд╛рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдЫрд╡рд┐рдпрд╛рдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЬрдмрдХрд┐ рд╣рд░ рдХреЛрдИ рдЪрд┐рддреНрд░ рдФрд░ srcset рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ:
 <div style="width: 240px"> <div class="delayed-image-load" data-src="http://example.com/assets/{width}/imgr{pixel_ratio}.png" data-alt="alternative text"></div> </div> <script> new Imager({ availableWidths: [200, 260, 320, 600] }); </script> 


Textillate.js


рдпрд╣ jQuery рдкреНрд▓рдЧрдЗрди рдХрдИ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рддрд░реАрдХреЛрдВ рд╕реЗ рдкрд╛рда рдХреЛ рдЪреЗрддрди рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ animate.css рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
 $('.tlt').textillate({ // the default selector to use when detecting multiple texts to animate selector: '.texts', // enable looping loop: false, // sets the minimum display time for each text before it is replaced minDisplayTime: 2000, // sets the initial delay before starting the animation // (note that depending on the in effect you may need to manually apply // visibility: hidden to the element before running this plugin) initialDelay: 0, // set whether or not to automatically start animating autoStart: true, // custom set of 'in' effects. This effects whether or not the // character is shown/hidden before or after an animation inEffects: [], // custom set of 'out' effects outEffects: [ 'hinge' ], // in animation settings in: { // set the effect name effect: 'fadeInLeftBig', // set the delay factor applied to each consecutive character delayScale: 1.5, // set the delay between each character delay: 50, // set to true to animate all the characters at the same time sync: false, // randomize the character sequence // (note that shuffle doesn't make sense with sync = true) shuffle: false, // reverse the character sequence // (note that reverse doesn't make sense with sync = true) reverse: false, // callback that executes once the animation has finished callback: function () {} }, // out animation settings. out: { effect: 'hinge', delayScale: 1.5, delay: 50, sync: false, shuffle: false, reverse: false, callback: function () {} }, // callback that executes once textillate has finished callback: function () {} }); 


рдЕрдВрдд рдореЗрдВ:




рдкрд┐рдЫрд▓рд╛ рд╕рдВрдЧреНрд░рд╣ (рдЕрдВрдХ 9)

рдореИрдВ рдХрд┐рд╕реА рднреА рдЯрд╛рдЗрдкреЛрд╕ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдорд╛рдБрдЧрддрд╛ рд╣реВрдБред рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ - рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдореЗрдВ рд▓рд┐рдЦреЗрдВред

рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред

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


All Articles