<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Matúš Makatura</title>
    <description>The latest articles on DEV Community by Matúš Makatura (@matusmak).</description>
    <link>https://dev.to/matusmak</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F276760%2F7c6615a9-6766-4422-8590-555d0e4bd49e.jpeg</url>
      <title>DEV Community: Matúš Makatura</title>
      <link>https://dev.to/matusmak</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/matusmak"/>
    <language>en</language>
    <item>
      <title>Backend web developer survey - how do we develop web apps &amp; services?</title>
      <dc:creator>Matúš Makatura</dc:creator>
      <pubDate>Tue, 04 May 2021 01:03:00 +0000</pubDate>
      <link>https://dev.to/matusmak/backend-web-developer-survey-how-do-we-develop-web-apps-services-1gid</link>
      <guid>https://dev.to/matusmak/backend-web-developer-survey-how-do-we-develop-web-apps-services-1gid</guid>
      <description>&lt;p&gt;Okay, so how do we develop web apps &amp;amp; services? That was a question I asked myself few weeks ago, and since then, I couldn't get my answer. I was looking around the internet for surveys - there are plenty of them, some of them excellent (such as &lt;a href="https://insights.stackoverflow.com/survey/2020"&gt;Stack Overflow developer survey&lt;/a&gt;), but none of them gives in-depth answers about backend development I was looking for.&lt;/p&gt;

&lt;p&gt;And therefore, I decided to start my own one.&lt;/p&gt;

&lt;h1&gt;
  
  
  What are you surveying for? ⁉
&lt;/h1&gt;

&lt;p&gt;I want to know what are our habits when working on applications. How popular are ORMs? Are smaller projects more likely to use state-of-the-art technologies than larger projects? Are some new technologies such as GraphQL taking over?  How many projects are still rendering views on backend? There's certainly a lot to be learned.&lt;/p&gt;

&lt;p&gt;I could simply ask those questions, but I felt that it would make more sense to collect a list of habits and analyze it for conclusions later. And so, after filling in (anonymous) developer profile, you will be asked questions about APIs &amp;amp; presentation layer, controllers &amp;amp; middlewares, security, service layer, persistence, testing and developer tools. I hope that if enough people will participate from many different backgrounds, it will give us a clear picture on the current state of backend web development across platforms, frameworks, small and large projects!&lt;/p&gt;

&lt;h1&gt;
  
  
  What results are you hoping for? 🤔
&lt;/h1&gt;

&lt;p&gt;As I already outlined above, I'm interested in finding out what is the current state of backend web development and what different habits people have depending on their background and platform. I'm very well aware that I can't judge it just based of my own working environment, or by few other working environments of my friends, and that's why I'd to know from many different people. I intent to use this information during research and development of my own web framework, that I &lt;a href="https://dev.to/matusmak/0-creating-a-web-framework-from-scratch-the-motivation-51m9"&gt;talked about in this article&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I also believe that data collected in this survey can be helpful to framework and library developers, or maybe even some researches. That's why I'm indenting to open source raw dataset, most probably via GitHub.&lt;/p&gt;

&lt;h1&gt;
  
  
  Cool, I'm interested! 🤩 How can I participate?
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://forms.gle/QothJrESXjmwXSzr5"&gt;This link will take you to the Google Form of this survey.&lt;/a&gt; You will need approx. 15-20 minutes to fill it. All questions are either single or multichoice, so no need to write in answers! In case you are working on two or more projects that are fundamentally different (think PHP Laravel vs Java Spring Boot), feel free to fill in survey for each project separately 🙂. For each participation I'm very grateful 🙏.&lt;/p&gt;

</description>
      <category>backend</category>
      <category>survey</category>
      <category>webdev</category>
    </item>
    <item>
      <title>[0] Creating a web framework from scratch - the motivation</title>
      <dc:creator>Matúš Makatura</dc:creator>
      <pubDate>Wed, 10 Mar 2021 00:39:01 +0000</pubDate>
      <link>https://dev.to/matusmak/0-creating-a-web-framework-from-scratch-the-motivation-51m9</link>
      <guid>https://dev.to/matusmak/0-creating-a-web-framework-from-scratch-the-motivation-51m9</guid>
      <description>&lt;p&gt;&lt;strong&gt;Hello wanderer!&lt;/strong&gt; 👋 However you managed to come along this article, please, feel welcomed, and join me on my way to create a brand new Scala web framework from scratch!&lt;/p&gt;

&lt;h1&gt;
  
  
  Wait, what? Why would you do that? 😮
&lt;/h1&gt;

&lt;p&gt;I'm sure you are wondering why would anybody waste time doing that. Not only there are already great, production-ready frameworks available, implementing all the cool features would take &lt;em&gt;tremendous&lt;/em&gt; amount of effort and time.&lt;/p&gt;

&lt;p&gt;And yes, that's absolutely correct! But let me give you the following points to explain my motivation and hopefully give you different look on the matter.&lt;/p&gt;

&lt;h2&gt;
  
  
  It's a lot of fun for me 🤹‍♂️
&lt;/h2&gt;

&lt;p&gt;Let's get this one out of the way - I wouldn't do it if I wasn't enthusiastic about it! Building systems that me or somebody else can then take to create new things was always exciting to me and it gives me &lt;em&gt;the sense of pride and accomplishment&lt;/em&gt;... and that's simply nice.&lt;/p&gt;

&lt;h2&gt;
  
  
  Knowledge and experience 👨‍🎓
&lt;/h2&gt;

&lt;p&gt;It's one thing being able to write applications, but it's a brand new world being able to write underlying framework. This journey will introduce me to a lot of new technologies and concepts I would otherwise not explore and I'm hopeful it will aid me to grow as an engineer/developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  I miss Laravel's experience 🐘 in JVM world ☕
&lt;/h2&gt;

&lt;p&gt;Although my first real programming language was Java, my early days of web development were dedicated to PHP - and almost entirely to Laravel framework. And while it's certainly not perfect, it provides great development experience. I always enjoy building apps with this framework, it feels satisfying and you keep finding out excuses to implement new functionality.&lt;/p&gt;

&lt;p&gt;When I switched to building web apps in JVM (Java, Kotlin, Scala), I started working on large enterprise applications. And sure, I think I have great tools for that, I think that my code I deliver is robust and reliable... but I never experienced as much joy as before (and when I remember my efforts in configuring non-trivial things in Spring Boot, it's actually quite the opposite).&lt;/p&gt;

&lt;p&gt;So I thought - why not try to create a framework that would prioritize development experience? What will happen - will it feel as good as it did for PHP, or is JVM simply not suited for it? I will certainly find out.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pure Scala implementation 👌
&lt;/h2&gt;

&lt;p&gt;Looking back now, one more thing that I believe Laravel does well over JVM frameworks is it's use of PHP everywhere. You don't have annotations, you don't have custom expression languages, you don't have XML files, you don't have custom configuration files - just PHP (and environment variables). The power of fully fledged programming language is always available to you, everywhere in the system.&lt;/p&gt;

&lt;p&gt;Why not try something similar in JVM world? This is where I think Scala can shine - it's much more powerful language than Java (and even Kotlin), so if done right, it should be possible to move everything back to the regular language without the need to rely on any sort of code metadata or other languages or markups.&lt;/p&gt;

&lt;p&gt;And the more you have in the readable code and less in dark magic in the background, the more comprehensive your framework will become to developers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Master thesis
&lt;/h2&gt;

&lt;p&gt;In a year and a half from writing this article, I will be graduating from University as a master of computer science. For that of course, I will need to finish my master thesis. So why not kill two birds with one stone and make this web framework topic of my thesis? It also has one added benefit - I will be kinda forced to do it, so it will be harder for me to abandon this project due to lack of time or motivation.&lt;/p&gt;

&lt;h1&gt;
  
  
  And why blog about it? 🤔
&lt;/h1&gt;

&lt;p&gt;Why not? If nothing else, it will be my personal archive of my thoughts and progress that will one day make me smile (or laugh). Maybe it will inspire somebody to create their own framework or library. And there's a slight, but non-zero chance that it will blow up - and in that case, this blog will become a new Bible for hypothetical fans of my work. And if you ask me - that'd be cool (and something to brag about in discussions 😄).&lt;/p&gt;

&lt;h1&gt;
  
  
  So what to expect? 📈
&lt;/h1&gt;

&lt;p&gt;This first (or zero-th?) entry is a bit longer to give you my background, but I expect subsequent parts to be much shorter. I don't intend to write in-depth dev-blog right now, I'd only like to share interesting findings or progress made on this framework. I believe writing one entry per month is just about right - it won't be boring and I won't burn out.&lt;/p&gt;

</description>
      <category>scala</category>
      <category>webdev</category>
      <category>story</category>
    </item>
  </channel>
</rss>
