├── 2019 ├── modern-js-testing-with-jest-and-cypressio │ └── README.md ├── tc39-ama │ └── README.md ├── sign-language-mini-session │ └── README.md ├── apprenticeship-program │ └── README.md ├── js-doc-and-others │ └── README.md ├── rollup-code-splitting-and-ama │ └── README.md ├── technical-seo │ └── README.md ├── teaching-beginners │ └── README.md ├── atlassian-plugin-system │ └── README.md ├── plugin-and-extension-systems │ └── README.md └── README.md ├── .github ├── CONTRIBUTING.md └── ISSUE_TEMPLATE.md └── README.md /2019/modern-js-testing-with-jest-and-cypressio/README.md: -------------------------------------------------------------------------------- 1 | # Modern JS testing with Jest and cypress.io 2 | by [Robert // @rhosts](https://twitter.com/rhosts) 3 | 4 | Robert put up his [slides on modern frontend testing](https://www.slideshare.net/secret/a0TU1F3TppLCkq) 5 | -------------------------------------------------------------------------------- /2019/tc39-ama/README.md: -------------------------------------------------------------------------------- 1 | # TC39 AMA 2 | by [Daniel Ehrenberg // @littledan](https://twitter.com/littledan) 3 | 4 | - 6 meetings per year, 3 days every two months 5 | - Meetings consist of about 40-60 people with some people joining in remotely 6 | - Ecma costs a fee, then you can bring people to TC39 7 | - Leaving TC39 might cause trouble regarding IP 8 | -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to the [JS Kongress 2017](https://2017.js-kongress.de/) In-Deep Track 2 | 3 | Thank you for taking the time to contribute! :tada::+1: 4 | 5 | The following is a set of guidelines for contributing to JS Kongress 2017 In-Deep Track. These are just guidelines, not rules, use your best judgment and feel free to propose changes to this document in a pull request. 6 | 7 | 8 | ## How To Contribute 9 | TBD -------------------------------------------------------------------------------- /2019/sign-language-mini-session/README.md: -------------------------------------------------------------------------------- 1 | # Sign language mini-session 2 | 3 | Christian (the sign language translator) shared a few insights about sign language after the closing. 4 | 5 | - Different languages have different sign languages 6 | - British and american sign languages are completely different 7 | - You can "write" with letters in sign language 8 | - Babies can "talk" earlier by using sign language instead of speaking. Teach your kids by using sign language in order 9 | to understand their needs before they are able to talk 10 | - You can visit VHS courses to learn or ask at one of the few universities that have a 11 | -------------------------------------------------------------------------------- /2019/apprenticeship-program/README.md: -------------------------------------------------------------------------------- 1 | # Apprenticeship program at HolidayCheck 2 | by [Wolfram Kriesing // @wolframkriesing](https://twitter.com/wolframkriesing) 3 | 4 | - Duration is about 4-18 months, based on the experience level and how long they should learn 5 | - Scheduled reserved time for mentor is necessary 6 | - Everyone is and learns differently! 7 | - For example, use 2 month learning, 2 month internal and 2 months working on customer project 8 | - Mentor is more a guide, not fixed schedule learning 9 | - Mentors are volunteers 10 | - Match mentor with apprentice during the interview process 11 | - 1:1 always, try not to have multiple apprentices per mentor 12 | -------------------------------------------------------------------------------- /2019/js-doc-and-others/README.md: -------------------------------------------------------------------------------- 1 | # JS Doc and others 2 | 3 | by [Philip // @cowglow](https://twitter.com/cowglow/) 4 | 5 | The goal was to interact developer who have used JS Doc or other documentation tools 6 | 7 | ## Discussion 8 | 9 | **Why use JS Doc?** 10 | - To not be `that.guy` 11 | - Enable me and other developers to contextualize code 12 | - To generate API documentation for delivery of software 13 | 14 | **Example of usage** 15 | - Annotations on JavaScript Class 16 | ``` 17 | /** 18 | * Method name 19 | * @param {string} $var1 - Variable one 20 | * @param {number} $var2 - Variable two 21 | */ 22 | ClassName.prototype.methodName($var1, $var2) ... 23 | ``` 24 | - Annotations to generate API 25 | One of the participants shows us how he is using JS Doc to generate documentation for this software written in JAVA 26 | He included example on his JS Doc blocks. Which was really interesting to see, how JS Doc can still be used for a 27 | project that isn't necessarily written in JavaScript. 28 | 29 | **Take aways** 30 | - It's always better to start with documentation from the start of the project 31 | - JS Doc templates seem to be hard to understand and JS Doc's out of the box template isn't idea for usage 32 | - Additional configuration is needed -------------------------------------------------------------------------------- /2019/rollup-code-splitting-and-ama/README.md: -------------------------------------------------------------------------------- 1 | # Rollup code-splitting and AMA 2 | 3 | by [Lukas Taegert-Atkinson](https://twitter.com/lukastaegert/) 4 | 5 | There is a nice blog post explaining code splitting in RollupJS: 6 | https://levelup.gitconnected.com/code-splitting-for-libraries-bundling-for-npm-with-rollup-1-0-2522c7437697 7 | 8 | - Tree shaking is shown in the Rollup REPL, especially problems that occur when using multiple entry points 9 | - Rollup is hashing the code without its imports and exports. 10 | - web worker shares code with main, shared code should be in a new module 11 | 12 | ## Performance issues 13 | 14 | Rollup received some criticism for its performance. 15 | 16 | - Caching in Webpack works because scope hoisting is not used. 17 | - Transformations are cached. Webpack assumes pure loaders. 18 | - Hashing of full text is done in Webpack so it does not re-run code generation when nothing changed. 19 | - There is a chunk to chunk-hash map in Webpack that makes it able to just re-build the files / chunks that really 20 | changed. 21 | 22 | ## Impression of parcel from the view of Rollup and Webpack 23 | 24 | Zero config does not work. Presets might be the best compromise between having approachable configurations and the full 25 | flexibility of today where everybody needs to understand how webpack works before getting into it. 26 | -------------------------------------------------------------------------------- /2019/technical-seo/README.md: -------------------------------------------------------------------------------- 1 | # Technical SEO 2 | by [Martin // @g33konaut](https://twitter.com/g33konaut/) 3 | 4 | - Share state with hashes: It is always ignored. Do not use hash based routing as it's a hack. 5 | - Googlebot: Over 130.000.000.000.000 URLs found. 6 | - Crawl -> Processing -> Maybe rendering. The steps may be called "eventually". But it might take DAYS for pages that do 7 | not usually change that often. 8 | - Dynamic rendering vs. static rendering: Google does not have to render always and get 9 | you in the index faster. 10 | - When doing static rendering, you usually have the site faster in the index. 11 | - Having JavaScript render the site or static html does not make a difference in ranking. 12 | - Lighthouse should be a neutral thing. No Google specifics in there yet. 13 | - Rendering time does not affect page rank or at least is only a tie-breaker 14 | - Rendering: What JS version? Will it understand script modules? 15 | - Googlebot is using Chrome 41, Released 2015, 4 years old. Use ES5! 16 | - They want to create a infrastructure that catches up a lot quicker. 17 | - Puppeteer is a direct result of that effort 18 | - How long will it wait for JS to finish / process JS? 19 | - Having title and descriptions the same on each page is a bad idea 20 | - You can use g.co/mobilefriendly -> Check the HTML, what is going to be in there / indexed. 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 12 | **Session Title:** 13 | 14 | 15 | **Session Abstract:** 16 | 17 | 18 | **Approximate Duration:** 19 | 20 | 21 | **Your Name*:** 22 | 23 | **Your Twitter handle*:** 24 | 25 | 26 | **Requirements:** 27 | 28 | [ ] No 29 | [ ] Yes => Please share what do you need. 30 | 31 | **Complexity:** 32 | 33 | [ ] Advanced 34 | 35 | [ ] Intermediate 36 | [ ] Beginner 37 | 38 | **Other information:** 39 | -------------------------------------------------------------------------------- /2019/teaching-beginners/README.md: -------------------------------------------------------------------------------- 1 | # Teaching how to code 2 | 3 | by [Alexandre Gomes](https://twitter.com/alexgomesdev) 4 | 5 | ## His journey of learning 6 | 7 | - studied English literature, went with bootcamps, ... 8 | - Wrote code on the side, then used courses, schools, bootcamps to change to a developer. 9 | - "Founders and coders" - Learn Node, get a job 10 | - The problem was more like you have one single technology and learn just the one they were using in the bootcamp / 11 | course, without getting a deep understanding of the concepts 12 | 13 | ## His proposed approach would look like 14 | 15 | 1. Teach the core concepts of the web 16 | 2. Teach HTML and CSS 17 | 3. Introduce programming 18 | 4. Interact with DOM 19 | 5. What is an SPA 20 | 6. Use React 21 | 22 | A story was shared about a new React Developer who did not understand the underlying concepts and had trouble 23 | understanding how other technologies worked because of that. 24 | 25 | ## Discussion / opinions about it / what others shared 26 | 27 | - "We don't hire frontend developers" - it's better to have people understand the core concepts 28 | - You should be able to tell if someone fits a lot faster than having them for six months 29 | - Technology should always be teached with core concepts 30 | - Online trainings or friends to learn? Online learning is better to begin with. In-person training is something to 31 | speed it up. Proper guidance helps to know what to learn next. 32 | - Learning more as a beginner: Follow tutorials or build something on your own? "Coding is the easy part." - Getting 33 | creative and code something on your own is harder. 34 | - Isn't it "demotivating" when you cannot see something getting done? You have to find the middle ground between how 35 | much concepts you need to build something 36 | -------------------------------------------------------------------------------- /2019/atlassian-plugin-system/README.md: -------------------------------------------------------------------------------- 1 | # Atlassian plugin system 2 | 3 | by [Chris Darroch](https://twitter.com/chrisdarroch/) 4 | 5 | Atlassian has 4000+ Apps in the marketplace, making it quite successful even if the API has limitations. 6 | 7 | - APIs 8 | 9 | - first version in 2004 10 | - v2 2008 11 | - "Connect" 2014 12 | - all APIs are still available / in production 13 | 14 | - Limitations 15 | 16 | - We are behind a firewall 17 | - We don't host the environment 18 | - We can't guarantee HTTPS 19 | - We can't guarantee environment support (node version, ...) 20 | - We support multiple environment dependencies (>240 characters in URLs may be problematic due to some) 21 | - We don't control all source for all features. 22 | 23 | - Using GraphQL might cause problems for API stability / versioning... 24 | 25 | - Apps are in-process 26 | 27 | - Front end plugin primitives: web-fragments (outputs HTML fragments) and web-resources (bundles of assets) 28 | - Web resources format is like a chunk. Having dependencies in the web-resource XML metadata might make you have to 29 | declare your dependencies twice. Once in XML, once in your JavaScript. It is to keep the files you need in 30 | co-location. 31 | - There is a small wrapper around `require` to load all files necessary for a plugin. That kind of bundling has to be 32 | maintained by Atlassian. 33 | 34 | ## Technical lessons learned 35 | 36 | - Always have explicit dependencies for everything. Having jQuery there implicitly, it's hard to get it out again. Also 37 | everything that is a side-effect, have it as a dependency. 38 | - Care about when code runs. 39 | - Limit the scope that plugin code can affect. 40 | - Care about what you expose to plugins. (www.hyrumslaw.com) 41 | - Share at build-time, not runtime. Manifest file should not be manually edited (it would be nice to have for ) 42 | - Hope for good code; plan for bad code. You have to struck a balance between limiting it and flexibility. 43 | - Developers want to be lazy. Embrace and enable that. Having perfect security will cause performance issues 44 | -------------------------------------------------------------------------------- /2019/plugin-and-extension-systems/README.md: -------------------------------------------------------------------------------- 1 | # Plugin and extension systems 2 | 3 | [Original session proposal: plugins and extension systems](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/25) 4 | by [Joern // NarigoDF](https://twitter.com/NarigoDF/) 5 | 6 | The main motivation stems from letting users extend your product. It helps keeping the core smaller and maintainable and 7 | you could use plugins to create a community around your product if you allow sharing of them. 8 | 9 | ## Discussion 10 | 11 | **Would it be nice, to allow asynchronous instantiation of plugins?** 12 | 13 | My impression was that you wouldn't be able to use the (synchronous) CLI and in user code this leads to some 14 | boilerplate. Two things were mentioned: 15 | 16 | 1. Is that a feature that really should be supported if you know already that it's possible to do? 17 | 2. You can have the hooks be asynchronous, so if the plugin is not done instantiation until the first hook is called, it 18 | could just wait for the promise to finish. 19 | 20 | **How to handle dependencies between plugins?** 21 | 22 | Code them side-effect-free. This is not always possible and it's hard to solve at all, especially if some kind of 23 | transformation is involved. It would be a good idea to have a look at the `eslint fix` functionality or how babel solves 24 | that problem. 25 | 26 | **Possibility to run plugin hooks in parallel?** 27 | 28 | Yes, you can have async hooks and you can pass that info over when registering your hook. Also if you want to say that 29 | plugins may run in parallel or need to be run asynchronous but sequentially could be told there. 30 | 31 | **Security issues? Untrusted code? In Web: Use of iframes sufficient?** 32 | 33 | Workers or iframes would isolate untrusted code. This comes with a performance penalty, so you might want to check what 34 | your level of trust should be for your product. Depends on the user. For best security, you should not only isolate the 35 | code, but make sure to have it in separate processes. Whitelisting usually does not work as there are always some 36 | escapes. 37 | 38 | **Possibility to have a system that you can hook in your tool to provide plugin/extension functionality?** 39 | 40 | Webpack open sourced their plugin system: It's called [Tapable](https://github.com/webpack/tapable) and can be used in 41 | other projects as well. 42 | -------------------------------------------------------------------------------- /2019/README.md: -------------------------------------------------------------------------------- 1 | # JSKongress #DeepTrack 2019 2 | 3 | The #deeptrack is an "open space" / "unconference" / "bar camp". That means the schedule is not set at the beginning and 4 | all attendees get to propose and moderate a session they want. The sessions can be anything: Some people have a talk 5 | prepared, which they had already given or want to test-drive on a smaller group of people. Another session might be a 6 | general discussion about a technical approach you seek feedback to from people who already went that route and can tell 7 | you up front what works and what doesn't. Hear about war stories, have a group therapy, join or start a casual 8 | conversation about whatever topic you like. 9 | 10 | It's purpose is to provide a setting where you can hear and share experiences. Use it to find hidden gems of knowledge 11 | you would have never expected to get at a conference. At the JSKongress you are able to meet the creators of the tools 12 | you use everyday and can directly ask questions why they created it the way they did. You might even be able to 13 | contribute new ideas they are going to implement thanks to your input! 14 | 15 | To get the most out of it: Take notes. Share your new insights with other people. Grow together and move the community 16 | forward. Thanks for everybody contributing sessions, taking notes and sharing insights! 17 | 18 | ## Day 1 / 11.03.2019 19 | 20 | | **Time** | **Room 1** | **Room 2** | **Room 3** | **Room 10** | **Room 8** | **Room 5** | 21 | | -------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------- | ----------------------------------- | ----------------------------------------------- | 22 | | 11:30 | **Marketplace** | | | | | | 23 | | 12:00 | | WeakRefs (@marjakh @v8js) | | | On-premises packaging group therapy | | 24 | | 12:30 | [Plugin and extension systems](./plugin-and-extension-systems/) (@NarigoDF) | | | BigInt (?) | | | 25 | | 13:00 | **Lunch** | | | | | | 26 | | 14:00 | | Top-level await What's blocking it? async in ESM evaluation (@jhnnns @wSokra) | [Apprenticeship "Get payed to learn"](./apprenticeship-program/) (@wolframkriesing) | | | | 27 | | 14:30 | | Untangling crash stacks w/ pasta (@lilitdarbinyan / Bloomberg) | webpack - Core or not core? (@wSokra) | | | Discussion: Large Scale Angular2+ SPA (@look_u) | 28 | | 15:00 | Decorators (@littledan) | | AMA webpack (@jhnnns @wSokra) | | | | 29 | | 15:30 | **Break** | | | | | | 30 | | 16:00 | | [No code-duplication - no runtime - Code-splitting -> Rollup AMA](./rollup-code-splitting-and-ama/) (@lukastaegert) | | | | | 31 | | 16:30 | | | WebAssembly ESM modules (@littledan) | | | | 32 | | 17:00 | **Closing** | | | | | | 33 | 34 | ## Day 2 / 12.03.2019 35 | 36 | | **Time** | **Room 1** | **Room 2** | **Room 3** | **Room 10** | **Somewhere else** | 37 | | -------- | ----------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | 38 | | 11:30 | **Marketplace** | | | | | 39 | | 12:00 | AMA v8js (@tverwaes, @bmeurer) | Top-level await reprise (@littledan) | [Modern JS Testing with Jest and cypress.io - testing is fun again!](./modern-js-testing-with-jest-and-cypressio) (@rhosts) | | | 40 | | 12:30 | | Optimize script loading (@mathias @v8js) | | [Teaching how to code: We got it all wrong!](./teaching-beginners/) (@alexgomesdev) | | 41 | | 13:00 | **Lunch** | | | | | 42 | | 14:00 | AMA Atlassian (@Nadia_jsdev) | Surfacing engine signals in v8js (@bmeurer) | [Atlassians plugins: lessons learned](./atlassian-plugin-system/) (@chrisdarroch) | | | 43 | | 14:30 | Is Chromes "monopoly" good for the Internet / Discuss | Value types (@littledan) | [What the ... Technical SEO (Ask me anything!)](./technical-seo/) (@g33konaut) | | | 44 | | 15:00 | HTML / CSS Modules (@jhnnns) | [JS Doc and others](./js-doc-and-others) (@cowglow) | AMA WASM (+V8) (@titzer) | | | 45 | | 15:30 | NO bundlers (@wolframkriesing) | | | | | 46 | | 16:00 | **Deep track panel discussion at main track** | | | | | 47 | | 16:30 | AMA webpack pt. 2 (@thelarkinn @jhnnns @wSokra) | [TC39 AMA](./tc39-ama/) (@littledan) | | | | 48 | | 17:00 | **Closing** | | | | [Sign language mini session](./sign-language-mini-session/) (Christian) | 49 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # JS Kongress Munich #DeepTrack: 2 | [](https://js-kongress.com/deep-track/) 3 | The DeepTrack is all about **sharing knowledge, discussing and working on all kinds of topics around JavaScript** (for example the Future of JavaScript, WebAssembly, and Tooling as well as Scaling, Modern APIs, Massive Platforms, Microservices, Architectures, Event Sourcing, Stream-oriented architectures, Cloud Native Computing and API First) and **having fun with like-minded people in a safe environment**. 4 |

5 | This is not a CFP, everybody from the community who owns a ticket has the opportunity to contribute to the #DeepTrack. 6 |

7 | This year we are making the JS Kongress again to the place for the JavaScript language interested people, the experts and core team members of various frameworks, tools and engines to discuss the Future of the language JavaScript. The overall idea is to have a creative space, to share ideas, work together, discuss and listen to each other - face to face. JS Kongress provides just enough structure to empower attendees to share their expertise. This gives our participants the opportunity to have an unfiltered exchange of innovative ideas. 8 | 9 | 10 | * * * 11 | 12 |

13 | Don’t wait to reserve your seat at JS Kongress – the event sells out every year.
14 | This is not a CFP, everybody from the community who owns a ticket has the opportunity to contribute to the #DeepTrack.
15 | Register your seat at JS Kongress 2021 16 |

17 | 18 | * * * 19 | 20 | [](https://youtu.be/1yPv0OQ5bhI) 21 | Previous contributions to the #DeepTrack have been made from TC39, v8, webpack, Google, Bloomberg, and other core team members. Watch this video [25:24 min.] to see the outcome of 2019's #DeepTrack. The panel is discussing decorators, top-level await, threads in WASM, WebAssembly and JavaScript working better together ... (click "play" for watching the video) 22 | 23 | * * * 24 | 25 | ## Who is it for? What's the plan? 26 | 27 | **We invite everyone** who wants to contribute to join us at the JS Kongress in Munich (see you again in 2021). We plan to do a **second track** (besides the [main track](https://js-kongress.com/speakers/)) in an unconference style with round tables and office hours (see [conceptual explanation](#conceptual-explanation)) on all kinds of topics around the future of JavaScript (which also includes WebAssembly and Tooling). Everyone can propose a topic related session whatever topic they’d like to discuss with other developers, experts and users. 28 | 29 | Who will join in 2020 for the #DeepTrack? (first proposals available, 2020 edition postponed) 30 | - Tobias Koppers @wSokra (founder and core team of webpack) 31 | - How to cook with RxJS by @meeroslav 32 | - Are you sure you're not a Micromanager by @yegor256 33 | 34 | ## How to contribute 35 | 36 | Unlike traditional conferences as it is on the main track, the schedule for the #DeepTrack is decided and created by the participants. Before the conference days, everybody is invited to introduce his session on [our GitHub repository](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues). **For submitting your contribution open a new issue at the [JS Kongress Github Repository](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues).** The idea is to give an introduction to your topic, tell the people about what they can expect and have a place for communication about the topic before, during and after the conference. 37 | 38 | ## Session format 39 | 40 | We strive for interactive sessions. Contributions where you want to discuss, where you want to work with others together, where you want feedback for are gladly seen. The final format is depending on the contributors wish and the number of participants to the individual proposals. This could be an unconference with a lot of participants or round tables and office hours with less participants. **The [topics from 2017 and 2019](https://github.com/JSKongress/JS-Kongress-Munich-Deep-Track/issues?q=is%3Aissue+is%3Aclosed) can be used for orientation:** 41 | 42 | * [What's coming in TC39? We want your help!](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/8) 43 | * [Lifetime of a JavaScript language feature](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/3) 44 | * [V8 startup snapshot](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/5) 45 | * [Good, predictable performance](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/6) 46 | * [Making sure that a new Chrome version does not break your website](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/7) 47 | 48 | Find all [sessions submitted for 2020 here](https://github.com/JSKongress/JS-Kongress-Munich-Deep-Track/issues) and all [previous topics and contributors here](https://github.com/JSKongress/JS-Kongress-Munich-Deep-Track/issues?q=is%3Aissue+is%3Aclosed) 49 | 50 | **Note:** This is not a CFP, everybody from the community who owns a ticket has the opportunity to contribute to the #DeepTrack. 51 | 52 | ## Location 53 | 54 | On both days of the JS Kongress we have reserved the west part of the [Alte Kongresshalle](https://2017.js-kongress.de/venue/), the so-called flat construction. There we have different rooms with different capacities. Based on the number of interests and participants the format and rooms will be assigned. 55 | 56 | ### Conceptual explanation 57 | 58 | _For getting a common understanding about the topics “Unconference”, “Round Tables”, “Office hours”_ **Unconference** An unconference is a participant-driven meeting. The agenda is created by the attendees at the beginning of the meeting. Anyone who wants to initiate a discussion on a topic can claim a time and a space. Unconferences typically feature open discussions rather than having a single speaker at the front of the room giving a talk, although any format is permitted. The participants pitch their topic ideas and define the schedule based on their interests. A facilitator will guide through the whole process. **Round Tables** Round table is a form of academic discussion. Participants agree on a specific topic to discuss and debate. It’s common to define timeboxes for that. Each person is given equal right to participate, as illustrated by the idea of a circular layout referred to in the term round table. **Office Hours** At Office Hours you’ll find experts and speakers ready to chat, help you with projects and answer questions. This is a timeboxed format. E.g. 1h per speaker/expert. 59 | 60 | * * * 61 | 62 | ## Impressions - Recap of JSK 2017 and JSK 2019 63 | For getting a better impression of the Deep Track, take a look on what happened on the first deep-track in 2017 and the second edition in 2019. Here's an overview about the Teams and the topics discussed in the deep-track: 64 | 65 | #### Participants 66 | * [Google V8](https://developers.google.com/v8/) Team: [@v8js](https://twitter.com/v8js) ([Benedikt Meurer](https://twitter.com/bmeurer), [Marja Hölttä](https://twitter.com/marjakh), [Michael Hablich](https://twitter.com/MHablich), [Mathias Bynens](https://twitter.com/mathias), ...) 67 | * Google ([Martin Splitt](https://twitter.com/g33konaut)) 68 | * webpack Core Team Members ([Tobias Koppers](https://twitter.com/wSokra) and [Johannes Ewald](https://twitter.com/Jhnnns)) 69 | * TC39 ([Daniel Ehrenberg‏](https://twitter.com/littledan)) 70 | * Mozilla ([Lin Clark](https://twitter.com/linclark)) 71 | * Rust lang Core Team–former npm Inc, nodejs, mozilla ([Ashley Williams](https://twitter.com/ag_dubs)) 72 | * Microsoft ([Brian Terlson](https://twitter.com/bterlson)) 73 | * Google Dev Expert—Formerly W3C, MSFT. INFJ ([Rachel Nabors](https://twitter.com/rachelnabors)) 74 | * Founder of compose.us ([Joern Bernhardt](https://twitter.com/NarigoDF)) 75 | * Bloomberg ([Lilit Darbinyan](https://twitter.com/lilitdarbinyan)) 76 | 77 | ![Who already confirmed to join the JS Kongress Deep Track](https://2017.js-kongress.de/wp-content/uploads/2017/10/Screen-Shot-2017-10-10-at-21.23.15.png) 78 | 79 | #### Topics discussed in 2019 80 | Here are some topics which have been discussed on JS Kongress 2019: 81 | 82 | * [[v8 team proposal] Surfacing JavaScript engine signals (i.e. optimization, deoptimization, etc.)](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/26) 83 | * [Plugins and extension systems](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/25) 84 | * [TC39 -- AMA](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/24) 85 | * [TC39 -- Immutable values, operator overloading, and custom numeric literals](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/23) 86 | * [TC39 -- What's coming with classes?](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/22) 87 | * [[v8 team proposal] AMA on V8 with @verwaest and @bmeurer](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/21) 88 | * [[v8 team proposal] JavaScript WeakRefs](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/20) 89 | * [JavaScript & SEO - opening up a black box](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/19) 90 | * [Untangling crash stacks with pasta](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/18) 91 | 92 | #### Topics discussed in 2017 93 | Here are some topics which have been discussed on JS Kongress 2017: 94 | 95 | * [Roll it up, shake it out: The future of Rollup.js](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/17) 96 | * [[V8 Team Proposal] The future of WebAssembly: Discuss current threading proposal](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/1) 97 | * [[V8 Team Proposal] The future of WebAssembly: Current thinking on integration with the DOM/JS](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/2) 98 | * [[V8 team proposal] Lifetime of a JavaScript language feature](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/3) 99 | * [[V8 team proposal] The future of WebAssembly](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/4) 100 | * [[V8 team proposal] V8 startup snapshot](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/5) 101 | * [[V8 team proposal] Good, predictable performance](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/6) 102 | * [[V8 team proposal] Making sure that a new Chrome version does not break your website](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/7) 103 | * [What's coming in TC39? We want your help!](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/8) 104 | * [[webpack team proposal] WASM from developer-perspective](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/9) 105 | * [[webpack team proposal] ESM in browsers vs bundlers](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/10) 106 | * [[webpack team proposal] Webpack build time improvements](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/11) 107 | * [[webpack team proposal] Is it a good idea to overload require()/import?](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/12) 108 | * [WebVR corner](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/13) 109 | * [[webpack team proposal] How to share non-JS stuff on NPM](https://github.com/JSKongress/JS-Kongress-Munich-In-Deep-Track/issues/14) 110 | 111 | --------------------------------------------------------------------------------