Narzędzia takie jak Grunt i Gulp są coraz częściej wypierane z użycia przez swojego następce, webpacka. Wynika to z prostego powodu – w kwestii pakowania assetów rozwiązuje on domyślnie wiele problemów, z którymi tamte narzędzia radzą sobie gorzej. Ta prezentacja omawia te zagadnienia i pokazuje jak skonfigurować webpacka od zera.
Hugo - make webdev fun againMarcin GajdaNowe, potężne narzędzia do tworzenia stron internetowych pojawiają się niemal codziennie. My w zespole postanowiliśmy jednak cofnąć się o krok i postawić na to co proste, ale użyteczne. Efekt? Korzyści dla zespołu i dla klienta. Podczas prezentacji opowiem o tym, co zyskaliśmy oraz wprowadzę słuchaczy w świat Hugo – nowoczesnego generatora stron statycznych.
Websockety w PHPThe Software HouseAdrian Chlubek: Czy PHP jest gotowy na websockety? Czy architektura samego języka nie stoi na przeszkodzie? Zobaczymy jakie mamy możliwości pracy z Websocketami, porównamy trzy popularne rozwiązania umożliwiające taką komunikację, a następnie odpowiemy sobie na pytanie – czy to ma sens?
Błędy userów, niedoróbki koderówArkadiusz StęplowskiPrzegląd popularnych błędów popełnianych podczas tworzenia i prowadzenia bloga na silniku WordPress
Devbox - wirtualne środowisko pracyMarek BleschkeOpis rozwiązania budowania wirtualnego systemu do pracy developerskiej. Oparte na Vagrancie, VirtualBox i Puppet.
Service workers - bądź online, nawet kiedy jesteś offline!The Software HouseTomasz Wylężek: Nazwa Service Workery na pewno niejednemu z nas kojarzy się z Web Workerami, dla których w większości aplikacji nie ma zbyt dużego zastosowania. Czy SW to tak samo mało pożyteczny "Worker", czy może krok milowy w rozwoju przeglądarek? Na prezentacji omówię podstawy Service Workerów i postaram się odpowiedzieć na wyżej zadane pytanie.
Mongodb with RailsSebastian NowakFirst presentation from Trójmiasto Ruby Users Group.
Primary information about MongoDB and using it with Rails & MongoMapper.
Automatyzacja tworzenia maszyn wirtualnych Magdalena WojnarowskaWomen in Technology PolandCzy uważacie że przygotowanie szablonu nowej maszyny wirtualnej wymaga dużo czasu? Nie jest to prawdą. Ta prezentacja pozwoli wam na zapoznanie się z procesem tworzenia maszyn wirtualnych z wykorzystaniem Packera. Jest to opensourceowe narzędzie do przygotowywania obrazów na vagranta lub szablonów maszyn wirtualnych dla różnych hypervisorów np. VMware ESXi/Fusion, Virtualbox, KVM itd. Pokaże jak działa Packer, jak napisać własne skrypty oraz pliki konfiguracyjne.
Magdalena Wojnarowska - 15.10 Katowice Women In Technology
Sekrety magicznego ogrodu DockerKamil GrabowskiDocker jest wspaniałą technologią. Przy pomocy Dockera w prosty sposób możemy rozwiązać jeden problem, a na jego miejsce stworzyć dwa inne, nowe, bardziej skomplikowane... Co jest powodem takiego stanu rzeczy? Czy przyczyną jest architektura Dockera? Brak zrozumienia? A może coś więcej?
PHP@Docker - w produkcjiMarcin KurzynaPrezentacja będzie zawierała luźne anegdoty i doświadczenia z używania kontenerów dockera w produkcji, również do hostowania aplikacji PHP. Sposoby budowania kontenerów, typowe problemy deploymentu.
Czym jest webpack i dlaczego chcesz go używać?Marcin GajdaPodczas tworzenia frontendu aplikacji internetowych często odkrywamy, że nasza baza kodu JavaScript dość szybko się rozrasta i lawinowo przybywa nam zależności. Oczywistym rozwiązaniem wydaje się wtedy dzielenie kodu na mniejsze moduły, ale jak to robić mądrze? Tu z pomocą przychodzi nam webpack. Podczas tej prezentacji dowiemy się, w jaki sposób działa to narzędzie, jak konfiguruje się w nim kompilację assetów oraz jakie dodatkowe możliwości ono w sobie kryje.
Flexbox - rewolucja w świecie pudełekMarcin GajdaTam gdzie standardowy model blokowy nie wystarcza, tam z pomocą przychodzą nam elementy typu flexbox. Przyjrzyjmy się więc możliwościom, jakie daje użycie "elastycznych pudełek" do tworzenia widoków na urządzenia mobilne.
Devbox - wirtualne środowisko pracyMarek BleschkeOpis rozwiązania budowania wirtualnego systemu do pracy developerskiej. Oparte na Vagrancie, VirtualBox i Puppet.
Service workers - bądź online, nawet kiedy jesteś offline!The Software HouseTomasz Wylężek: Nazwa Service Workery na pewno niejednemu z nas kojarzy się z Web Workerami, dla których w większości aplikacji nie ma zbyt dużego zastosowania. Czy SW to tak samo mało pożyteczny "Worker", czy może krok milowy w rozwoju przeglądarek? Na prezentacji omówię podstawy Service Workerów i postaram się odpowiedzieć na wyżej zadane pytanie.
Mongodb with RailsSebastian NowakFirst presentation from Trójmiasto Ruby Users Group.
Primary information about MongoDB and using it with Rails & MongoMapper.
Automatyzacja tworzenia maszyn wirtualnych Magdalena WojnarowskaWomen in Technology PolandCzy uważacie że przygotowanie szablonu nowej maszyny wirtualnej wymaga dużo czasu? Nie jest to prawdą. Ta prezentacja pozwoli wam na zapoznanie się z procesem tworzenia maszyn wirtualnych z wykorzystaniem Packera. Jest to opensourceowe narzędzie do przygotowywania obrazów na vagranta lub szablonów maszyn wirtualnych dla różnych hypervisorów np. VMware ESXi/Fusion, Virtualbox, KVM itd. Pokaże jak działa Packer, jak napisać własne skrypty oraz pliki konfiguracyjne.
Magdalena Wojnarowska - 15.10 Katowice Women In Technology
Sekrety magicznego ogrodu DockerKamil GrabowskiDocker jest wspaniałą technologią. Przy pomocy Dockera w prosty sposób możemy rozwiązać jeden problem, a na jego miejsce stworzyć dwa inne, nowe, bardziej skomplikowane... Co jest powodem takiego stanu rzeczy? Czy przyczyną jest architektura Dockera? Brak zrozumienia? A może coś więcej?
PHP@Docker - w produkcjiMarcin KurzynaPrezentacja będzie zawierała luźne anegdoty i doświadczenia z używania kontenerów dockera w produkcji, również do hostowania aplikacji PHP. Sposoby budowania kontenerów, typowe problemy deploymentu.
Czym jest webpack i dlaczego chcesz go używać?Marcin GajdaPodczas tworzenia frontendu aplikacji internetowych często odkrywamy, że nasza baza kodu JavaScript dość szybko się rozrasta i lawinowo przybywa nam zależności. Oczywistym rozwiązaniem wydaje się wtedy dzielenie kodu na mniejsze moduły, ale jak to robić mądrze? Tu z pomocą przychodzi nam webpack. Podczas tej prezentacji dowiemy się, w jaki sposób działa to narzędzie, jak konfiguruje się w nim kompilację assetów oraz jakie dodatkowe możliwości ono w sobie kryje.
Flexbox - rewolucja w świecie pudełekMarcin GajdaTam gdzie standardowy model blokowy nie wystarcza, tam z pomocą przychodzą nam elementy typu flexbox. Przyjrzyjmy się więc możliwościom, jakie daje użycie "elastycznych pudełek" do tworzenia widoków na urządzenia mobilne.
Webpack integrationIllia ZubПодводные камни, костыли и полученный опыт.
В первую очередь, рассказ ориентирован на тех, кто хочет заменить сборку Грантом или Гальпом на вебпак. Я рассмотрю тонкости настройки и необычные проблемы, с которыми мы столкнулись, ибо стандартные ситуации хорошо описаны на просторах интернета.
Hey webpackAndrew MakarowThis document provides an overview of Webpack and its capabilities for bundling assets and code splitting. It discusses Webpack's flexibility in configuration, support for different module systems, extensive ecosystem of plugins, and ability to hot reload code changes. It also covers using loaders, the development server, extracting CSS, code splitting, aliases and multiple builds. Resources for learning more about Webpack are provided.
Как Webpack сделал меня счастливееYaroslav Serhieiev#KharkivJS 2015, Харьков
- Мои впечатления от Webpack.
- Рассказ о его принципах работы.
- Интересные фишки Webpack 1 и 2.
- Что еще есть аналогичного и выводы.
Webpack DevTalkAlessandro BelliniThis document provides an overview and introduction to Webpack. It begins by establishing some ground rules and an agenda. It then discusses what prompted the creator to start using Webpack and how it works as an "assets crawler and bundler". The rest of the document covers the key aspects of Webpack like its configuration file, loaders and plugins, and how it can be integrated with other tools. Code examples are provided and questions are welcomed from the audience.
Современный фронтенд за 30 минут.Vladimir MalykSamaraJS 2015.
Современный фронтенд за 30 минут. От простого к сложному: jquery, backbone, underscore/lodash, marionette, bower, requirejs, npm, commonjs, browserify, grunt/gulp, boilerplate, yeoman, webpack, es6/es7, jspm
Webpack Tutorial, Uppsala JSEmil ÖbergPresentation from UppsalaJS, November 3, 2016.
Together we built a Javascript app and explored many parts of Webpack and how we can use Webpack to create production ready code as well as use it to help with our development.
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...JSibКирилл Кайсаров рассказывает о сборщике Webpack и фреймворке Vue.js.
WebpackRaymond McDermottWebpack is an advanced module bundler that can customize an application's needs through loaders, plugins, and configurations. It allows for code splitting, multiple entries, and production optimizations to improve performance and integrations. Resources for learning more about webpack include documentation on their website and GitHub as well as tutorials on medium and other sites.
DotNet MVC and webpack + Babel + reactChen-Tien Tsaihttps://github.com/blackie1019/ReactNetDemo
This is a sample for demo how to use .Net MVC5 + Webpack + React + Babel to build Web Application
Magento Meetup Wrocław 6. "Venia Storefront Concept", Piotr Makowski VIRTUAMagento Meetup WrocławO koncepcie Venia Storefront w Magento opowiadał podczas 6. edycji Meetupu Piotr Makowski - Senior Frontend Developer i Certyfikowany Magento Frontend Developer z VIRTUA
Optymalizacja aplikacji ASP.NETBartlomiej ZassPrezentacja opisuje różne techniki optymalizacji aplikacji ASP.NET. Omawiane są role poszczególnych warstw wpływających na wydajność - od optymalizacji kodu po stronie klienta (techniki stosowane na poziomie kodu HTML i JavaScript) przez różne poziomy stosowania cache, wybrane ustawienia konfiguracyjne IIS aż po same techniki optymalizacji na poziomie kodu ASP.NET.
Joomla Day Poland 15 - DockerLukas LesniewskiJak wykorzystać "kontenerowanie" aplikacji, tj. spakowanie zarówno kodu, jak i konfiguracji oraz wysłać to na serwer? Docker umożliwia zrobienie tego szybko i bez potrzeby wirtualizacji nowego środowiska w postaci systemu operacyjnego.
Automatyzacja utrzymania jakości w środowisku PHPLaravel Poland MeetUp#LaravelPoznanMeetup #16 online
Temat: Automatyzacja utrzymania jakości w środowisku PHP
Autor: Krzysztof Rewak
Optimizing Drupal Performance (Polish)Timur KamaninThese are slides for my talk at second meetup of Drupal Trojmiasto Group (http://3drupal.pl/) The topic is: Optimizing Drupal Performance. Basic practices. (Polish version)
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...The Software HouseNiezależnie od tego, czy jesteście developerami, sysadminami, czy też DevOps Engineers – prawie na pewno mieliście doświadczenie z webowymi panelami dostawców usług infrastrukturalnych takich jak AWS, GCP czy też OVH. Z poziomu tych paneli da się “wyklikać” wszystko, czego potrzeba, ale… czy aby na pewno tędy droga? Środowiskiem bardziej naturalnym dla każdego inżyniera jest wszakże edytor tekstu (czy też IDE) oraz różnorakie polecenia wydawane komputerowi w formie skryptów. Czemu by więc z tego nie skorzystać? Jeśli od klikania bez możliwości pomyłki boli Was ręka, zainwestuj w podkładkę pod mysz… ale przede wszystkim wpadnij na prelekcję Piotra, na której to opowie o założeniach podejścia IaC, jego zaletach oraz przedstawi najpopularniejsze narzędzia.
Ansible w praktyceKamil GrabowskiWykład ze styczniowego spotkania grupy UW@IT pt. "Ansible w praktyce".
Ansible jest narzędziem wykorzystywanym do automatyzacji codziennych działań związanych z tworzeniem oraz utrzymaniem infrastruktury IT.
Google App Engine i Google Play Services w Twoich aplikacjach3campJacek Kwiecień - Schibsted Tech Polska - Google App Engine i Google Play Services w Twoich aplikacjach
GCP & WordpressFly on the cloudPrezentacja na temat możliwości hostowania stron www w Wordpressie przy użyciu Google Cloud Platform. Dowiesz się jak dobrać usługę w zależności od rozmiaru i funkcjonalności Twojej strony internetowej.
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...PROIDEAPrelekcja poprzez szybkie nakreślenie architektury platformy Openshift omawia rozwiązania wykorzystane do zabezpieczenia aplikacji działających na kontenerach zarządzanych przez samą platformę. Podczas ich opisu szczególna uwaga zwracana jest na zagadnienia związane z ruchem sieciowym, które mogą mieć istotne znaczenie przy osadzaniu na niej aplikacji usługowych branży telekomunikacyjnej. 1. Wprowadzenie do architektury sieciowej platformy Openshift 2. Wyjaśnienie poprzez jakie mechanizmy architektura Openshift zapewnia bezpieczeństwo oraz integralność aplikacji na niej osadzonych a) separacja na poziomie sieciowym b) separacja na poziomie dostępu do zasobów systemowych oraz dyskowych 3. Sposoby kontroli oraz zabezpieczeń ruchu sieciowego pomiędzy aplikacjami osadzonymi na kontenerach (Istio/Service mesh)
12. Loadery
module.exports = {
//...
module: {
loaders: [
{ test: /.coffee$/, loader: 'coffee-loader' }
]
}
};
webpack.config.js
Loadery to małe moduły, które przetwarzają wskazane im
pliki i zwracają je w formie, która może zostać
zapisana lub ulec dalszemu przetwarzaniu przez następne
loadery.
npm install coffee-script coffee-loader --save
21. var ExtractTextPlugin = require("extract-text-webpack-plugin");
module.exports = {
//...
plugins: [
new ExtractTextPlugin("styles-[name].css", {allChunks:true})
],
module: {
loaders: [
//...
{ test: /.scss$/, loader: ExtractTextPlugin.extract(["css", "sass"], {publicPath: ''}) }
]
}
};
webpack.config.js
Wtyczki to moduły, które pozwalają na wykonanie
dodatkowych czynności podczas działania skryptu
webpacka. Mogą dodawać pliki, usuwać je lub
ponownie przetwarzać.
Ekstrakcja CSS
22. Wspólne fragmenty kodu
var webpack = require('webpack');
module.exports = {
//...
plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: 'common',
filename: 'common.js',
chunks: ['user', 'admin']
}),
//...
]
};
webpack.config.js
23. Inne przydatne wtyczki
- UglifyJsPlugin - używa biblioteki UglifyJS by zmniejszyć rozmiar plików
- DefinePlugin - dorzuca stałe do naszego JavaScript
- ProvidePlugin - automatycznie importuje moduły na podstawie zmiennych
- CleanupPlugin - czyści folder na kompilowane pliki przed emisją nowych
- AssetsPlugin - zrzuca do pliku JSON informacje o wyemitowanych plikach,
które należy dołączyć do dokumentu HTML
24. Inne przydatne wtyczki
- UglifyJsPlugin - używa biblioteki UglifyJS by zmniejszyć rozmiar plików
- DefinePlugin - dorzuca stałe do naszego JavaScript
- ProvidePlugin - automatycznie importuje moduły na podstawie zmiennych
- CleanupPlugin - czyści folder na kompilowane pliki przed emisją nowych
- AssetsPlugin - zrzuca do pliku JSON informacje o wyemitowanych plikach,
które należy dołączyć do dokumentu HTML
{
"user": {
"js": "compiled/user-bundle.js",
"css": "compiled/styles-user.css"
},
"admin": {
"js": "compiled/admin-bundle.js"
},
"common": {
"js": "compiled/common.js"
}
}
28. Hot module reload
webpack-dev-server --inline --hot
if(module.hot) {
module.hot.accept("./some/module", function() {
var lib = require('./some/module);
lib.removeFromWebsite();
lib.addToWebsite();
});
}
29. Podsumowanie
Dlaczego chcesz używać webpacka?
- Potrzebujesz skalowalności w projekcie
- Masz duży projekt z dużą ilością wspólnych zależności
- Chcesz łatwo skonfigurować transpilację
- Lubisz porządek w zależnościach
- Nie lubisz zmiennych globalnych
A dlaczego nie chcesz?
- Masz istniejący projekt, który będzie trzeba migrować
- Bo naprawdę potrzebujesz task-runnera, a nie bundlera ;)