پرش به محتویات

مقدمه

Elm یک زبان تابعی است که به JavaScript کامپایل می‌شود. این زبان، با تاکید بر سادگی و ابزارهای با کیفیت، به شما کمک می‌کند تا وبسایت و وب اپلیکیشن بسازید.

این راهنما:

  • اصول برنامه‌نویسی در Elm را به شما آموزش می‌دهد.
  • نشان می‌دهد که چگونه برنامه‌های تعاملی با معماری Elm بسازید.
  • بر اصول و الگوهایی تاکید می‌کند که به برنامه‌نویسی در هر زبانی تعمیم می‌یابند.

امیدوارم در پایان، نه تنها قادر به ایجاد برنامه‌های عالی در Elm باشید، بلکه ایده‌ها و الگوهای اصلی که استفاده از Elm را لذت‌بخش می‌کند نیز درک کنید.

اگر تردید دارید، می‌توانم با اطمینان بگویم که در صورت استفاده از Elm در یک پروژه واقعی، در نهایت کد جاوااسکریپت بهتری خواهید نوشت. ایده‌ها به راحتی منتقل می‌شوند!

نمونه برنامه

در اینجا یک برنامه کوچک وجود دارد که به شما اجازه می‌دهد یک عدد را افزایش و کاهش دهید:

module Main exposing (..)

import Browser
import Html exposing (Html, button, div, text)
import Html.Events exposing (onClick)


main =
    Browser.sandbox { init = 0, view = view, update = update }


type Msg
    = Increment
    | Decrement


update msg model =
    case msg of
        Increment ->
            model + 1

        Decrement ->
            model - 1


view model =
    div []
        [ button [ onClick Decrement ] [ text "-" ]
        , div [] [ text (String.fromInt model) ]
        , button [ onClick Increment ] [ text "+" ]
        ]

این کد در ابتدا ممکن است ناآشنا به نظر برسد، بنابراین به چگونگی کار این برنامه خواهیم پرداخت!

چرا یک زبان تابعی؟

شما می‌توانید از برنامه‌نویسی به سبک تابعی برخی مزایا را به دست آورید، اما برخی چیزها فقط از یک زبان تابعی مانند Elm به دست می‌آید:

  • عدم وجود خطای زمان اجرا در عمل
  • پیام‌های خطای دوستانه
  • بازنویسی قابل اعتماد
  • نسخه‌بندی معنایی بطور خودکار برای تمام بسته‌های Elm

هیچ ترکیبی از کتابخانه‌های جاوااسکریپت نمی‌تواند تمام این تضمین‌ها را به شما بدهد. این‌ها از طراحی خود زبان ناشی می‌شوند! به لطف این تضمین‌ها، برای برنامه‌نویسان Elm کاملا رایج است که بگویند هرگز در حین برنامه‌نویسی این قدر اطمینان نداشته‌اند. اطمینان برای افزودن سریع ویژگی‌ها؛ اطمینان برای بازنویسی هزاران خط کد؛ اما بدون اضطراب پس‌زمینه‌ای که چیزی مهم را از دست بدهید!

من تاکید زیادی بر آسانی یادگیری و استفاده از Elm گذاشته‌ام، بنابراین تنها چیزی که از شما می‌خواهم این است که به Elm فرصتی بدهید و درباره آن فکر کنید. امیدوارم که شگفت‌زده شوید!


یادداشت مترجم

این راهنما توسط Evan Czaplicki طراح و معمار زبان برنامه‌نویسی Elm نوشته شده که آخرین بروزرسانی آن در سال ۲۰۱۹ منتشر شده است. برای اطلاع از شیوه عملکرد راهنما، می‌توانید به بخش درباره راهنما مراجعه کنید. برای کسب اطلاعات بیشتر درباره پروژه، به منابع زیر مراجعه کنید: