جاوا زبانیه که خیلی‌هامون می‌شناسیمش و دوستش داریم؛ قدرتمند، امن و همه‌جاکاربردی. اما بیاید روراست باشیم، گاهی اوقات کار کردن با فریمورک‌های غولی مثل Spring Boot یا Java EE برای یه پروژه کوچیک، مثل این میمونه که بخوایم با یه تریلی ۱۸ چرخ بریم سوپرمارکت سر کوچه خرید کنیم! کانفیگ‌های طولانی، ساختار پیچیده و زمان اجرای اولیه می‌تونه حسابی کلافه‌کننده باشه.

اینجاست که Spark Java  وارد میدون می‌شه. (فقط حواستون باشه که این فریمورک رو با Apache Spark که برای کلان‌داده‌هاست اشتباه نگیرید!)

Spark Java چیه؟

اسپارک جاوا یه میکرو فریمورک فوق‌العاده سبک برای زبان جاواست که با الهام از Sinatra (که تو دنیای روبی خیلی معروفه) ساخته شده. هدف اصلیش اینه که به شما اجازه بده بدون درگیری با تنظیمات پیچیده، حاشیه‌پردازی‌ها و فایل‌های XML، توی کمترین زمان ممکن و با چند خط کد، وب‌سایت یا APIهای RESTful بسازید.

چرا باید بهش فرصت بدیم؟

  • سادگی: یادگیریش به شدت راحته. با یکی دو ساعت وقت گذاشتن می‌تونید کامل مسلط بشید.

  • خداحافظی با کانفیگ‌های رو اعصاب: نیازی به فایل‌های پیکربندی عریض و طویل نیست؛ همه‌چیز تو خود کد (Programmatic) انجام می‌شه.

  • رفیق فابریک Lambda: اسپارک به شدت با Lambda Expressionهای جاوا ۸ به بعد جور درمیاد و کدهاتون رو به طرز جذابی تمیز، کوتاه و خوانا می‌کنه.

  • سرعت و سبکی: چون اضافات نداره، توی کسری از ثانیه بالا میاد. برای همین برای ساخت میکروسرویس‌ها (Microservices) یک انتخاب بی‌نظیره.

بیاید دست به کد بشیم!

فکر می‌کنید ساختن یه API که بگه "Hello World" تو جاوا چقدر طول می‌کشه؟ با اسپارک فقط همین‌قدر:

import static spark.Spark.*;

public class HelloWorld {
    public static void main(String[] args) {
        
        // ساخت یک API ساده با متد GET
        get("/hello", (req, res) -> "سلام دنیا! این اولین API من با اسپارک جاوائه!");
        
    }
}

به همین سادگی! کافیه این برنامه رو Run کنید و تو مرورگرتون برید به آدرس http://localhost:4567/hello. یه وب‌سرور داخلی (Jetty) خودکار استارت می‌خوره و خروجی رو بهتون نشون میده. بدون این‌که نیاز باشه Tomcat نصب کنید یا سرور رو جداگانه کانفیگ کنید.

چطوری به پروژه‌مون اضافه‌اش کنیم؟

اگه از Maven استفاده می‌کنید (که احتمالا همینطوره)، فقط کافیه این چند خط رو به فایل pom.xml اضافه‌ کنید تا کارتون شروع بشه:

<dependency>
    <groupId>com.sparkjava</groupId>
    <artifactId>spark-core</artifactId>
    <version>2.9.4</version>
</dependency>

جمع بندی

راستش رو بخواین، اسپارک جاوا قرار نیست جای Spring Boot رو تو پروژه‌های عظیم و سازمانی (Enterprise) بگیره. اما اگه می‌خواید یه نمونه اولیه (Prototype) سریع بسازید، یه میکروسرویس سبک بالا بیارید، یه ربات تلگرام بنویسید یا فقط می‌خواید بدون درگیر شدن با پیچیدگی‌های همیشگی، از برنامه‌نویسی وب با جاوا لذت ببرید، Spark Java قطعا یکی از بهترین گزینه‌هاست.