Our Experience at JsCamp Barcelona 2018

DV Team
12 min readJul 27, 2018

--

By Diana & Violeta

We were able to attend the great JsCamp Barcelona 2018 thanks to the efforts of the organizer David Pich who gave us last minute tickets! We were very happy to find out that he is very committed to make the tech field diverse and friendly, and the general atmosphere confirmed that intention!

As for the speakers, we are still learning and listening to these people speak about their visions and knowledge was very inspiring. We keep finding new possibilities to explore and learn. In this article, we share our notes about some of the talks we loved:

#JSCAMPBCN 2018: The past, the present and the future of Javascript and beyond

A place where 530 JavaScript developers from 52 different countries come together to hear the latest and greatest of Javascript and beyond from world first class JavaScript experts. That is in short what #JSCAMPBCN is about. But it is more than that, as David Pich, the organizator of JS Camp BCN 2018, says:

this is not just a conference, this is an ongoing future project.

Read what the experts foresee as the future of JavaScript and beyond.

DIVERSITY IN TECH

One of the main things, David Pich likes to see in the sector is more diversity in tech:

“Only 12% of the congress participants are women, thanks to the Diversity Program. We need a more diverse group of developers for we develop solutions for the entire society.”
-David Pich

Looking at the attending pro-minority groups sponsors like Mozilla and NPM, the diversity scholarship programs and the various female speakers give the impression, that this is not just words.

THE FUTURE IS DIGITAL

David’s introductory speech is followed up by Daniel Marco Párraga, Director of Smart Catalonia strategy of the Government of Catalonia, convinced that Barcelona is in the midst of a digital transformation, the future is digital and it needs to be citizen centered: “smarter digital development and developing software need to be used to help society improving social cohesion and meet the needs of the citizens. With JSCamp, BCN Mobile World Conference and a diverse ecosystem of 15.000 tech startups, — with companies like Zurich, Volkswagen, Nestly, Amazon, Facebook and King- Barcelona is transforming itself into the 5th Digital Hub in Europe. “Barcelona is in the midst of a digital transformation to the front-row strategy of TECH for future generations.

THE PAST AND PRESENT OF JAVASCRIPT

THE PAST, PRESENT AND FUTURE OF THE WEB
A talk by
Steve Klabnik

“The core technologies of the web -HTML, CSS and JavaScript- were build 23 years ago. The fundamental ideas remain still the same.”
-
Steve Klabnik from Mozilla.

The speaker reminded us that the web wasn’t build too long ago.

In August of 1991, the first pictureless website goes live. This is the beginning of the HyperText based-language HTML (known as the World Wide Web). Three years later (1994), Hakon Wium Lie send his first proposal to style websites: the start of the Cascading Style Sheets CSS. Followed, one year later (1995), by Brendan Eich who created JavaScript in a short amount of time.

As one of the core members of the Rust team and WebAssembly, Klabnik leads the documentation team. He believes time has come to redesign the web. Mozilla, the place he works for, is often seen as the “platform team”, yet he would rather like to see it as “the web application platform”, as the web provides a platform for developers to build applications on it. A platform consists of three layers:

  1. ISA: Instruction Set Architecture (what can the code do?)
  2. Runtime environment & its API (which syntax is recognized in the language?)
  3. Tools: to help developers build things

Steve points out the shortcomings of the web platform. “The web platform is unusual, in the sense that is was developed out of order and historically lacks a platform. Whereas other platforms were local first and later become networked based, the web platform is quite the opposite: it has always been network based and only now is becoming local.

Time has come to have offline web apps available, not only online first apps:

“The problem of the current web architecture is that it limits the kind of Apps developers can build on the web platform. The web application platform not only experiences tech limitations, but also the way it is build seriously limits the imagination of web developers.

-Steve Klabnik

Steve seriously doubts if JavaScript will be able to deal with offline web apps, as JavaScript has never been designed for the task of web platform application in the first place. It is possible to compile languages into Javascript, but this has significant drawbacks:

  1. JavaScript creates lots of overhead (to download, parse, compile and execute the code)
  2. JavaScript does not accept integers
  3. The JavaScript spec is far too complex (too big and complicated).

Previously, the web could only handle “high level tasks”, but with the invention of the Web Platform WebAssembly (WASM), the platform can handle “lower level task” as well. Web Assembly is able to:

  1. Create universal cross-platform applications (available offline).
  2. With no installation needed (no config files are needed).
  3. Enable deployment on the web for both client and server applications.

With this new tool, the web platform is closing in on offline Applications. Although JavaScript, will probably never be completely replaced, Steve foresees the future of the web being more related to Web Assembly instead of JavaScript only. “The platform is expanding, soon web apps do no longer need network applications or web pages, as associated with the web platform today. Imagine your web application to be available directly in the browser, without any need to access the internet.” Until now it is only available on the Google Chrome browser, not yet fully supported by other browsers.

KEEP BETTING ON JAVASCRIPT
A talk by
Kyle Simpson

‘Always Bet On JavaScript’

-Brendan Eich

Kyle Simpson, author of “You Don´t Know JavaScript”, evangelist of the Open Web and very passionate about JavaScript, looks back to the history of JavaScript to be able to predict its future: “It’s safe to say that JavaScript (JS) is no longer trying to prove itself. It has arrived. Even if it was once a ‘dumb kid brother’ to something like Java, it’s now fully a first class citizen in the programming language ecosystem. JS is certainly not the only dominant language or the ‘best tool’ for every situation. But increasingly, most tech stacks have it as a central part of their strategy.”

JAVASCRIPT PAST, PRESENT AND FUTURE

JavaScript has become the “lingua franca” of the web: “Javascript is not slow, sloppy, buggy, inconsistent. Instead, it is fasts evolving. It is a first class language and has its potential to be the most important language. So, JavaScript has come a far way.” says the speaker.

Yet ever since the beginning of Javascript, it has been an evolution of small baby steps: closures, strict modes, objects, extra features, promises, asynchronous, async functions and async generators have been added in a period of 23 years.

Simpson doubts if this is the right way to continue. “Are incremental, open baby steps good to continue? Only focussing on such tiny steps, without the main roadmap in sight, is not useful. As JavaScript has too many layers of abstraction and we lose sight of our view source. We are experiencing a gap between JavaScript language and JavaScript machine (the JavaScript Engine). They are starting to become two opposite galaxies.” says Kyle.

According to him the future of JavaScript is based on Open Web Technology with HTML5, CSS3 and PWA, taking into account Accessibility issues and build with open collaboration of the community. Taking into account that JavaScript and software development are all about human communication and code is about expressing ideas to other human beings, Kyle argues the need of one “human based JavaScript” to bridge the gap between “JavaScript as the language” and Javascript Engine (machine).

Web Assembly if fine, as it can take modern languages like Go and Rust to transform into machine code the JavaScript Engine can understand. It is much faster and takes less parsing (encoding) time. Yet, Web Assembly is not compatible with plain JavaScript, as Vanilla JavaScript is often called.

Kyle Simpson argues to focus on Human JavaScript instead. “Nowadays, a new learner has to figure out many different parts. We should not longer think about baby steps, but focus on the dual direction of the JavaScript language: JavaScript as a language versus JavaScript the Machine Engine. It is time to focus on human JavaScript instead.”

A TALE OF TYPES, CLASSES AND MAPS

A talk by Benedikt Meurer

Benedikt Meurer is a JavaScript compiler engineer at Google, currently involved in the V8 JavaScript engine that works with both Node.js and Chrome. In his talk he explores the most important ingredients of modern JavaScript engines and how these ingredients make it possible to write great JavaScript applications:

“JavaScript is very likely the most influential technology of our time in software engineering. A lot of this is due to the sophisticated JavaScript engines in modern browsers, Node, and Electron”.
-Benedikt Meurer

Picture: The working of a JavaScript Engine.

Although JavaScript engines have much in common among different web browsers, they differ in their optimization tiers. Basically, JavaScript engines need to choose between “Generate their code quickly”, or generate “quick code” and optimization level vs.memory usage.

RISE ABOVE THE FRAMEWORK
A talk by Mike Hartington

Mike Hartington is part of Ionic core team, Mike helps developers while they are building their apps and also frequently speaks and writes about Ionic. In his spare time, he’s a hybrid app maker, occasional musician, and craft beer lover.

“JavaScript has evolved itself from a single MVC-application with Backbone, styled with global CSS and written in ES5 syntax back in 2011 to an intensive web of multiple frameworks and configuration files as we know it now, in 2018
- Mike Hartington(Developer Advocate at Ionic).

Mike helps developers while they are building their apps.

There is no doubt, that JavaScript is moving fast forward, many new build tools and new features are added on a daily base. Frameworks like Angular, React and Vue are all different frameworks, with different components (chunks of code) and different APIs. Yet, as developers are experiencing the “build tools fatigue”, it is time to take a step back to be able to think and rise above the framework.

While in the near past, developers still used scripting and framework-based components, Hartington sees building models and custom elements, with a standard-based APIs, reusable native components and lack of any framework and config files as the near future of JavaScript. Web standards help building better apps with less code. The less code needed to be sent to the browser, the better and faster the application will run.

THE FUTURE OF JAVASCRIPT AND BEYOND

`More is not better or worst than less, it is just different` -Peter van Roy

A TALE OF TWO ASYNC LANGUAGES

A talk by Ashley Williams

The first JavaScript expert speaker is web passionate Ashley Williams (Brooklyn/NYC, USA). As individual membership Director of Node.js (JS),Integer32 engineer contracted by Mozilla, and member of the Rust Core team, she leads the Community Team on the new Programming language Rust. Ashley is as vivid tech teacher, known for influencing the growth of JavaScript. Coming from a non-technical background, this badass woman, is doing a great job. The JavaScript expert explores the two async Javascript libraries Node.js and Rust. Unlike the other speakers, she holds the vision that JavaScript might not be “the best language out there”, for it has serious limitations.

Particularly interested in genealogical analysis, she questions herself

what is the best first programming language?, what are the best tools for the job? And what do programming languages want to reach?”

According to her, this must always be at the heart of any project, as programming languages are part of a cultural ecosystem itself, that needs to be taken into account, when looking at programming paradigms solving multiple problems for society. According to her, JavaScript has far too long been taken for granted.

Originally created as ECMAScript syntax, a standardized specification of a scripting language developed by Brendan Eich of Netscape, to “serve easy to use scripting language”, JavaScript has instead become a “very complex and overwhelming language with many add-on libraries, that is hard to maintain. It has epic problems to scale, a serious information overload and definitely a lack of qualified managers.

Ashley Williams is a JavaScript lover and expert, yet she strives to overcome the shortcomings of JS to bring the language back to where it belongs: the people. Therefore she is the leading force in Rust, that developed as result of Node.js, respond to the four main problems based on the current JavaScript ecosystem:

  1. Lack of Vision in JS and NodeJS.
  2. Lack of Users: Add users back to the center to create a great product.
  3. Lack of Diversity: Get more people involved and a more diverse feedback.
  4. Lack of Consensus: How to reach consensus on a Large scale.

Speed, Safety and Productivity are the main features of the open source project RUST. These features should make improgramable programs programmable again. So that beginners, intermediate and advanced programmers can work hand-in-hand solving complex world based problems.

BUILDING A PLATFORM: WEBPACK AND THE FUTURE
A talk by
Sean Larkin

“At Microsoft we use the same tools, we write the same code. Therefore webpack is open source, as it is not only meant to solve issues for microsoft, but for coders as well”
-
Sean Larkin

If JavaScript is not the solution, then what is? According to Sean Larkin, Technical Manager at Microsoft, “JavaScript is currently experiencing a Renaissance, yet the future of programming is platform based”. He proudly presents “Webpack 4 Legato”, the first major version, sponsored by Trivago. Webpack 4 is seen as the most groundbreaking set of changes for the future of webpack and the Javascript ecosystem.

The improved system puts developers first: the entire plugin system has been refactored. As a result, the platform is 98 percent faster. No configuration is needed, it comes with smaller and faster builds. The kernel of front-end framework works not only at microsoft, but everywhere, even with frameworks like Angular, React and Vue.

The future of programming is module based and platform build. Node.js and package json files are no longer needed. We can build on any Javascript as a platform and diagnostic directly inside the code editor. With a new JS library as Vue.js and the Webpack platform, we can develop, diagnose and redact all from one place.”

To try: `yarn add webpack webpack.cli — dev` OR `npm add webpack webpack.cli — sav dev`

LESSONS LEARNED

After this two intensive days of amazing talks and speakers, we went home with a couple of conclusions and a bunch to things to figure out.

Being still on the early steps of becoming a front end developer, we got the chance to grasp some ideas and visions of the speakers.

We learned that Javascript had an evolution of small baby steps, with every version being released adding more features in order to make the language able to perform low level tasks like other languages out there. It has also became the ‘lingua franca’ of the web and it is thought as the most influential technology of our time in software engineering, even though it has serious limitations: lack of vision of where it is headed, users, diversity and consensus.

Other highlights and points of interest we found along the talks were:

  • JavaScript has far too long too been taken for granted.
  • JavaScript is currently experiencing a Renaissance.
  • JavaScript is moving fast forward.
  • JavaScript developers are experiencing the “build tools fatigue”
  • Time has come to rise above the JavaScript frameworks.
  • JavaScript engines have much in common among different web browsers, yet they differ in their optimization tiers: “generate code quickly”, or generate “quick code”.
  • Time has come to redesign the web: to have not only online first apps available, but also offline web apps.
  • Time has come to focus on Human JavaScript.
  • The current JavaScript ecosystem experiences four major shortcomings: 1) lack of vision, 2) lack of users, 3) lack of diversity and 4) lack of consensus.
  • Web standards help build better apps with less code.

As per the future of Javascript, the speakers made a strong point that the future is module based and platform build. The platforms allow to develop, diagnose and redact all from one place. Building models and customer element with standard-based APIS, reusable native components and lack of framework and config files are seen as the near future of JavaScript.

And also JavaScript, will probably never be completely replaced, yet the future of JavaScript is based on Open Web Technology with HTML5, CSS3 and PWA, taking into account Accessibility issues and build with open collaboration of the community.

WHAT’S NEXT

JSCAMP 2019!

WORD OF THANKS

  • Thanks David Pich, sponsoring partners Marfeel, NPM and Mozilla and JSCampBCN 2018 volunteers for such an welcoming, inclusive and diverse JavaScript conference.
  • Thanks to Rails Girls Summer of Code who work really hard to give opportunities to women and non-binary people in tech and gave us the opportunity to join this inspiring Tech conference.
  • Thanks to all great speakers and attending developers, we have met during #JSCampBCN for having such a great time together.

For more info on the speakers visit: https://jscamp.tech/speakers/

--

--

DV Team

We are Diana & Violeta, we are two developers enjoying Rails Girls Summer of Code and wrapping up Google Scholarship for Udacity's Front End Program.