October 11, 2022 - 5:00 pm CEST

Virtual Meetup – Alessio Stalla

Abstract

Textual and projectional editors each have their advantages and disadvantages. Both users and developers know very well how to work with text. However, textual syntax limits our expressiveness, readability, and interactivity, among other things. On the other hand, projectional editors are still complicated to develop and use, even if we’ve made great progress, and text editing in projectional editors is not on par with our best text editors.
So, we present an innovative approach to editors, based on ProseMirror, a JavaScript toolkit for building web-based word processor applications. ProseMirror is well-suited for editing text out of the box, and it features an extensible schema of arbitrarily nested blocks with attributes. Built-in blocks include paragraphs, lists, and tables.
We’ll show an early prototype of an editor that is the result of a research and development effort by Strumenta, aimed at combining strong rich-text editing capabilities with a projectional approach. We’ll demonstrate how ProseMirror blocks can be hooked to a parser to provide some language intelligence, and how we can progressively migrate to a projectional approach where no parser is involved.

Biography

Alessio Stalla is a Language Engineer who designs and builds languages and supporting tools. Most of the time, you can find him crafting textual or projectional editors/IDEs, static analysis tools or model-to-model transformations. Also, between projects, he writes articles on Strumenta’s blog about what he’s learned. He is also the lead developer of the open-source web application framework, Portofino. He contributed to ABCL, the Common Lisp implementation on the JVM, and marginally to the Groovy language. He knows the JVM ecosystem quite deeply and routinely and actively participates in the local Java User Group and follow several JVM development mailing lists. In the past, he has designed and implemented Java enterprise applications using a variety of technologies, including Spring and JEE applications, Alfresco customizations, Liferay portlets and extensions, Camel/ServiceMix, BPMN engines, and more.

How to join the event:

To avoid security issues is now necessary to register for the meeting. The registration should be necessary just once and be valid for all the next meetings you will participate in. Follow these steps:

  1. Register yourself to the community on the Homepage
  2. You will receive a confirmation email containing all the information about joining the meeting.
  3. Add to your calendar
  4. Enjoy the talk and, if you feel like it, discuss it further on the community forum