به صورت کلی برای تست عملکرد (functional test) دو روش جعبه سفید (whitebox) و جعبه سیاه (blackbox) وجود دارد. در حالت جعبه سفید، خود برنامه نویس یک روال تست را در قالب unit test برای تک تک کلاس ها و توابع برنامه می نویسد و کد را تست می کند. ولی در حالت جعبه سیاه ما دیگر کاری با ساختار داخلی کد نداریم و فقط به سیستم ورودی لازم را میدهیم و انتظار داریم خروجی درستی به ما بدهد. یکی از بهترین ابزارهای این تست Selenium است که با این نرم افزار نه تنها می توانید تست هایی را برای هر بخش تعریف کنید، بلکه می توانید تست ها را زمان بندی کرده و به طور خودکار انجام دهید. فرض کنید وب سایت شما ۱۰۰ ویژگی مختلف دارد، شما همه ی این ۱۰۰ ویژگی را تست می کنید و وب سایتتان را منتشر میکنید. بعد از دو روز یک باگ گزارش می شود و یا میخواهید تغییر کوچکی در روند فعالیت کاربر ایجاد نمایید. آیا پس از اعمال تغییرات یا رفع باگ میخواهید دوباره همه ی آن ۱۰۰ ویژگی را تست کنید. اینجاست که سلنیوم به کمک شما می آید و همه ی تست ها را به صورت خودکار انجام می دهد. سلنیوم دو بخش اصلی به نام های سلنیوم IDE یا (selenium IDE) و سلنیوم وب درایور (selenium webdriver) دارد. سلنیوم IDE یک addon برای فایرفاکس است و پس از نصب آن می توانید آیکن آن را در کنار نوار آدرس ببینید. سلنیوم وب درایور یک کتابخانه برنامه نویسی است که برای اکثر زبان های معروف از جمله پایتون و جاوا موجود است. این کد را می توانید از سلنیوم IDE خروجی بگیرید. پس از اینکه در سلنیوم IDE ضبط دستورات تمام شد از منوی فایل روی export test case رفته و زبان مورد نظر خود را انتخاب کنید. سپس سلنیوم یک خروجی به همان زبان به شما خواهد داد. در دوره آموزشی Udemy Selenium WebDriver Training with Java and Many Live Projects با آموزش سلنیوم وب درایور همراه با جاوا و پروژه های مختلف اشنا خواهید شد.
اسپرینگ (Spring) یکی از معروف ترین و پرکاربرد ترین framework های جاوایی است. این framework متن باز بوده و اولین بار در سال 2003 ارائه شده است. اسپرینگ از ابتدای ارائه تا الان تغییرات زیادی داشته و بسیار قدرتمند و معروف شده است. اسپرینگ framework قدرتمندی است که هدف اصلی آن برنامه های enterprise هستند اگرچه اسپرینگ بیشتر java EE را هدف گرفته است ولی در محیط های غیر از EE نیز می توان از آن استفاده کرد. بر خلاف تصوری که اشتباهاً در بین خیلی ها شکل گرفته است اسپرینگ برای ساخت اپلیکیشن تحت وب نیست بلکه Spring web که مبتنی بر مدل MVC بود و بیشتر به عنوان Spring MVC شناخته می شود تنها بخشی از اسپرینگ است که از آن برای ساخت برنامه های تحت وب استفاده می شود. یکی از زیر مجموعه های اسپرینگ، Spring Boot می باشد. اسپرینگ بوت در طراحی اپلیکیشن هایی کاربرد دارد که به صورت تکی و بدون هیج وابستگی به نرم افزار های دیگر یا چارچوب خاصی طراحی می شوند. در دوره آموزشی Packt Spring Boot Tips, Tricks, and Techniques با آموزش ترفندها، حقه ها و تکنیک های اسپرینگ بوت اشنا خواهید شد.
Laravel یکی از فریم ورک های زبان PHP است که برای توسعه اپلیکیشن های وب در نظر گرفته شده است و بر پایه MVC کار می کند. فریم ورک لاراول، برنامه نویسی برنامه های کاربردی تحت وب با زبان PHP را سادهتر می نماید و کمک بسزایی برای انجام پروژه های PHP و توسعه آسان آنها می کند. فریم ورک Laravel بر روی اجزای مختلف فریم ورک symfony ساخته شده است و به برنامه شما پایهای بزرگ از کد های قابل اعتماد و تست شده می دهد. لاراول مجموعه ای از بهترین راه حل ها با سینتکس پر معنا و خلاقانه را ارائه میکند که به درستی انجام می پذیرند. لاراول توسط آسان سازی کارهای معمول مانند احراز هویت، روتینگ، sessionها ، کار با بانکهای اطلاعاتی و ... که تقریبا در تمامی پروژه های تحت وب استفاده میشوند، مسائل و مشکلات ناشی از توسعه را هم برای توسعه دهنده و هم برای کارفرما کاهش می دهد. لاراول، سیمفونی، کیک پی اچ پی و کد ایگنایتر از محبوب ترین فریم ورک های زبان PHP هستند که بررسی میزان محبوبیت آنها در گوگل ترند حاکی از رشد روز افزون فریم ورک Laravel است. در دوره آموزشی Udemy Laravel Framework 2019 Complete Professional Project Course با آموزش پیشرفته توسعه چارچوب لاراول 2019 اشنا خواهید شد.
اندروید (معنی یونانی: به معنای مَرد، انسان، شبه آدم یا رُبات)، یک سیستم عامل موبایل است که گوگل برای اسمارت فونها و تبلتها و هم اکنون برای تلویزیونها عرضه مینماید و با همکاری دهها شرکت بر روی دستگاههای مبتنی بر اندروید قرار میدهد. اندروید بر پایهٔ هسته لینوکس ساخته شده است و بیشترین استفاده را در بین سیستم عاملهای موبایل دارد. نرمافزارهای جانبی اندرویدی با استفاده از زبان جاوا نوشته میشوند و برای ارتباط با لایههای زیرین سیستم عامل میتوانند از کتابخانههای جاوایی اندروید استفاده کنند. بخش رابط کاربری سیستم عامل اندروید با زبان جاوا نوشته شدهاست و بسیاری از برنامههای اندروید هم با جاوا نوشته شدهاند. اما این سیستم عامل، Java Virtual Machine ندارد. برای اجرای برنامههای جاوایی روی این سیستم عامل، کدهای جاوا به کدهای Dalvik تبدیل میشوند و سپس روی Dalvik Virtual Machine اجرا میشوند. دالویک یک ماشین مجازی جاوایی است که برای سیستم عامل اندروید بهینه شدهاست تا هم RAM و هم CPU و هم باتری کمتری مصرف کند. برنامههای جاوایی معمولی هم که روی گوشیهای دیگر اجرا میشوند با استفاده از نرمافزارهای شبیهساز ماشین مجازی جاوا مانند j2ME MIDP Runner روی این سیستم عامل قابل اجرا هستند. در دوره آموزشی Packt The Android developer's journey با آموزش توسعه اندروید اشنا خواهید شد.
Haskell زبان برنامه نویسی تابعی استاندارد شده با زبان شناسی غیر قطعی، بعد از Haskell Curry نام گذاری شد. این زبان با کمیته ای که در سال 1980 برای بیان هدف شناساندن این چنین زبانی شکل گرفت، ایجاد شد. آخرین استاندارد زبان نیمه رسمی Haskell 98 نامزد زبان آسان و سبک برای آموزش و به عنوان پایه ای برای گسترش های آینده است. زبان به تکامل خود به سرعت با Hugs و GHC که نشان دهنده ی استاندارد بالفعل جاری هستند، ادامه می دهد. جالب ترین جنبه Haskell شامل پشتیبانی از توابع بازگشتی و انواع داده ای، مطابقت با الگو، درون یابی لیست و عبارات دفاعی می باشد. ترکیب این خصوصیات می تواند توابعی را بسازد که نوشتن آنها در زبان برنامه نویسی شیوه ای سخت خواهد بود ولی غالباً اجرای آن در Haskell آسان است در سال 2002، این زبان یک زبان تابعی است که اغلب تحقیقات روی آن صورت گرفته است. در دوره آموزشی Udemy Learning Path: Haskell: Functional Programming and Haskell با آموزش برنامه نویسی هسکل اشنا خواهید شد.
در سپتامبر سال 2016، فریم ورک محبوب جاوا اسکریپت Vue.js نسخه ی v2 خود
را منتشر کرد. Vue.js 2.0 آمار فوق العاده ای از عملکرد، حجم نسبتا کم
(نسخه دارای runtime فشرده Vue هنگام کوچک شدن و zip شدن حجمی به اندازه ۱۶
کیلوبایت دارد)، آپدیت کتابخانه های همراه خود مانند vue-router و vuex،
کتابخانه مدیریت وضعیت برای Vue. را به رخ می کشد. دامنهی عملکردهای
Vue.js محدود به تعریف و تغییر متغیرها و تعریف مدلها نیست. امکانات
پیشرفتهتری مانند نمایش شرطی، حلقهها و کامپوننتها، از جمله ابزارهای
دیگری هستند که برنامهنویسی سیستمهای پیشرفته تحت وب را به کاری آسان و
سریع تبدیل میکنند. در دوره آموزشی Udemy Vue JS + Spring Boot Microservices and Spring Cloud با آموزش وویی جی اس و ساخت مایکروسرویس با اسپرینگ بوت اشنا خواهید شد.
ای جکس (AJAX مخفف Asynchronous JavaScript And XML) مجموعه ایست از تکنولوژی هایی که هر یک در جای خود تکنولوژی کامل و موفقی هستند، و اکنون به شکل جدیدی در کنار هم قرار گرفته و ایجکس را تشکیل دادهاند. تکنولوژیهایی که در ایجکس از آنها استفاده میشود عبارتاند از: نمایش استاندارد با استفاده از XHTML و CSS، نمایش پویایی و تعاملات با استفاده از Document Object Model (DOM)، تبادل و دستکاری داده با استفاده از XML و XSLT، بازیابی دادهها بصورت غیر همروند با استفاده از XMLHttpRequest.و جاوااسکریپت برای سرهمبندی همه چیز با هم. در واقع ایجکس ترکیبی از تکنولوژیهای فوق است و هیچ چیز جدیدی ارائه نمیدهد. همه شگفتی ایجکس در معماریایست که برای ساخت یک برنامه وب، با استفاده از این تکنولوژیها ارائه میدهد. در دوره آموزشی Udemy PHP AJAX Bootcamp با آموزش پی اچ پی ای جکس اشنا خواهید شد.
زبان برنامه نویسی جاوا زبانی است که تحت انحصار هیچ شرکت و هیچ فرد خاصی نیست و به صورت سورس باز و همگانی در حال توسعه و پیشرفته است. شاید بتوان گفت دلیل ناشناس ماندن آن، این است که یک مرکز اصلی و قوی برای تبلیغات و مانور مثل مایکروسافت ندارد. البته نمی شود گفت که جاوا فاقد چنین مرکزی است ولی می شود این طور گفت که جاوا فاقد یک مرکز و یک صاحب واحد می باشد تا آن را توسعه بدهند. اما در هر زبان برنامه نویسی،داشتن یک IDE، یکی از همین سیاست هایی است که به آن اشاره شد. مایکروسافت برای محصولات خود ویژوال استودیو را عرضه کرده است، ولی جاوا در حال حاضر چندین IDE قوی برای توسعه از طرف شرکت های مختلف و معتبر و با کیفیت ها و قیمت های گوناگون از جمله (NetBeans(Sun), JDevelopers(Oracle), Eclipse(IBM) و ... دارد. از جمله محیط هایی که به صورت رایگان و قوی عرضه شده، نرم افزار Eclipse است که تحت لیسانس GPL و سورس باز می باشد. Eclipse یک محیط برنامه نویسی (IDE) کد منبع باز برای زبان برنامه نویسی جاوا (که البته دارای نسخه هایی جهت برنامه نویسی به زبان هایی مانند python, Perl, PHP, C++, C و ... است ) می باشد. این محیط توسط شرکت هایی مانند IBM پشتیبانی می گردد. در دوره آموزشی Udemy Eclipse Java IDE for programmers با آموزش محیط برنامه نویسی اکلیپس جاوا اشنا خواهید شد.
کمپانی Adobe به دنبال طراحی User Experience است و به تازگی ابزارهایی را تحت نام پروژه Project Comet نمونه سازی کرده و یک پیش نمایش عمومی از این ابزار با نام Adobe Experience Designer CC یا به اختصار XD منتشر ساخته است. این برنامه نه تنها جایگزین همه ابزارهای موجود خواهد شد، بلکه یک برنامه سبک وزن و آسان برای استفاده طراحان رابط کاربری و تجربیات کاربر است که برای ایجاد و اتصال رابط ها با هم در وب، دسکتاپ و سیستم عامل های تلفن همراه بکار می رود. XD یک راه حل مفید برای طراحانی است که از ایجاد و اتصال رابط ها با استفاده از Illustrator، Photoshop و Dreamweaver خسته شده اند. و رابط کاربری آن برای وارد کردن و قرار دادن موجودی ها نسبت به ابزارهای دیگر قابل درک تر است. همچنین دارای برخی قابلیت های جدید بزرگ، مانند ایجاد آسان و مدیریت متعاقب تکرار گروه به نام Repeat Grids است. در دوره آموزشی Skillshare Mobile App Design From Scratch In Adobe XD 2019 با آموزش طراحی اپ موبایل با ادوبی ایکس دی 2019 اشنا خواهید شد.
نرم افزارهای مدیریت محتوا یا (CMS) ها هر روز جای خود را بیشتر از پیش در میان سایتهای اینترنتی باز می کنند و به هواداران و طرفداران خود می افزایند. این نرم افزارهای تحت وب و اپن سورس، امکانات بسیاری را در اختیار کاربران، طراحان، توسعه دهندگان و مدیران سایت ها قرار داده و برنامه نویسان را از بسیاری از دوباره کاری ها نجات می دهند. یکی از محبوبترین این نرم افزارها، وردپرس است. وردپرس یک نرمافزار تحت وب است که در واقع ادامه موفقیتآمیز پروژه b2 می باشد و توسط مت مولوگ (Matt Mullenweg) بنیان گذاری شده است. مت و همکارانش با تاسیس شرکت Automattic هماکنون در حال گسترش این نرم افزار و پروژه های موازی آن مانند WordPress.com و Akismet می باشند. عمومیترین استفاده از وردپرس برای راهاندازی یک وبلاگ است زیرا وردپرس دارای هستهای قدرتمند است و پیشروترین نرمافزار در این زمینه به شمار میرود. در دوره آموزشی Udemy Become a WordPress Professional in 10 Days با آموزش وردپرس حرفه ای در 10 روز اشنا خواهید شد.