10 کاری که نمی دانید JavaScript می تواند انجام دهد

نویسنده: Randy Alexander
تاریخ ایجاد: 2 ماه آوریل 2021
تاریخ به روزرسانی: 14 ممکن است 2024
Anonim
10 نشانه خیانت زنان در زندگی زناشویی از نظر متخصصان روان شناسی - کابل پلس | Kabul Plus
ویدیو: 10 نشانه خیانت زنان در زندگی زناشویی از نظر متخصصان روان شناسی - کابل پلس | Kabul Plus

محتوا

جاوا اسکریپت از زمان تولد خود در سال 1995 مسیری طولانی را طی کرده است. مطمئناً راهی سخت ، پر از سوerstand تفاهم ، سو mis استفاده و ناآگاهی. اما زمان تغییر کرده است ، از پنج سال گذشته جاوا اسکریپت بیشتر و بیشتر مورد توجه قرار گرفته است. با توجه بیشتر ، توسعه دهندگان بیشتری در واقع از JavaScript استفاده می کنند ، از آن برای اهداف مختلف استفاده می کنند و از زیبایی آن لذت می برند. اگر از من بپرسید ، داستان کلاسیک "جوجه اردک زشت" است.

در مقاله زیر ، ما 10 مورد استفاده برای JavaScript پیدا خواهیم کرد که متفاوت از موارد معمول "در مرورگر" است که شما به آن عادت کرده اید.

01. وقت یک پاتوق است

آیا چشم انداز دهه 80 ارتباطات ویدئویی Facetime-like را به خاطر دارید؟

فقط 20 سال طول کشید تا این جریان اصلی جریان یابد ، به دلیل تقریباً همه جا اینترنت پهن باند و استفاده زیاد از کمی نرم افزار به نام Skype.

با قابلیت های Adobe’s Flash و تلاش گوگل برای ایجاد یک شبکه اجتماعی ، ما در حال حاضر قابلیت های ارتباط ویدیویی را در مرورگر خود داریم. آیا داشتن چنین توانایی هایی بدون استفاده از افزونه شخص ثالث مانند Flash جالب نخواهد بود؟


خوشبختانه ، فروشندگان مرورگر نیز همین فکر را کردند و API "getUserMedia" را در نرم افزار خود پیاده سازی کردند. این اولین قدم برای دستیابی مستقیم به دستگاههایی مانند دوربین یا میکروفون از مرورگر شما بود.

با استفاده از Node.js به عنوان یک سرور در پشت چنین برنامه ای ، انتقال سیگنال ویدئویی از طریق هوا به یک یا چند مشتری بسیار شگفت آور است. بدبختانه ، تا زمان نوشتن این مقاله ، فقط Chrome و Opera از API پشتیبانی می کنند ، اما دیگران سریعاً این مشکل را انجام می دهند.

روش تمیزتر برای یک ارتباط دو طرفه در حال حاضر تنها یک Chrome است که WebRTC نامیده می شود. به دلیل WebRTC ، کلاینت ها قادر به باز کردن کانال های ارتباطی همتا با همتا هستند ، و مستقیماً مشتری را با مشتری ارتباط می دهند.

برای سرگرمی ، اجرای عکس غرفه Sindre Sorhus در 121 بایت را بررسی کنید!

var video = document.getElementByTagName ('ویدیو') [0] ،
navigator.getUserMedia ('video' ،uccessCallback، errorCallback)؛

عملکرد موفقیت برگشت (جریان) {
video.src = جریان؛
}

خطای عملکرد برگشت (خطا) {
console.log (خطا)؛
}


02. $ ('نور'). fadeIn ()؛

پلت فرم میکروکنترلر آردوینو نمونه ای درجه یک برای موارد استفاده جاوا اسکریپت "خارج از جعبه" است. برای آن دسته از شما که با پلت فرم آردوینو آشنا نیستید ، در اینجا یک نقل قول فوق العاده معروف از وب سایت آن آورده شده است:

"آردوینو یک پلت فرم نمونه باز الکترونیکی منبع آزاد است که مبتنی بر سخت افزار و نرم افزار انعطاف پذیر ، با کاربرد آسان است. این برنامه برای هنرمندان ، طراحان ، علاقه مندان و هر کسی که علاقه مند به ایجاد اشیا or یا محیط های تعاملی است ، در نظر گرفته شده است."

خود آردوینو فقط از کدی که با زبان C نوشته شده پشتیبانی می کند که هنوز هم مسئله خاصی نیست. با چند خط C (علاوه بر این که دیگران این کار را برای شما انجام داده اند) ، Arduino می تواند از طریق پورت USB خود از طریق پروتکل پورت سریال ، دستورات را دریافت کند.

اما چگونه می توانید از طریق JavaScript به پورت سریال دسترسی پیدا کنید؟ واضح است که از مرورگر نیست.
Node.js برای نجات!


به دلیل تلاش های مدافع جامعه Chris Williams ، ما یک کتابخانه پورت سریال Node داریم ، که می توانیم داده ها را از طریق پروتکل SP قدیمی ارسال کنیم. این موفقیت اولیه بود ، بر اساس کتابخانه ، افراد دیگر با رویکرد انتزاعی تری در مورد توانایی های آردوینو روبرو شدند. به عنوان مثال کتابخانه های node-arduino و duino.

داغترین و جالبترین کتابخانه اطراف بلوک برای برنامه نویسی رانده شده توسط JS تاکنون jonny-Five است. وبلاگ Bocoup را برای برخی از تبلیغات داغی که آنها با سیستم عامل Arduino انجام داده اند و بسیاری از افزونه ها بررسی کنید. همچنین فیلم JSConf از Nicolai Onken و Jörn Zaefferer ممکن است چرخشی از آنچه امروز با کد کم امکان پذیر است را به شما ارائه دهد.

03. دستان شما برای مرورگر ساخته شده است

چشم انداز آینده Minority Report (دیدگاهی که در آن آنها کامپیوترها را با دست خود کنترل می کنند ، نه ماشین های زشت) هر روز نزدیکتر می شود. گام بزرگی در این راستا تلاش کنترل کننده مایکروسافت برای بازی کمتر ، Kinect بود. ممکن است فکر کنید گیم پلی شگفت انگیزی وجود دارد ، اما این چه ارتباطی با جاوا اسکریپت دارد ؟!

با انتشار Kinect SDK مایکروسافت ، گروهی از پل های استفاده از مرورگر برای Kinect عبور کردند. اول از همه بچه های ChildNodes که یک کتابخانه کاملاً فعال kinect.js ساخته اند ، استفاده از Microsoft's Kinect را در مرورگر شما امکان پذیر می کند.

من اکیداً توصیه می کنم نسخه های نمایشی و فیلم های آنها را بررسی کنید ، این یک انفجار است. با این حال ، یک اشکال عمده در کتابخانه kinect.js این است که باید یک برنامه سرور WebSocket در پشت کلاینت اجرا شود (این در واقع چسب Kinect -> C # -> JS است).

چند دانشجوی مشهور MIT در حال کار بر روی یک راه حل برای تخریب این دیوار هستند ، DepthJS ،
یک افزونه در مرورگر که امکان استفاده از Kinect برای Chrome و Safari را فراهم می کند ، حتی برای سایت هایی که برای استفاده مبتنی بر Kinect به هر شکلی بهینه نشده اند. DepthJS در حال حاضر در مراحل اولیه توسعه است ، اما قطعاً ارزش پیگیری آن را دارد.

04. بازی های سه بعدی با گیم پد شما کنترل می شوند

آیا تا به حال سعی کرده اید امروز یک بازی مرورگر غیر فلش انجام دهید؟ قابلیت های گرافیکی شگفت انگیز هستند ، به خصوص وقتی کلون های بازی مانند Quake را می بینید.

اما هنگام بازی کردن این چیزها ، همیشه به صفحه کلید و ماوس (بیشتر) ناخوشایند خود گره خورده اید. این یک نقطه ضعف بزرگ است ، به ویژه برای بازی های اکشن ، واقعاً آنها را از مرورگر عقب نگه می دارد.

آیا جالب نیست که فقط بتوانید کنترل کننده Xbox خود را به کامپیوتر متصل کنید و بازی مرورگر مورد علاقه خود را شروع کنید؟ این دیگر چشم انداز آینده نیست ، به Gamepad API سلام برسانید!

اگر در اطراف میز کار خود یک گیم پد دارید ، همین حالا آن را متصل کنید و از برخی از بازی هایی که قبلاً از GamePad API استفاده می کنند لذت ببرید. برنامه نویسی کنترل های ورودی نیز یک تکه کیک است ، این قطعه کد را بررسی کنید یا حتی بهتر ، خودتان آن را اجرا کنید:

div id = "gamepads"> / div>
اسکریپت>
تابع gamepadConnected (رویداد) {
var gamepads = document.getElementById ("گیم پد") ،
gamepadId = event.gamepad.id؛

gamepads.innerHTML + = "صفحه بازی متصل شد (id =" + gamepadId + ")"؛
}

window.addEventListener ("MozGamepadConnected" ، gamepadConnected ، false)؛
/ اسکریپت>

اگر می خواهید در مورد قابلیت های سه بعدی مرورگرها بیشتر بدانید ، از موتور شبیه ساز سه بعدی منبع باز Three.js و Jens Arps که در بالای آن ساخته شده است ، دیدن کنید. مارک همیل مواظب باشید ، ممکن است شما برای دنباله دیگری از Wing Commander به شما احتیاج داشته باشیم!

05. اجرای Flash روی iPad خود

من به عنوان یک دوستدار استاندارد های استاندارد و طرفدار اپل باید اعتراف کنم که من واقعاً می خواهم از اپل تشکر کنم که Flash را روی iPad و iPod قرار نداده است ، این واقعا جنبشی برای پذیرش فن آوری های باز مانند HTML5 ، CSS3 و JavaScript است.

به عنوان یک کارمند آژانس ، باید بگویم که این وضعیت واقعا بدی برای مشتریان ما است.
اکثر آنها برای داشتن محتوای تعاملی در IE7 یا IE8 قدیمی از طریق Flash و در مرورگرهای مدرن و همچنین iDevices از طریق HTML5 مجبورند دوبار برای یک تبلیغ یا کمپین ساده پرداخت کنند.

پر کردن ویژگیهای مرورگرهای قدیمی دارای مرزهایی است که عمدتا با نام عملکرد نامیده می شوند. بنابراین آیا توانایی اجرای Flash در آن iDevices بدون Flash وجود ندارد؟

البته یک مورد وجود دارد و البته در JavaScript ساخته شده است.

بخشی از تاریخ: در سال 2010 توبیاس اشنایدر کتابخانه کوچکی به نام گوردون را منتشر کرد
که به پرونده های SWF اجازه می دهد مستقیماً در مرورگر اجرا شوند. این برای پرونده های کوچک Flash مانند تبلیغاتی که فقط از ویژگی های نسخه Flash 2 استفاده می کردند بسیار خوب بود ، اما عملکرد سطح بالاتر اصلاً در آن لحاظ نشده بود.

وقتی توبیاس به شرکت ueberJS UXEBU پیوست ، ایده جدیدی پیدا کردند.
و بنابراین ، Bikeshed متولد شد. Bikeshed خودش نوعی چارچوب انیمیشن جاوا اسکریپت است ، اما همچنین یک جاوا اسکریپت برای فلش برای همه مواردی است که می خواهید کامپایلر باشد (این برنامه مبتنی بر آداپتور است ، بنابراین می توانید برای هر چیزی که می خواهید آداپتور بنویسید ، اگرچه رفتار استاندارد کامپایل Flash به جاوا اسکریپت است) . با Flash 10 و ActionScript 3 سازگار است. به صفحه وب آن نگاهی بیندازید تا علاوه بر کامپایلر ، در مورد ویژگی های فراوان آن بیشتر بدانید.

06. نوشتن برنامه برای تلفن هوشمند خود

نوشتن برنامه های بومی برای محیط های تلفن همراه راهی سنگین است. این کار با این تصمیم شروع می شود که می خواهید کدام پلتفرم را پشتیبانی کنید. آیا برنامه شما باید در iPhone و iPad ، دستگاه همراه Android ، Windows Mobile ، Blackberry ، webOS based ... و غیره اجرا شود.

هر یک از این سیستم عامل ها API های خاص خود را دارند و بیشتر از زبان های مختلف برنامه نویسی استفاده می کنند.
اگر از جنگ مرورگر جان سالم به در برده اید ، بگذارید به شما بگویم که این یک راه دشوارتر است که می توانید وارد آن شوید. تقریباً غیرممکن است که یک توسعه دهنده برنامه ای را برای همه این سیستم عامل ها در زمان و بودجه بسازد.

خوب چه کار کنیم؟ توسعه دهندگان بیشتری استخدام می کنید؟ برای برنامه ها بیشتر هزینه می شود؟ یا رویکرد بهتری پیدا کنید تا مطمئن شوید پایه کد شما در هر دستگاهی اجرا می شود؟ من به عنوان بیشتر شما ، آخرین روش را ترجیح می دهم.

اما این برنامه ها در چه مواردی باید ساخته شوند؟ وجه اشتراک همه این سیستم عامل ها چیست؟ شاید پاسخ آن را بدانید ، این یک مرورگر وب است و بنابراین یک موتور جاوا اسکریپت است.

این ایده پشت Apache Cordova است که با نام قبلی خود PhoneGap شناخته می شود.
Cordova یک چارچوب جاوا اسکریپت است که API های هر محیط تلفن همراه را خلاصه می کند و یک API جاوا اسکریپت شسته و رفته را برای کنترل همه آنها نشان می دهد. این امکان را برای شما فراهم می کند تا یک پایگاه کد واحد داشته باشید ، سپس آن را در دستگاه های مختلف تلفن همراه ایجاد و استقرار دهید.

برای اطلاع از چگونگی استفاده از Cordova برای ساخت برنامه های موبایل kick ass که یک بار ایجاد می کنید و در همه جا اجرا می شود ، منابع را بررسی کنید.

07. اجرای Ruby و Python در مرورگر خود

Mozilla ، شرکتی که در پشت مرورگر معروف Firefox قرار دارد ، تعداد زیادی گیک استخدام می کند ، مطمئناً. یکی از آنها مهندس Alon Zakai در تیم تحقیقاتی موزیلا است که ابزاری عوضی به نام Emscripten ساخته است.

Emscripten به شما امکان می دهد بیت کد LLVM - که می تواند از کتابخانه های مبتنی بر C / C ++ تولید شود را به JavaScript ببرید. این کار را با کامپایل کتابخانه ها به کد بیت و سپس ، گرفتن آن کد بیتی و تبدیل آن به JavaScript انجام می دهد. زیبا ، اما در واقع چه کاری می توانم با این کار انجام دهم ، ممکن است از خود بپرسید؟

من یک س counterال متقابل برای شما دارم: آیا تا به حال جمله "استفاده از CoffeeScript و Prototype نزدیکترین چیزی است که می توانید برای اجرای Ruby در مرورگر داشته باشید" را شنیده اید؟ نه؟ نگران نباشید ، زیرا این دیگر درست نیست.

با استفاده از Emscripten می توانید به سادگی منابع Ruby را استفاده کرده ، آنها را به JavaScript و voilà تبدیل کرده و Ruby واقعی را در مرورگر خود اجرا کنید! اما این فقط برای روبی صدق نمی کند ، به عنوان مثال پایتون نیز به صورت خلاصه نوشته شده است.

یا رمزگشای مرورگر h.264 Broadway را بررسی کنید. که در واقع یک کتابخانه C ++ نسخه برداری شده است!

برای دیدن چند زبان برنامه نویسی (از جمله Ruby و Python) در مرورگر خود به repl.it بروید!

08. نوشتن برنامه های دسک تاپ مستقل از سیستم عامل

ما قبلاً در مورد هدف قرار دادن چندین سیستم عامل تلفن همراه با کمک Apache Cordova صحبت کردیم. جای تعجب نیست که از JavaScript نه تنها می توان برای هدف قرار دادن سیستم عامل های تلفن همراه استفاده کرد ، بلکه می توان با دوست قدیمی ما ، رایانه رومیزی نیز مقابله کرد.

اولین راه حل ها از طرف برنامه های Appcelerator با Titanium Desktop Suite و از Adobe که به طور گسترده ای از سیستم عامل Air استفاده شده است.

اما به عنوان دوستداران منبع آزاد که همه ما هستیم ، یک فن آوری بازتر و مبتنی بر Node.js همان چیزی است که ما به دنبال آن هستیم. با app.js آشنا شوید! app.js یک وب نت تکنولوژی و سازنده برنامه دسک تاپ مبتنی بر Node.js است که به ما امکان می دهد برنامه های دسک تاپ واقعی را با دسترسی به سیستم فایل ، کنترل پنجره و موارد دیگر بنویسیم. ما می توانیم به API های کراس پلت فرم پایدار Node اعتماد کرده و UI نرم افزارهای خود را با HTML و CSS بسازیم. درست مثل داغترین چیزهای جدید این لیست در اینجا.

app.js یک پروژه کاملاً جوان است و بنابراین فقط از ویندوز و لینوکس پشتیبانی می کند ، اما طبق لیست پستی ، پشتیبانی از Mac در راه است.

09. اجرای یک سرور وب

امروزه ، وقتی به آنها بگویید که وب سایت شما توسط یک وب سرور مبتنی بر JavaScript پشتیبانی می شود ، کسی را شوکه نمی کنید. اگر دو یا سه سال پیش فکر می کنید و دقیقاً همین را به توسعه دهندگان وب گفته اید ، احتمالاً به شما خندیده اند یا حتی بدتر از آن.

اما با موفقیت باورنکردنی Node.js ، این خوشبختانه از الان دور است. به دلیل ماهیت ناهمزمان Node.js نه تنها دیگر مردم را شگفت زده نمی کند ، خصوصاً وقتی که با مشکل بسیاری از اتصالات موازی روبرو می شود. نه تنها عملکرد آن یک انفجار است ، بلکه API واقعاً ساده بسیاری از توسعه دهندگان را نیز به خود جلب می کند. بیایید نمونه "Hello World" را از دنیای Node بررسی کنیم ، این فقط یک چاپ "Hello World" در مثال صفحه نیست ، یک وب سرور http است!

var http = نیاز ('http')؛
http.createServer (تابع (req ، res) {
res.writeHead (200 ، {'نوع محتوا': 'متن / ساده'})؛
res.end ('سلام به جهان n')؛
}). گوش دهید (1337 ، '127.0.0.1')؛

اگر شما با این سادگی از من دور نباشید ، خوب ، من هم نمی توانم به شما کمک کنم.

یکی از بهترین بخشهای محبوبیت Node (یا اعتیاد به مواد مخدره) این است که شرکتهای بزرگی مانند Microsoft در واقع از آن پشتیبانی می کنند ، یعنی در Azure Cloud Services خود!

10. وب سنجی و تصویربرداری از صفحه

بنابراین ، آخرین ، نه مهمترین ، بیایید نگاهی به پروژه ای بیندازم که شخصاً دوست دارم به من اجازه دهد تستهای QUnit خود را بدون خط روی خط فرمان اجرا کنم. PhantomJS یک مرورگر مبتنی بر WebKit بدون سر و صدا با یک JavaScript (یا CoffeScript) مبتنی بر API است.

اما آزمایش JavaScript و DOM تنها مورد استفاده برای Phantom نیست. آنچه واقعاً من را مجذوب خود می کند قابلیت های آن در خراش دادن وب سایت ها و اجازه دادن به شما گرفتن عکس از آن است!
بله ، شما درست می خوانید ، با Phantom می توانید صفحات وب را در قالب های گرافیکی مختلف تولید کنید و البته به راحتی سرقت شیرینی از کودک است.

بیایید نگاهی به اسکریپتی بیندازیم که دقیقاً این کار را انجام می دهد:

var page = صفحه وب جدید ()؛
page.open ('http://google.com' ، عملکرد (وضعیت) {
page.render ('google.png') ؛
phantom.exit ()؛
});

این تنها چیزی است که شما برای ساخت عکس صفحه نیاز دارید و به دلیل اینکه این برنامه جاوا اسکریپت است ، می توانید از jQuery نیز استفاده کرده و محتوای صفحه را قبل از تصویر صفحه دستکاری کنید!

صبر کن! بیشتر ...

بنابراین ، امیدوارم که وقتی من هر یک از این ابزارها را کشف کردم ، مانند من شگفت زده شده باشید. این مقاله فقط آنچه که امروزه با جاوا اسکریپت امکان پذیر است را خراشیده است. موارد بسیار بیشتری مانند IDE هایی است که به طور کامل در JS Cloud9 نوشته شده اند یا مواردی با امنیت بالا که با آن انجام شده است (کارت اعتباری شما با JavaScript ساخته شده است).

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

انتشارات
با این تمرین بیشتر به طراحی شخصیت های خود بپردازید
خواندن

با این تمرین بیشتر به طراحی شخصیت های خود بپردازید

قلب هر پروژه خلاقانه ارتباطات و قصه گویی است. این چیزی به اندازه یک کمیک استریپ بی کلام ، یک چهره مصور منتقل کننده یک احساس ، یک تبلیغ تلویزیونی به ما می گوید چیزی بخریم ، یا یک پوستر تبلیغاتی دولتی ک...
روندهای برتر طراحی برای سال 2020
خواندن

روندهای برتر طراحی برای سال 2020

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

7 نکته برای منجنیق کردن کاردستی خود در استراتوسفر طراحی

طراح ارشد Aardman و خلاق JamFactory ، Gavin trange از بله گفتن به هر فرصتی امرار معاش کرده است. او ممکن است یک مجسمه Gromit به طول چهار متر در هنگ کنگ به نمایش بگذارد و یک علامت تجاری اخیر برای آردمان...