لطفا جاواسکریپت مرورگر خود را فعال سازید!

نحوه فعال سازی در کروم
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
نحوه فعال سازی در فایرفاکس
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
آشنایی با زبان برنامه نویسی Imba

آشنایی با زبان برنامه نویسی Imba

ایمبا یک زبان برنامه نویسی جدید برای پروژه های تحت وب است که در نهایت به کدهای خوانای جاوا اسکریپت کامپایل می شود. به گفته ی سایت رسمی این زبان، یک اپلیکیشن نوشته شده با زبان ایمبا چیزی در حدود بیست برابر سریع‌تر از اپلیکیشن یکسانی با React است. پروژه ی زبان برنامه نویسی Imba چیزی در حدود شش سال پیش شروع شد که هدف اصلی از اجرای این پروژه این بود تا بتوان کدهای زبان روبی را داخل مرورگر اجرا کرد تا این که در نهایت در سال 2012 با الهام گرفتن از CoffeeScript، زبانی جدید به نام Imba با سینتکس و قابلیت‌های مخصوص به خود خلق شد.

پیش از توضیح بیشتر در مورد این زبان جدید، بهتر است آشنایی مختصری با CofeeScript داشته باشیم. کافی اسکرپیت یک زبان سبک و کوچک است که کدهای نوشته شده با این زبان در نهایت به سورس کد جاوا اسکرپیت کامپایل می شوند و هدف از طراحی کافی اسکرپیت این بوده تا قابلیت های منحصر به فرد جاوا اسکرپیت را در ساده ترین حالت ممکن در اختیار توسعه دهندگان قرار دهند. نمونه سورس کد نوشته شده در کافی اسکرپیت را در زیر مشاهده می کنید:

# Assignment:
number   = 42
opposite = true

# Conditions:
number = -42 if opposite

# Functions:
square = (x) -> x * x

# Arrays:
list = [1, 2, 3, 4, 5]

# Objects:
math =
  root:   Math.sqrt
  square: square
  cube:   (x) -> x * square x

# Splats:
race = (winner, runners...) ->
  print winner, runners

# Existence:
alert "I knew it!" if elvis?

# Array comprehensions:
cubes = (math.cube num for num in list)

گفته می‌شود که زبان Imba بهترین قابلیت‌های زبان‌های Ruby, Python و React را گرفته و یک زبان به مراتب بهتر و سریع‌تر ابداع کرده است. پیش از این گفتیم که کدهای نوشته شده با این زبان به جاوا اسکرپیت کامپایل می‌شوند به طوری که کلیه ی کامنت ها، فاصله گذاری ها، استایل کدنویسی و … پس از فرایند کامپایل حفظ خواهند شد. علاوه بر این، امکان استفاده از لایبرری های جاوا اسکرپیت در این زبان و بالعکس نیز وجود دارد. در ادامه، نمونه سورس کدی که در ایمبا نوشته شده را مشاهده خواهید کرد:

let dpr = window:devicePixelRatio or 1

tag sketchpad < canvas

	# receive the touch / click
	# create two paths for each touch
	def ontouchstart t
		t.capture
		t.data = [Path2D.new, Path2D.new]

	# triggered when a touch moves
	# loop through the paths and draw them
	def ontouchupdate t
		t.data.forEach do |path,i|
			let x = t.tx + i + i * Math.random * 3
			let y = t.ty + i + i * Math.random * 3
			path.lineTo(x * dpr,y * dpr)
			context('2d').stroke(path)

	def render
		

ویرایشگر کدی هم که برای استفاده از این زبان توصیه می شود، Sublime Text 3 است چرا که در حال حاضر پلاگینی برای ساپورت زبان ایمبا در ویرایشگر سابلایم نوشته شده است.



فرنوش فهیم