<?xml version="1.0"?>
<rss version="2.0"><channel><title>&#x627;&#x644;&#x628;&#x631;&#x645;&#x62C;&#x629;: &#x645;&#x642;&#x627;&#x644;&#x627;&#x62A; &#x639;&#x627;&#x645;&#x629; &#x62D;&#x648;&#x644; &#x627;&#x644;&#x628;&#x631;&#x645;&#x62C;&#x629;</title><link>https://academy.hsoub.com/programming/general/page/2/?d=2</link><description>&#x627;&#x644;&#x628;&#x631;&#x645;&#x62C;&#x629;: &#x645;&#x642;&#x627;&#x644;&#x627;&#x62A; &#x639;&#x627;&#x645;&#x629; &#x62D;&#x648;&#x644; &#x627;&#x644;&#x628;&#x631;&#x645;&#x62C;&#x629;</description><language>ar</language><item><title>&#x645;&#x627; &#x647;&#x64A; &#x623;&#x643;&#x648;&#x627;&#x62F; &#x627;&#x644;&#x628;&#x631;&#x645;&#x62C;&#x629;</title><link>https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%8A-%D8%A3%D9%83%D9%88%D8%A7%D8%AF-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r2244/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_02/1317516231_.png.9563a1cfd45c4d6facdc59d050767136.png" /></p>
<p>
	في مقال اليوم سنوضح لك ما هي أكواد البرمجة، وما أهمية تعلمها في عالم اليوم الذي يزداد فيه تعاملنا مع الآلات والأجهزة الرقمية بشكل كبير، وتزداد معه حاجتنا إلى توجيه هذه الأجهزة وتسخيرها لتلبّي حاجاتنا ومتطلباتنا. فكل جهاز رقمي يخطر في بالك اليوم، سواء أكان حاسوبًا أم تلفازًا حديثًا أم جوالًا أم صاروخًا فضائيًّا، لا يعمل إلا بالكود البرمجي. فما هو الكود البرمجي؟ وكيف يعمل؟ وما طريقة كتابته؟
</p>

<h2>
	ما هو الكود البرمجي
</h2>

<p>
	الكود code كلمةٌ إنكليزية الأصل، تطوّر معناها على مرّ العصور فقد كانت تعني في البداية كتابة القوانين، ثم أصبحت تشير إلى نظام تخاطب سري تحكم استخدامه قوانين خاصة، ثم أخيرًا تطور معناها ليصبح نظامًا أو أسلوبًا للتعبير عن المعلومات والتعليمات في صيغة يمكن للحاسوب فهمها.
</p>

<p>
	فالكود البرمجي فهو مجموعة من التعليمات أو نظام من القواعد المكتوبة بلغة برمجية معينة. وتستخدم أكواد البرمجة في <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-r1827/" rel="">تطوير مختلف أنواع التطبيقات</a>، كما تستخدم في بناء أنظمة <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-r2239/" rel="">الذكاء الاصطناعي</a> وتعلم الآلة، و<a href="https://academy.hsoub.com/programming/game-development/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%A3%D9%84%D8%B9%D8%A7%D8%A8/" rel="">برمجة الألعاب</a> الإلكترونية وغيرها من <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AC%D8%A7%D9%84%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">مجالات البرمجة</a> المختلفة.
</p>

<p>
	كانت كتابة الكود البرمجي في البداية عملية صعبة ومعقدة وتعتمد على لغات برمجة منخفضة المستوى وقريبة من مستوى الجهاز أو الآلة التي يعمل عليها مثل لغة الآلة ولغة التجميع، في حين يكتب الكود البرمجي اليوم بلغات <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%B3%D8%AA%D9%88%D9%8A%D8%A7%D8%AA-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">عالية المستوى</a> وقريبة للغات البشرية المحكية مثل لغة بايثون وجافا وجافاسكربت وغيرها.
</p>

<p>
	بعدها يمرّ هذا الكود البرمجي بمراحل من التفسير interpretation أو التصريف compilation لينتقل من الأسلوب القريب من الفهم البشري إلى ما هو أقرب إلى العتاد الحاسوبي الذي يتعامل مع مواقع <a href="https://academy.hsoub.com/apps/operating-systems/%D8%A7%D9%84%D8%B0%D8%A7%D9%83%D8%B1%D8%A9-%D9%88%D8%A3%D9%86%D9%88%D8%A7%D8%B9%D9%87%D8%A7-r880/" rel="">ذاكرة الحاسوب</a> و<a href="https://academy.hsoub.com/programming/os-embedded-systems/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D9%88%D8%AD%D8%AF%D8%A9-%D8%A7%D9%84%D9%85%D8%B9%D8%A7%D9%84%D8%AC%D8%A9-%D8%A7%D9%84%D9%85%D8%B1%D9%83%D8%B2%D9%8A%D8%A9-%D9%88%D8%B9%D9%85%D9%84%D9%8A%D8%A7%D8%AA%D9%87%D8%A7-%D9%81%D9%8A-%D9%85%D8%B9%D9%85%D8%A7%D8%B1%D9%8A%D8%A9-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8-r1716/" rel="">وحدة المعالجة المركزية</a> مباشرة ويدير العمليات فيها.
</p>

<p>
	ويُسمّى كود البرمجة الذي يكتبه المبرمج قبل أن يُترجَم كود المصدر أو الكود المصدري source code، وهو الذي تجري على تعليماته بعد ذلك برامج ترجمة أو تفسير لتنتج كودًا آخر بلغة الآلة يُسمّى الكود الهدف target code أو الكود المترجَم compiled code.
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة علوم الحاسوب
		</p>

		<p class="banner-subtitle">
			دورة تدريبية متكاملة تضعك على بوابة الاحتراف في تعلم أساسيات البرمجة وعلوم الحاسوب
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/computer-science/" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<a href="https://academy.hsoub.com/learn/computer-science/" rel=""><img alt="دورة علوم الحاسوب" src="https://academy.hsoub.com/learn/assets/images/courses/computer-science.png"></a>
	</div>
</div>

<h2 id="cleancode">
	ما معنى كود برمجي نظيف Clean Code
</h2>

<p>
	نظافة كود البرمجة هو اصطلاح يضمّ عدة معايير ويتبع مجموعة <a href="https://academy.hsoub.com/programming/general/%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D8%A8%D8%B3%D8%A7%D8%B7%D8%A9-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-r1870" rel="">قواعد</a> اعتمدها مجتمع المبرمجين بوصفها مقياسًا لجودة هذا الكود. وتعلم كتابة الأكواد البرمجية النظيفة مهارة لا بدّ منها لكل مطور أو مبرمج محترف يريد أن يعمل في فريق أو شركة أو <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA/" rel="">يبرمج تطبيقات</a> مختلفة، ومن شروط الكود البرمجي النظيف نذكر:
</p>

<ul>
	<li>
		أن تكون أسماء المتحولات والدوال المستخدمة في الكود البرمجي ذات معنى ودلالة.
	</li>
	<li>
		أن تكون لكل مهمة محددة وظيفة أو دالة واحدة تنجزها.
	</li>
	<li>
		أن يحتوي على تعليقات توضح عمل الكود البرمجي وتبيّن مواضع اللبس فيه.
	</li>
	<li>
		أن يكون منظَّمًا في الصيغة والإزاحات.
	</li>
	<li>
		ألا يحتوي على تكرار لنفس الكود عدة مرات.
	</li>
	<li>
		أن يُعالج الأخطاء في حال حدوثها.
	</li>
	<li>
		أن يحتوي على اختبارات تفحص وظائفه.
	</li>
</ul>

<p>
	إليك مثالًا عن كود نظيف مكتوب بلغة بايثون لحساب مساحات الأشكال يحقق المعايير المطلوبة:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_4581_6" style=""><span class="kwd">import</span><span class="pln"> math


</span><span class="kwd">def</span><span class="pln"> calculate_circle_area</span><span class="pun">(</span><span class="pln">radius</span><span class="pun">):</span><span class="pln">
    </span><span class="str">"""
    تقوم هذه الدالة بحساب مساحة دائرة معطاة نصف قطرها.
    الدخل:
    radius (float): نصف قطر الدائرة.
    الخرج:
    float: مساحة الدائرة.
    """</span><span class="pln">
    </span><span class="com"># حساب المساحة باستخدام الصيغة πr^2</span><span class="pln">
    area </span><span class="pun">=</span><span class="pln"> math</span><span class="pun">.</span><span class="pln">pi </span><span class="pun">*</span><span class="pln"> radius </span><span class="pun">*</span><span class="pln"> radius
    </span><span class="kwd">return</span><span class="pln"> area


</span><span class="com"># مثال على استخدام الدالة</span><span class="pln">
radius </span><span class="pun">=</span><span class="pln"> </span><span class="lit">5</span><span class="pln">
area </span><span class="pun">=</span><span class="pln"> calculate_circle_area</span><span class="pun">(</span><span class="pln">radius</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"مساحة الدائرة التي نصف قطرها"</span><span class="pun">,</span><span class="pln"> radius</span><span class="pun">,</span><span class="pln"> </span><span class="str">"="</span><span class="pun">,</span><span class="pln"> round</span><span class="pun">(</span><span class="pln">area</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">))</span></pre>

<p>
	لابد أن سنفهم بسهولة كود البرمجة السابق والهدف منه حتى لو لم تكن على دراية مسبقة بلغة البرمجة التي كتب بها، الآن قارن كود البرمجة السابق بالكود التالي غير النظيف الذي يؤدي الوظيفة نفسها:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_4581_8" style=""><span class="kwd">import</span><span class="pln"> math

</span><span class="kwd">def</span><span class="pln"> func1</span><span class="pun">(</span><span class="pln">r</span><span class="pun">):</span><span class="pln">
    x </span><span class="pun">=</span><span class="pln"> math</span><span class="pun">.</span><span class="pln">pi </span><span class="pun">*</span><span class="pln"> r </span><span class="pun">*</span><span class="pln"> r
    </span><span class="kwd">return</span><span class="pln"> x

x </span><span class="pun">=</span><span class="pln"> func1</span><span class="pun">(</span><span class="lit">5</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"area ="</span><span class="pun">,</span><span class="pln"> x</span><span class="pun">)</span></pre>

<h2 id="">
	أنواع الكود البرمجي
</h2>

<p>
	كما تختلف أهداف البرمجة ومقاصدها، وكما تختلف أنظمة التشغيل والأجهزة، تختلف أنواع الكود البرمجي من جهتين هما:
</p>

<ul>
	<li>
		لغة البرمجة المستخدمة لكتابة كود البرمجة.
	</li>
	<li>
		أسلوب كتابة الكود البرمجي.
	</li>
</ul>

<p>
	فلنلق نظرة على كل منهما.
</p>

<h3 id="-1">
	لغات كتابة أكواد البرمجة
</h3>

<p>
	لكل لغة برمجة مجال تتفوق فيه على غيرها، وإن كانت معظم لغات البرمجة عالية المستوى اليوم متعددة الاستخدامات بفضل المكتبات المتعددة التي تتوفر فيها. ومن أشهر لغات البرمجة التي يمكنك كتابة أكواد برمجة باستخدامها نذكر:
</p>

<ul>
	<li>
		<p>
			<a href="https://academy.hsoub.com/programming/javascript/%D8%AA%D8%B9%D9%84%D9%85-%D9%84%D8%BA%D8%A9-%D8%AC%D8%A7%D9%81%D8%A7-%D8%B3%D9%83%D8%B1%D9%8A%D8%A8%D8%AA-%D9%85%D9%86-%D8%A7%D9%84%D8%B5%D9%81%D8%B1-%D8%AD%D8%AA%D9%89-%D8%A7%D9%84%D8%A7%D8%AD%D8%AA%D8%B1%D8%A7%D9%81-r2046/" rel="">جافاسكريبت JavaScript</a>: تتفوق هذه اللغة في إضافة الديناميكية إلى صفحات الويب، وإن كانت استخداماتها قد اتسعت لتشمل مجالات كثيرة، من بناء الواجهات الخلفية لتطبيقات الويب إلى بناء تطبيقات الجوال.
		</p>
	</li>
	<li>
		<p>
			<a href="https://academy.hsoub.com/programming/python/%d8%aa%d8%b9%d9%84%d9%85-%d9%83%d8%aa%d8%a7%d8%a8%d8%a9-%d8%a3%d9%83%d9%88%d8%a7%d8%af-%d8%a8%d8%a7%d9%8a%d8%ab%d9%88%d9%86-%d9%85%d9%86-%d8%ae%d9%84%d8%a7%d9%84-%d8%a7%d9%84%d8%a3%d9%85%d8%ab%d9%84%d8%a9-%d8%a7%d9%84%d8%b9%d9%85%d9%84%d9%8a%d8%a9-r2048/" rel="">بايثون Python</a>: تصدّرت هذه اللغة مجال <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">الذكاء الاصطناعي</a> و<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%86%D8%B8%D8%B1%D8%A9-%D8%B3%D8%B1%D9%8A%D8%B9%D8%A9-%D8%B9%D9%84%D9%89-%D9%85%D8%AC%D8%A7%D9%84-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9-r1933/" rel="">تعلم الآلة</a>، ولطالما جذبت هذه اللغة المبتدئين لسهولة قراءة وكتابة أكوادها البرمجية. كما تتنوع <a href="https://academy.hsoub.com/programming/python/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D9%84%D8%BA%D8%A9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86/" rel="">تطبيقات ومجالات لغة بايثون</a> من بناء الواجهات الخلفية لتطبيقات الويب إلى <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تطبيقات الذكاء الاصطناعي</a> وتطبيقات استخلاص المعلومات من مواقع الويب وأتمتة المهام المتكررة وغير ذلك.
		</p>
	</li>
	<li>
		<p>
			<a href="https://academy.hsoub.com/programming/java/" rel="">جافا Java</a>: تتميز لغة البرمجة جافا بأدائها العالي ومجتمعها الواسع ودعمها <a href="https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D8%A7%D9%84%D9%83%D8%A7%D8%A6%D9%86%D8%A7%D8%AA-oop/" rel="">للبرمجة كائنية التوجه oop</a>. وتستخدم لغة جافا في العديد من المجالات من أبرزها بناء التطبيقات الضخمة التي تتعامل مع قواعد البيانات، كما تستخدم في بناء الواجهات الخلفية لمواقع وتطبيقات الويب.
		</p>
	</li>
	<li>
		<p>
			<a href="https://academy.hsoub.com/programming/ruby/%D9%84%D8%BA%D8%A9-%D8%B1%D9%88%D8%A8%D9%8A/" rel="">روبي Ruby</a>: تتميز لغة روبي على غيرها من لغات البرمجة عالية المستوى بسهولة قراءة وكتابة كود البرمجة المكتوب بها. وتعد هذه اللغة من <a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D9%87%D9%84-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أسهل لغات البرمجة</a> على المبتدئين وتتعدد استخداماتها من تطوير تطبيقات الويب والجوال إلى برمجة الألعاب وتحليل البيانات وحتى تطبيقات الذكاء الصنعي.
		</p>
	</li>
	<li>
		<p>
			<a href="https://academy.hsoub.com/programming/go/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D9%84%D8%BA%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-go-r222/" rel="">جو Go</a>: تتصدر لغة البرمجة Go المشهد في التطبيقات المتوازية التي تعتمد على مبدأ خيوط المعالجة المتوازية وتمكنك من الاستفادة من كامل قوة المعالج. وتناسب التطبيقات التي تهتم بالأداء العالي، مثل التطبيقات الشبكية والسحابية وتطوير الويب و<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%AD%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">تحليل البيانات</a> و<a href="https://academy.hsoub.com/programming/game-development/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D9%87%D9%85%D9%8A%D8%A9-%D8%B5%D9%86%D8%A7%D8%B9%D8%A9-%D8%A7%D9%84%D8%A3%D9%84%D8%B9%D8%A7%D8%A8-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A%D8%A9-r2228/" rel="">الألعاب الإلكترونية</a>.
		</p>
	</li>
</ul>

<h3 id="-2">
	أساليب كتابة أكواد البرمجة
</h3>

<p>
	تتنوع أساليب تنظيم الكود بين لغات البرمجة وبين المطورين. وقد تدعم لغة البرمجة الواحدة عدة أساليب برمجية، وقد تقتصر على أسلوب واحد. وفيما يلي نذكر أهم أساليب كتابة كود البرمجة:
</p>

<ul>
	<li>
		<p>
			<a href="https://academy.hsoub.com/programming/general/%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%83%D8%A7%D8%A6%D9%86%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%88%D8%AC%D9%87-r1375/" rel="">البرمجة كائنية التوجه <abbr title="Object-Oriented Programming | البرمجة كائنية التوجه"><abbr title="Object-Oriented Programming | البرمجة كائنية التوجه">OOP</abbr></abbr></a> أو <a href="https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D8%A7%D9%84%D9%83%D8%A7%D8%A6%D9%86%D8%A7%D8%AA-oop/" rel="">البرمجة بالكائنات</a> هي أسلوب في كتابة أكواد البرمجة يعتمد على مفهوم الكائن object الذي يمكن أن يحتوي على بيانات أو خصائص تصفه properties وعلى توابع برمجية methods تتعامل مع هذه البيانات، وتعد البرمجة كائنية التوجه من أهم وأشهر أساليب كتابة الأكواد والشيفرات البرمجية، وهي مدعومة في عدة لغات برمجة مثل جافا وبايثون (التي تتبع برمجة كائنية التوجه قائمة على مفهوم الصنف class) وفي جافاسكريبت (التي تتبع مفهوم برمجة كائنية التوجه قائمة على مفهوم الخاصية <a href="https://wiki.hsoub.com/JavaScript/Object/prototype" rel="external" target="_blank">prototype</a>).
		</p>
	</li>
	<li>
		<p>
			<a href="https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%A5%D8%AC%D8%B1%D8%A7%D8%A6%D9%8A%D8%A9/" rel="">البرمجة الإجرائية Procedural Programming</a>: هي أسلوب في كتابة الكود البرمجي يعتمد على مفهوم الإجراءات ونعني بها سلسلة من الخطوات لإنجاز مهمة محددة وينفذها الحاسوب لدى استدعاء هذه الإجرائية. تدعم لغات بايثون وسي وجافا سكريبت وغيرها مبدأ البرمجةَ الإجرائية.
		</p>
	</li>
	<li>
		<p>
			<a href="https://academy.hsoub.com/programming/general/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D9%88%D8%B8%D9%8A%D9%81%D9%8A%D8%A9-functional-programming-r1391/" rel="">البرمجة الوظيفية Functional Programming</a>: هي نموذج برمجي يعتمد على تطبيق الدوال أو التوابع وتركيبها، وتشيع في اللغات المستعملة في الصناعة والتعليم، مثل لغة وولفرام Wolfram كما تدعمها لغة بايثون وكوتلن Kotlin وغيرها.
		</p>
	</li>
	<li>
		<p>
			البرمجة المنطقية Logic Programming: هي نموذج برمجي يعتمد على المنطق الصُّوَري أو الرسمي formal logic، ويُستخدم لاستنتاج قيم مجهولة بناءً على قواعد ومعارف معلومة، من أهم اللغات التي تعتمد على برمجة المنطق لغة برولوغ Prolog.
		</p>
	</li>
</ul>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			نفذ مشاريعك البرمجية باللغة التي تحتاجها
		</p>

		<p class="banner-subtitle">
			استعن بأفضل المبرمجين في كتابة وتصحيح الأكواد البرمجية على خمسات
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://khamsat.com/programming/scripting" rel="external">اطلب خدمتك الآن</a>
		</div>
	</div>
</div>

<h2>
	برامج كتابة الكود البرمجي
</h2>

<p>
	يعتمد المطورون على برامج تسهّل وتيسّر كتابة الكود البرمجي، منها بيئات التطوير المتكاملة <a href="https://academy.hsoub.com/programming/workflow/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A8%D9%8A%D8%A6%D8%A9-%D8%A7%D9%84%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%85%D8%AA%D9%83%D8%A7%D9%85%D9%84%D8%A9-ide-r1513/" rel="">IDEs</a> ومحررات الأكواد البرمجية إذ يمكن للمبرمج استخدام كل بيئات التطوير المتكاملة والمحررات في كتابة وتحرير الأكواد البرمجية، لكن بيئات التطوير المتكاملة تتميز بدعمها لميزات أكبر مثل توفير أدوات مدمجة لتسهيل كتابة الكود وتصريفه وتشغيله وتصحيح أخطائه.
</p>

<p>
	ومن أشهر برامج كتابة أكواد البرمجة نذكر:
</p>

<ul>
	<li>
		فيجوال استوديو كود Visual Studio Code: أشهر وأوسع بيئات التطوير المتكاملة، تدعم مختلفة أنظمة التشغيل، ومعظم <a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D9%87%D9%84-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">لغات البرمجة</a>.
	</li>
	<li>
		IntelliJ IDEA: من أشهر بيئات التطوير المستعملة للغة جافا Java، ويمكن استعمالها مع لغات أخرى مثل Javascript وغيرها.
	</li>
	<li>
		PyCharm: بيئة تطوير مبنية خصيصًا <a href="https://academy.hsoub.com/programming/python/%D9%85%D8%AD%D8%B1%D8%B1-%D8%A3%D9%83%D9%88%D8%A7%D8%AF-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86/" rel="">لتحرير أكواد بايثون</a>، وتدعم لغات برمجة كثيرة أخرى.
	</li>
	<li>
		NetBeans: من بيئات التطوير الشائعة والمجانية، وتدعم البرمجة بلغات جافا وجافا سكريبت و PHP و C++‎ وغيرها.
	</li>
</ul>

<h2 id="-3">
	خطوات كتابة أكواد البرمجة
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="144098" href="https://academy.hsoub.com/uploads/monthly_2024_02/1848584578_.png.cf0fb683aec267d5b8627ca1c87deec1.png" rel=""><img alt="كتابة أكواد البرمجة" class="ipsImage ipsImage_thumbnailed" data-fileid="144098" data-ratio="62.60" data-unique="7b4mextkt" style="width: 500px; height: auto;" width="500" src="https://academy.hsoub.com/uploads/monthly_2024_02/.thumb.png.82cce0aafafc5e3263459a59f8a36a29.png"> </a>
</p>

<p>
	كيف إذًا تبدأ تعلم كتابة أكواد البرمجة؟ إن <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D9%84%D9%85-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r2236/" rel="">تعلم لغات البرمجة</a> وفهم مبادئ <a href="https://academy.hsoub.com/programming/advanced/%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA/" rel="">الخوارزميات</a> وأصول التفكير المنطقي هي البداية التي يجب على كل <a href="https://academy.hsoub.com/programming/general/%D8%AF%D8%B1%D8%A7%D8%B3%D8%A9-%D8%AA%D8%AE%D8%B5%D8%B5-%D9%87%D9%86%D8%AF%D8%B3%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA/" rel="">مهندس برمجيات</a> الانطلاق منها.
</p>

<p>
	إليك هذه الخطوات التي تساعدك على كتابة الأكواد البرمجية:
</p>

<ol>
	<li>
		أمعن التفكير في المشكلة المطلوب حلها: لا بد من إمعان النظر في المشكلة قبل البدء بكتابة كود البرمجة، يمكنك استخدام الورقة والقلم لفهم المشكلة جيدًا وإيجاد حل منطقي لها، كما يستعمل مهندسو البرمجيات مخططات ووثائق لتحليل المتطلبات وحالات الاستخدام لتطوير البرامج والتطبيقات.
	</li>
	<li>
		قسّم المشكلة إلى مشكلات أصغر قدر الإمكان: بمعنى آخر اعتمد مبدأ فرّق تسُد، فكلما كانت الوحدات البرمجية في كودك محددة وتركز على مهمة واحدة كان الكود أعلى جودة وأفضل أداءً.
	</li>
	<li>
		حدد المدخلات والمخرجات لكود البرمجة ولكل وحداته الجزئية: تفيد هذه المعلومات في كتابة أكواد البرمجة وتسهيل مهمة صيانتها فيما بعد.
	</li>
	<li>
		حدد لغة البرمجة المناسبة لمشكلتك: هل تحتاج المشكلة إلى ذكاء صنعي وتعلم آلة؟ <a href="https://sndian.com/" rel="external">هل تحتاج إلى موقع ويب؟</a>
 هل تحتاج إلى تطبيق جوال أو حاسوب؟ لكل خيار من هذه الخيارات لغة برمجة هي الأمثل في نطاقه.
	</li>
	<li>
		ابدأ التطبيق العملي للحل: انتقل من التحليل والتصميم إلى التطبيق والإنجاز، وتذكّر الالتزام بقواعد كتابة الكود النظيف.
	</li>
	<li>
		اختبر أكواد البرمجة التي تكتبها: بعد كتابة الكود، اختبره بوسائل الاختبار اليدوي والبرمجي. توفّر كل لغات البرمجة أدوات لاختبار الوحدات والأنظمة والتكامل بين وحدات النظام.
	</li>
	<li>
		لا تتوقف عن صيانة وتطوير كود البرمجة: فالكود الناجح هو الكود الذي تستمر صيانته ويستمر تطويره بعد تسليم النسخة الأولى منه. لذا احرص على تطويره وإضافة المزيد من المميزات في أي كود تكتبه، وأصلح أي خلل يظهر بعد تسليمه للحصول على منتج برمجي عالي الجودة والكفاءة.<br>
		 
	</li>
</ol>

<div class="ipsEmbeddedVideo" contenteditable="false">
	<div>
		<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="113" id="ips_uid_4188_6" src="https://academy.hsoub.com/applications/core/interface/index.html" title="دليل تعلم البرمجة" width="200" data-embed-src="https://www.youtube-nocookie.com/embed/zaJQAOSKgPI?feature=oembed"></iframe>
	</div>
</div>

<h2 id="-4">
	توثيق أكواد البرمجة
</h2>

<p>
	إن توثيق أكواد البرمجة هو العملية المسؤولة عن شرح كيفية عمل الكود وكيفية استخدامه، وهو أمر لا بد منه في كتابة الأكواد البرمجية حتى لو كان الكود البرمجي مكتوبًا بشكل مفهوم بالنسبة لك ولا يحتاج لشرح، فعملية التوثيق تسهّل صيانة الكود البرمجي وتساعدك أنت شخصيًا على تذكر وظيفته عند العودة له بعد فترة من الزمن، كما يسهّل الكود الموثق جيدًا التعاون بين أعضاء الفريق البرمجي ويرفع مستوى التفاهم فيما بينهم.
</p>

<p>
	ومن أهم عناصر توثيق كود البرمجة:
</p>

<ul>
	<li>
		كتابة التعليقات ضمن كود البرمجة: حيث تساعد التعليقات داخل الكود على توثيق الكود وزيادة وضوحه وفهم كيفية عمله وكيفية استعماله، وتعد كتابة التعليقات كما شرحنا سابقًا أحد من شروط الكود النظيف.
	</li>
	<li>
		إنشاء مستندات التوثيق: هي مستندات تشرح كيفية عمل الكود البرمجي وكيفية استخدامه والاستفادة منه ومن واجهاته مثل واجهات برمجة التطبيقات <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%8A-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-%D9%84%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-api%D8%9F-r1512/" rel="">APIs</a>، وتشرح القرارات البرمجية التي اتخذها فريق التطوير والدوافع وراءها، ويكمن أن تنشر هذه المستندات على هيئة <a href="https://academy.hsoub.com/entrepreneurship/tips/%D8%A3%D9%81%D8%B6%D9%84-%D8%A8%D8%B1%D8%A7%D9%85%D8%AC-%D9%84%D8%A5%D9%86%D8%B4%D8%A7%D8%A1-%D9%82%D8%A7%D8%B9%D8%AF%D8%A9-%D8%A7%D9%84%D9%85%D8%B9%D8%B1%D9%81%D8%A9-%D9%84%D9%84%D8%B4%D8%B1%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%86%D8%A7%D8%B4%D8%A6%D8%A9-%D9%88%D8%A7%D9%84%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D8%A7%D9%84%D8%B5%D8%BA%D9%8A%D8%B1%D8%A9-r807/" rel="">قاعدة معرفة</a>، أو ضمن مستودع الكود أو في ملفات مستقلة تتضمن مقتطفات من الكود البرمجي مرفقة بشرحه.
	</li>
	<li>
		لا تنسَ أن التوثيق يحتاج إلى الصيانة والمراجعة والتطوير مثل الكود تمامًا، كما يجب أن يكون مستواه مناسبًا للفئة المستهدفة.
	</li>
</ul>

<h2 id="-5">
	خاتمة
</h2>

<p>
	بهذا نكون وصلنا إلى ختام مقالنا الذي وضحنا فيه مفهوم أكواد البرمجة. أرجو أن يكون هذا المقال قد وفّر لك ملعومات وافية حول معنى الكود البرمجي، وساعدك على معرفة أنواع أكواد البرمجة وطرق كتابتها المختلفة. وإذا كان لديك أي سؤال بخصوص ما ورد في المقال، فلا تتردد في كتابته في قسم التعليقات.
</p>

<h2 id="-6">
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/python/%D8%AA%D8%B9%D9%84%D9%85-%D9%83%D8%AA%D8%A7%D8%A8%D8%A9-%D8%A3%D9%83%D9%88%D8%A7%D8%AF-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-%D9%85%D9%86-%D8%AE%D9%84%D8%A7%D9%84-%D8%A7%D9%84%D8%A3%D9%85%D8%AB%D9%84%D8%A9-%D8%A7%D9%84%D8%B9%D9%85%D9%84%D9%8A%D8%A9-r2048/" rel="">تعلم كتابة أكواد بايثون من خلال الأمثلة العملية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/learn-programming/" rel="">دليل شامل لتعلم البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أساسيات البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D8%B4%D9%87%D8%B1-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-r2213/" rel="">تعرف على أشهر لغات برمجة التطبيقات</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2244</guid><pubDate>Tue, 13 Feb 2024 12:08:00 +0000</pubDate></item><item><title>&#x62A;&#x639;&#x631;&#x641; &#x639;&#x644;&#x649; &#x637;&#x631;&#x642; &#x62F;&#x631;&#x627;&#x633;&#x629; &#x627;&#x644;&#x628;&#x631;&#x645;&#x62C;&#x629; &#x645;&#x646; &#x627;&#x644;&#x635;&#x641;&#x631;</title><link>https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%B7%D8%B1%D9%82-%D8%AF%D8%B1%D8%A7%D8%B3%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%85%D9%86-%D8%A7%D9%84%D8%B5%D9%81%D8%B1-r2253/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_02/--.png.e379ff50147ab79405cdb1a7e3d3bdcb.png" /></p>
<p>
	مما لاشك فيه أن دراسة البرمجة وتعلمها أمر في غاية الأهمية في عصرنا الحالي فمن خلالها ستتمكن من فهم أجهزة الحاسوب والتقنيات المختلفة والتعامل معها بكفاءة، كما ستضمن الحصول على فرصة عمل جيدة ومربحة.<br>
	فإذا كنت مهتمًا بالبرمجة وتتساءل كيف أدرس البرمجة وأحترفها خلال فترة وجيزة، وتود التعرف على طرق دراسة البرمجة المختلفة وأبرز مميزات وتحديات كل طريقة من هذه الطرق أنصحك بقراءة هذا المقال للنهاية.
</p>

<h2 id="-1">
	أهمية دراسة البرمجة
</h2>

<p>
	قبل التعرف على طرق البرمجة، دعنا نستعرض أهمية دراسة البرمجة حيث توفر دراسة برمجة الحاسب العديد من المميزات والفوائد ومن بينها:
</p>

<ul>
	<li>
		تجعلك دراسة البرمجة شخصًا مثقفًا تقنيًا وقادرًا على التعامل مع الحاسوب والتفاعل معه وإخباره بما يجب عليه فعله لحل العديد من المشكلات التي تواجهك.
	</li>
	<li>
		توفر لك دراسة البرمجة وظائف ذات أجور مرتفعة وتعد <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D8%B9%D9%84%D9%89-%D8%AA%D8%AE%D8%B5%D8%B5%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A3%D8%AC%D8%B1%D9%8B%D8%A7-r1939/" rel="">تخصصات البرمجة</a> ومجالات عملها المختلفة واحدة من أعلى الوظائف أجرًا وتضمن لك الاستقلالية المالية.
	</li>
	<li>
		تعد البرمجة واحدة من أكثر المهن المطلوبة والواعدة في المستقبل وهي مهارة مطلوبة في مختلف مجالات العمل المختلفة وليس فقط التخصصات التقنية فمعظم الأعمال في الوقت الحالي تعتمد على التقنية واستخدام الحواسيب.
	</li>
	<li>
		إمكانية العمل من أي مكان وبأي وقت في الليل أو النهار، كما يمكنك العمل كموظف بدوام كامل أو كمستقل والتعامل مع عملاء من أي مكان في العالم، كل ما ستحتاجه هو جهاز حاسوب متصل بالإنترنت ولن يكون هناك أي حدود تمنعك من تحقيق أهدافك المهنية.
	</li>
	<li>
		تجعلك دراسة البرمجة شخصًا أكثر ذكاء، وتعزز مهارات <a href="https://academy.hsoub.com/programming/general/%D8%A3%D9%87%D9%85%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%81%D9%83%D9%8A%D8%B1-%D8%A7%D9%84%D9%85%D9%86%D8%B7%D9%82%D9%8A-%D9%81%D9%8A-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r2095/" rel="">التفكير المنطقي</a> لديك، وتكسبك منظورًا جديدًا للتعامل مع أي مشكلات تواجهك في الحياة أو العمل فالبرمجة في النهاية ليست سوى مهارة حل المشكلات ومن منا لا يحتاج لهذه المهارة!
	</li>
	<li>
		يمكنك من خلال دراسة البرمجة تحويل أي فكرة مميزة تخطر ببالك سواء فكرة تطبيق جوال أو فكرة موقع أو لعبة إلكترونية لمنتج فعلي يستفيد منه الآخرون.
	</li>
</ul>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="144558" href="https://academy.hsoub.com/uploads/monthly_2024_02/--.png.792346649c07538645d157c701e4111b.png" rel=""><img alt="أهمية دراسة البرمجة" class="ipsImage ipsImage_thumbnailed" data-fileid="144558" data-ratio="62.50" data-unique="nndsr9rd0" style="width: 500px; height: auto;" width="400" src="https://academy.hsoub.com/uploads/monthly_2024_02/--.thumb.png.bc10e9ceecb3a52abe74151fa3cfeefa.png"></a>
</p>

<h2 id="-2">
	طرق دراسة البرمجة
</h2>

<p>
	إذا كنت مهتمًا بالبرمجة وتتساءل عن كيفية دراسة البرمجة بكفاءة ولا تعرف من أين تبدأ نظرًا لوجود العديد من طرق دراسة البرمجة والكثير من لغات البرمجة التي يمكنك البدء بتعلمها فسوف نساعدك من خلال الفقرات التالية في اختيار الطريقة واللغة المناسبة لك.
</p>

<p>
	حيث يمكنك اختيار الدراسة الذاتية للبرمجة والاستفادة من الكثير من مصادر التعلم المجانية أو المدفوعة المتوفرة عبر الإنترنت من دروس ومنتديات وكتب شاملة ومقاطع فيديو ودورات تدريبية ومعسكرات برمجية،فهذه هي الطريقة التي تتقدم بها بسرعة لتصبح خبيرًا في البرمجة، والتي تساعدك على دراسة أي لغات من لغات البرمجة أو التقنيات المطلوبة لكتابة أ<a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%8A-%D8%A3%D9%83%D9%88%D8%A7%D8%AF-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r2244/" rel="">كواد البرمجة</a> بمرونة وفعالية وفي أقصر وقت ممكن.
</p>

<p>
	كما يمكنك اختيار الدراسة الجامعية لتعلم البرمجة، وفي هذه الحالة سيكون عليك الانتساب لإحدى الجامعات العامة أو الخاصة التي توفر كلية موجهة لتعليم هندسة البرمجيات أو <a href="https://academy.hsoub.com/computer-science/" rel="">علوم الحاسوب</a> أو برمجة الحاسوب أو أي تخصص مشابه وتتعلم خلال سنوات الدراسة التي تمتد على عدة سنوات مجموعة متنوعة من لغات البرمجة ومبادئ وهندسة البرمجيات <a href="https://academy.hsoub.com/devops/servers/databases/" rel="">وقواعد البيانات</a> ومعمارية الحاسوب والرياضيات والفيزياء وغيرها من المواد العديدة الأخرى التي قد لا تحتاجها في سوق العمل.
</p>

<p>
	سنسلط الضوء في الفقرات التالية مميزات وعوائق كل طريقة من هذه الطرق، ونترك لك موازنة الإيجابيات والسلبيات من كي تتمكن من معرفة طريقة دراسة البرمجة المناسبة لك.
</p>

<h2 id="-3">
	الدراسة الذاتية للبرمجة
</h2>

<p>
	إذا اخترت الدراسة الذاتية في البرمجة فهذا يعني أنك مسؤول عن البحث بنفسك على مصادر التعلم المختلفة التي ستتعلم منها عبر الإنترنت وستجد خلال بحثك الكثير من المصادر بأشكال متنوعة من دروس ومقالات عبر الإنترنت وكتب ومقاطع فيديو ودورات تدريبية ومشاريع جاهزة يمكنك دراستها وفهم البرمجة من خلالها ولك كامل حرية اختيار المصادر التي تناسبك للتعلم منها فلكل منا طريقة يفضلها على غيرها.
</p>

<p>
	التحدي الأساسي الذي سيواجهك عندما تقرر الدراسة الذاتية للبرمجة هو أنك تحتاج لامتلاك قدر كبيرة من التنظيم والانضباط الشخصي والتحفيز الذاتي وتحديد هدف التعلم الخاص بك ووضع خطة مناسبة لتحقيق هذا الهدف وتقرر عدد الساعات التي ستقضيها يوميًا في التعلم وهذا وتقرر بنفسك مدى تقدمك وهذا قد لا يكون سهلًا.
</p>

<h2 id="-4">
	مميزات دراسة البرمجة بصورة ذاتية
</h2>

<p>
	توفر دراسة البرمجة بصورة ذاتية العديد من المميزات من أبرزها:
</p>

<ul>
	<li>
		المرونة في تحديد أوقات الدراسة ووتيرة التعلم بحسب ظروفك واستيعابك وقدراتك الشخصية.
	</li>
	<li>
		اختيار لغات البرمجة والتقنيات التي تريد تعلمها بحسب ميولك واهتمامك أو حسب متطلبات سوق العمل.
	</li>
	<li>
		حرية في اختيار مصادر وتقنيات التعلم التي تناسبك والتي تشعر بأنها توصل لك المعلومات بطريقة تحبها.
	</li>
	<li>
		الدراسة من مصادر حديثة من فالتقنيات ولغات البرمجة تتطور بوتيرة سريعة ومن الضروري تكون على اطلاع دائم على أحدث المستجدات.
	</li>
	<li>
		إمكانية الدراسة عن بعد والعمل لاحقًا من منزلك أو أي مكان يناسبك ضمن أوقات مرنة تناسب ظروفك.
	</li>
	<li>
		وأخيرًا من أبرز الفوائد التي ستجنيها عند دراسة البرمجة بشكل ذاتي هو التركيز على المعرفة العملية وبناء المشاريع التي تفيدك في سياق تخصصك البرمجي وتجاهل المواد النظرية المملة أو التقنيات التي لا تحتاج لاستخدامها مما يوفر عليك الكثير من الوقت والجهد.
	</li>
</ul>

<h2 id="-5">
	تحديات دراسة البرمجة بصورة ذاتية
</h2>

<p>
	عندما تقرر دراسة البرمجة بصورة ذاتية العديد ستواجه العديد من العقبات وأبرزها:
</p>

<ul>
	<li>
		التشتت وعدم القدرة على الدراسة من مصدر أو منهج تعليمي منظم قد تفشل في تحديد المعلومات أو المفاهيم الضرورية وترتيب تعلمها الصحيح.
	</li>
	<li>
		التسويف وعدم القدرة على الالتزام و ضبط دراسة البرمجة بنفسك والحفاظ على وتيرة منتظمة في التعلم.
	</li>
	<li>
		فقدان الشغف والرغبة في مواصلة الدراسة فبدون وجود معلم يوجهك وزملاء يشاركونك التعلم قد لا يشجعك على المتابعة
	</li>
	<li>
		فقدان التوجيه المباشر والإجابة على أسئلتك وتوضيح ما يصعب عليك فهمه وحل المشكلات التي تواجهها قد يجعلك تحبط سريعًا وتتخلى عن دراسة البرمجة.
	</li>
</ul>

<p>
	إذا كنت تواجه هذه التحديات بالفعل فمن الأفضل في هذه الحالة أن تتبع دورة منظمة من أجل دراسة برمجة الحاسوب، تساعدك <a href="https://academy.hsoub.com/store/c1-%d8%af%d9%88%d8%b1%d8%a7%d8%aa-%d8%aa%d8%b9%d9%84%d9%8a%d9%85%d9%8a%d8%a9/" rel="">دورات أكاديمية حسوب</a> المنهجية على تنظيم دراستك والالتزام بمنهج منظم ومحتوى تعلمي مرتب ومعد بشكل مدروس يسهل عليك دراسة البرمجة بشكل منهجي من المفاهيم الأساسية إلى المفاهيم الأكثر تعقيدًا وبناء المشاريع البرمجية إلى جانب المتابعة مع مدربين أكفاء ومتعاونين يجيبونك على أي تساؤل أو مشكلة تواجهك والنقاش حول الأمور التي تستصعبها.
</p>

<h2 id="-6">
	الدراسة الجامعية لتعلم البرمجة
</h2>

<p>
	الخيار الثاني لدراسة البرمجة هو الدراسة الأكاديمية في إحدى الجامعات المتخصصة في علوم الحاسوب أو هندسة البرمجيات أو المعلوماتية وفي هذه الحالة ستحتاج للدارسة لفترة طويلة نسبيًا لا تقل عن أربع إلى خمس سنوات لنيل البكالوريوس والحصول على شهادة معتمدة في تخصص البرمجة.
</p>

<p>
	ستضطر خلال سنوات الدراسة الطويلة إلى دراسة العديد من المواد النظرية كالرياضيات والإدارة إلى جانب دراسة البرمجة واللغات المختلفة كما أن التعلم سيكون أكاديميًا ونظريًا وغير محدث أكثر من كونه تطبيقيًا ويركز على المشاريع العملية المطلوبة في سوق العمل الأمر الذي يضطرك إلى الاعتماد على نفسك لترميم هذا النقص وتعلم التقنيات التي يحتاجها سوق العمل والتطبيق العملي لتعزيز خبرتك بنفسك فهذا في الواقع ما يبحث عنه أرباب العمل اليوم في سيرتك الذاتية أكثر من الاهتمام بالشهادات التي تحملها.
</p>

<h2 id="-7">
	مميزات الدراسة الجامعية لتعلم البرمجة
</h2>

<p>
	توفر لك الدراسة الجامعية لتعلم البرمجة عدة مميزات من أبرزها ما يلي:
</p>

<ul>
	<li>
		الحصول على شهادة جامعية معتمدة تعزز فرصتك في الحصول على عمل.
	</li>
	<li>
		بيئة اجتماعية وتفاعلية تساعدك على دراسة البرمجة مع زملاء لهم نفس الاهتمامات.
	</li>
	<li>
		مناهج دراسية منظمة ومتسلسلة منطقيًا من الأساسيات للأمور المتقدم.
	</li>
	<li>
		الالتزام بجدول زمني صارم لدراسة المواد المطلوبة لا يمكن تخطيه.
	</li>
	<li>
		توفر مكتبات جامعية توفر مصادر وكتب برمجة منهجية وقيّمة تساعدك على الدراسة.
	</li>
</ul>

<h2 id="-8">
	تحديات الدراسة الجامعية لتعلم البرمجة
</h2>

<p>
	من أبرز تحديات وصعوبات الدراسة الجامعية للبرمجة نذكر:
</p>

<ul>
	<li>
		الدراسة مكثفة ومليئة بالمواد النظرية المملة والمناهج غير المحدثة التي قد لا تواكب التطور التقني أولًا بأول وستشعر بفجوة بين ما تعلمته في الجامعة وما يتطلبه سوق العمل,
	</li>
	<li>
		مدة دراسة البرمجة طويلة وتستغرق أربع إلى خمس سنوات وقد تمتد لفترة أطول إن لم تتمكن من اجتياز إحدى السنوات.
	</li>
	<li>
		الدراسة الجامعية مكلفة مقارنة بالتعلم الذاتي لاسيما عند الدراسة في جامعة خاصة.
	</li>
	<li>
		إذا اخترت الدراسة الجامعية للبرمجة فسوف تقيم باعتماد أساليب تقليدية قديمة تختبر حفظ المفاهيم النظرية أكثر من تقيم المهارات الإبداعية والتفكير المنطقي الأساسي لدراسة البرمجة.
	</li>
	<li>
		فرص محدودة فقد لا تحظى بالقبول في الجامعة التي تفضلها وتضطر للدراسة في جامعة أخرى بعيدة عن مكان إقامتك أو دراسة مجال آخر.
	</li>
</ul>

<h2 id="-9">
	نصائح لتنجح في دراسة برمجة الحاسب
</h2>

<ol>
	<li>
		حدد هدفك وسبب رغبتك في دراسة البرمجة والتخصص البرمجي الذي تميل له والمشاريع التي تطمح لتطويرها فإذا لم يكن لديك هدف تسعى لتحقيقه فسوف تتشتت وتشعر بالإحباط سريعًا.
	</li>
	<li>
		قبل أن تبدأ في دراسة البرمجة، من الضروري أن تبدأ <a href="https://academy.hsoub.com/computer-science/" rel="">بتعلم علوم الحاسوب</a> إلى جانب <a href="https://academy.hsoub.com/programming/advanced/%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA/" rel="">تعلم الخوارزميات</a> فهي خطوة أساسية تسرع دراسة البرمجة وتساعدك على التعامل مع الحاسوب وكتابة برامج حاسوبية لحل المشكلات بكفاءة.
	</li>
	<li>
		حدد لغات البرمجة والتقنيات التي تريد البدء بتعلمها بناء على الهدف الذي حددته في الخطوة الأولى وإذا كنت محتارًا في أي لغة يمكنك البدء بها يمكنك التفكير بلغات توصيفية سهلة مثل HTML و CSS أو البدء بإحدى <a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D9%87%D9%84-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">لغات البرمجة السهلة</a> على المبتدئين مثل لغة بايثون <a href="https://wiki.hsoub.com/Python" rel="external">Python </a>أو جافا سكريبت <a href="https://wiki.hsoub.com/JavaScript" rel="external">JavaScript </a>أو روبي <a href="https://wiki.hsoub.com/Ruby" rel="external">Ruby</a>.
	</li>
	<li>
		تعلم البرمجة أمر يستغرق وقتًا وجهدًا ويتطلب منك تقبل فكرة التعلم بصورة مستمرة، لذا فمن الضروري أن تتحلى بالصبر وتملك نفسًا طويلًا ولا تهمل دراسة <a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أساسيات البرمجة</a> وتتأكد من فهمها بشكل صحيح قبل أن تنتقل لتعلم أمور متقدمة وتبدأ بتطوير مشاريع برمجية فعلية كي لا تحبط وتفشل في تحقيق هدفك.
	</li>
	<li>
		احرص على الجمع بين التعليم النظري والتطبيق العملي، وتأكد أنك مهما قرأت من دروس وأكواد فلن تحقق النتائج المرجوة من دراسة البرمجة إذا لم تقم بتطوير برامج وتطبيقات حقيقية.
	</li>
	<li>
		اختر مصادر تعلم جيدة وحديثة توصل لك المعلومات بطريقة مفهومة وسلسلة وبالترتيب الصحيح، ستجد في أكاديمية حسوب العديد من مصادر التعلم المفيدة من دروس ومقالات مجانية وكتب شاملة وتوثيقات برمجية تساعدك على دراسة البرمجة عن بعد كما ستجد مجموعة متنوعة من الدورات التدريبية المدفوعة التي تساعدك على تعلم البرمجة بطريقة منهجية وتلقي التوجيه اللازم خلال التعلم.
	</li>
</ol>

<p>
	وفي الختام أدعوك لمشاهدة هذا الفيديو المفيد للتعرف على أهم خطوات دراسة البرمجة ولغات البرمجة المتنوعة التي يمكنك تعلمها
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="480" id="ips_uid_7444_6" src="https://academy.hsoub.com/applications/core/interface/index.html" title="دليل تعلم البرمجة" width="853" data-embed-src="https://www.youtube.com/embed/zaJQAOSKgPI"></iframe>
</p>

<h2 id="-10">
	الخلاصة
</h2>

<p>
	نرجو أن يكون هذا المقال قد أجابك على سؤال كيف يمكن البدء في تعلم البرمجة وساعدك في تحديد طريقة دراسة البرمجة الأنسب لك، وفي الختام يمكن أن نخلص لأن الدراسة الذاتية للبرمجة هي الخيار الأفضل إذا كنت تحب التعلم بشكل مستقل وتشعر بالرغبة في اكتشاف الأمور بنفسك وتملك التنظيم والانضباط الذاتي، في حين تعد الدراسة الجامعية لتعلم البرمجة غي الخيار الأفضل إذا كنت تفضل التعلم الموجه والمنظم وتحتاج لأن تتعلم في بيئة اجتماعية وتتفاعل مع زملاء آخرين خلال الدراسة.
</p>

<p>
	وتذكر أنه مهما كان الطريق الذي اخترته فلن تنجح في دراسة البرمجة إلا تحليت بالصبر والمثابرة، والتزمت بالتطبيق العملي واكتسب مهارة تصحيح الأخطاء البرمجية بنفسك وحرصت على تطوير نفسك بصورة مستمرة لتبقى في الصدارة. حظًا موفقًا!
</p>

<h2 id="-11">
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/learn-programming/" rel="">كل ما تود معرفته حول تعلم البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%81%D9%88%D8%A7%D8%A6%D8%AF-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">ما هي فوائد تعلم البرمجة؟</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%87%D9%86%D8%AF%D8%B3%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA/" rel="">تعرف على تخصص هندسة البرمجيات</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA/" rel="">مدخل إلى تطوير البرمجيات Software Development</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r662/" rel="">الدليل الشامل لتعلم البرمجة</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2253</guid><pubDate>Sun, 11 Feb 2024 12:00:00 +0000</pubDate></item><item><title>&#x62A;&#x639;&#x631;&#x641; &#x639;&#x644;&#x649; &#x646;&#x638;&#x627;&#x645; &#x644;&#x64A;&#x646;&#x643;&#x633; Linux &#x648;&#x623;&#x628;&#x631;&#x632; &#x645;&#x645;&#x64A;&#x632;&#x627;&#x62A;&#x647; &#x648;&#x639;&#x64A;&#x648;&#x628;&#x647;</title><link>https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D9%86%D8%B8%D8%A7%D9%85-%D9%84%D9%8A%D9%86%D9%83%D8%B3-linux-%D9%88%D8%A3%D8%A8%D8%B1%D8%B2-%D9%85%D9%85%D9%8A%D8%B2%D8%A7%D8%AA%D9%87-%D9%88%D8%B9%D9%8A%D9%88%D8%A8%D9%87-r2252/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_02/----Linux-.png.e2ada2464ab624486deed014c4efe248.png" /></p>
<p>
	نعرفك في مقال اليوم على نظام التشغيل لينكس Linux أحد أشهر أنواع أنظمة التشغيل، وتاريخ نشأته وتطوره، ثم نتطرق لتوضيح أبرز مميزاته وعيوبه والطريقة المثلى لاستخدامه والتعامل معه.
</p>

<h2 id="linux-1">
	ما هو نظام لينكس Linux؟
</h2>

<p>
	<a href="https://academy.hsoub.com/devops/linux/%D9%85%D8%A7-%D9%87%D9%88-%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-%D9%84%D9%8A%D9%86%D9%83%D8%B3%D8%9F-r451/" rel="">نظام لينكس Linux</a> أو ما يعرف بنظام جنو لينكس GNU/Linux هو نظام تشغيل حرّ ومفتوح المصدر شبيه بنظام التشغيل يونكس Unix يصدر بموجب رخصة جنو العمومية GPLv2 أي أن أي شخص يمكنه الاطلاع على كوده البرمجي وتعديله وإعادة توزيعه بنفس شروط الرخصة أو بشروط مكافئة.
</p>

<p>
	يتميز نظام لينكس بكونه نظام تشغيل فعال ومستقر ويستخدم شخصية البطريق كعلامة رسمية له، هذا البطريق اللطيف الذي تراه في الصورة التالية يدعى توكس Tux وقد ابتكره المبرمج الأمريكي لاري إيوينج Larry Ewing وصورته لا ترتبط بأي شركة تجارية ولا تخضع لأي حقوق لتعكس طبيعة Linux المفتوحة المصدر.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="144556" href="https://academy.hsoub.com/uploads/monthly_2024_02/---.png.d3ce9e52b0ddca4daa9e9c6db0bddfd3.png" rel=""><img alt="ما هو نظام لينكس" class="ipsImage ipsImage_thumbnailed" data-fileid="144556" data-ratio="62.60" data-unique="87jw2bzag" style="width: 500px; height: auto;" width="500" src="https://academy.hsoub.com/uploads/monthly_2024_02/---.png.d3ce9e52b0ddca4daa9e9c6db0bddfd3.png"> </a>
</p>

<h2 id="">
	تاريخ نظام لينكس
</h2>

<p>
	أول من طور نظام لينكس طالب فنلندي يدعى لينوس تورفالدس Linus Torvalds حيث أنشأ الإصدار الأول من نواة لينكس عام 1991 كمشروع شخصي والنواة هي المكون الرئيسي في نظام التشغيل لينكس وهي عبارة عن برمجيات منخفضة المستوى تمثل جسر بين عتاد وبرمجيات الحاسوب وتدير موارده بالشكل الأمثل.
</p>

<p>
	قبل ذلك كان العمل جاريًا على مشروع نظام جنو GUN منذ عام 1984 بقيادة عالم الحاسوب الأمريكي ريتشارد ستالمان Richard Stallman لإنشاء نظام تشغيل كامل من الصفر يشبه نظام يونكس لكنه يتألف بالكامل من برمجيات حرّة وبحلول عام 1991 لم يكن مشروع جنو قد أكمل بعد تطوير نواة نظامه، فقرر إضافة نواة لينكس إلى مشروعه عام 1992 لإنشاء نظام تشغيل متكامل ومجاني أطلق عليه اسم نظام جنو/لينكس يتألف من نواة لينكس، التي تدير الأجهزة والموارد، وبرامج جنو التي توفر أدوات وتطبيقات ومكتبات داعمة.
</p>

<p>
	ويواصل مجتمع المطورين تطوير مكونات وتطبيقات داعمة لنظام لينكس ودمجها مع نظام لينكس ما جعله واحدًا من أقوى أنظمة التشغيل اليوم وهو متوافق مع معظم المنصات والبيئات فبالرغم من أن نظام لينكس صمم بالأصل لتشغيل الحواسيب الشخصية التي تعتمد على بنية Intel x86 إلا أنه تطور بشكل كبير وأصبح اليوم قادرًا على تشغيل العديد من المنصات والأجهزة كالحواسيب المركزية العملاقة والخوادم والهواتف الذكية والأجهزة المدمجة أي الأجهزة التي تم تصميم نظام التشغيل الخاص بها عادةً في البرامج الثابتة ومخصصة للغاية للنظام مثل أنظمة <a href="https://academy.hsoub.com/programming/os-embedded-systems/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%AC%D9%87%D8%A7%D8%B2-%D8%B1%D8%A7%D8%B3%D8%A8%D9%8A%D8%B1%D9%8A-%D8%A8%D8%A7%D9%8A-raspberry-pi-r1356/" rel="">Raspberry Pi</a>.
</p>

<h2 id="-1">
	مكونات نظام التشغيل لينكس
</h2>

<p>
	يتألف نظام التشغيل لينكس Linux بشكل أساسي من المكونات الأساسية التالية:
</p>

<ul>
	<li>
		النواة Kernal
	</li>
	<li>
		التطبيقات Applications
	</li>
	<li>
		الصدفة Shell
	</li>
</ul>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="144557" href="https://academy.hsoub.com/uploads/monthly_2024_02/--.png.8e2b29d9524bc7798dd505fae3cf14cf.png" rel=""><img alt="مكونات نظام لينكس" class="ipsImage ipsImage_thumbnailed" data-fileid="144557" data-ratio="67.40" data-unique="yhbq29clx" style="width: 400px; height: auto;" width="500" src="https://academy.hsoub.com/uploads/monthly_2024_02/--.thumb.png.e4aec06b105a76ff5ecd96b78d0a0adc.png"></a>
</p>

<p>
	لنتعرف في الفقرات التالية على كل مكون من هذه المكونات بمزيد من التفصيل.
</p>

<h3 id="kernal">
	النواة Kernal
</h3>

<p>
	نواة لينكس هي الجزء الأساسي من النظام، وهي أول برنامج يتم تحميله عند بدء تشغيل نظام الحاسوب وتعمل كصلة وصل بين العتاد والبرامج وتدير موارد الجهاز كالمعالج والذاكرة والطابعة وأجهزة التخزين وغيرها من الأجهزة وتتحكم بها.
</p>

<h3 id="applications">
	التطبيقات Applications
</h3>

<p>
	يوفر نظام التشغيل جنو GUN مجموعة من التطبيقات والأدوات الخدمية التي تمكّن المستخدم من إدارة النظام وتتيح له التعامل معه بكفاءة مرونة.
</p>

<h3 id="shell">
	الصدفة Shell
</h3>

<p>
	الصدفة هي مكون أساسي لنظام لينكس وهي تقع بين النواة والتطبيقات الخدمية، وتوفر للمستخدم طريقة للاستفادة من كامل ميزات ووظائف النظام وتكون عادة واجهة سطر أوامر أو <a href="https://academy.hsoub.com/devops/linux/%D9%83%D9%8A%D9%81-%D8%AA%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-%D8%B7%D8%B1%D9%81%D9%8A%D8%A9-%D9%84%D9%8A%D9%86%D9%83%D8%B3-%D8%A8%D8%A7%D8%AD%D8%AA%D8%B1%D8%A7%D9%81-r367/" rel="">طرفية</a> تستقبل الأوامر والنصوص البرمجية scripts التي يكتبها المستخدم وتحولها إلى لغة مفهومة من قبل النواة.
</p>

<p>
	هناك أنواع مختلفة من الصدفات، حيث تملك كل صدفة خصائص تختلف عن غيرها في كيفية معالجة وتفسير الأوامر التي تصلها، وتسمى <strong>الصدفة الافتراضية</strong> في نظام لينكس<a href="https://academy.hsoub.com/devops/linux/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%B5%D8%AF%D9%81%D8%A9-%D8%A8%D8%A7%D8%B4-bash-r606/" rel=""> صدفة باش Bash</a>. وقد توفر بعض أنظمة لينكس واجهة مستخدم رسومية GUI جنبًا إلى جنب مع واجهة سطر الأوامر لتسهيل التعامل مع النظام.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="499" id="ips_uid_6743_6" src="https://academy.hsoub.com/applications/core/interface/index.html" title="ما هي Bash" width="887" data-embed-src="https://www.youtube.com/embed/4Ea_mFmKzi0"></iframe>
</p>

<h2 id="-2">
	ما معنى توزيعات لينكس؟
</h2>

<p>
	يصدر نظام التشغيل Linux على شكل توزيعات Linux distributions أو ما يعرف اختصارًا Linux distro حيث تتكون التوزيعة من نواة لينكس بشكل أساسي إضافة لمجموعة من الأدوات والبرامج والتطبيقات المختلفة التي تختلف من توزيعة لأخرى لتقدم وظائف مساعدة مثل واجهة المستخدم الرسومية التي تعرف باسم بيئة سطح المكتب وبرنامج مدير الحزم وغيرها من الأدوات الأساسية المفيدة التي تشكل بدمجها مع بعضها البعض نظام تشغيل متكامل يمكّن المستخدم من القيام بكافة المهام المطلوبة منه.
</p>

<p>
	لهذا السبب تتوفر اليوم مئات توزيعات أو إصدارات لينكس تناسب كل واحدة منها منصات وأجهزة مختلفة وبالرغم من أن معظم البرامج المضمنة في توزيعات لينكس مجانية ومفتوحة المصدر إلا أن بعض توزيعات لينكس قد تحتوي على برامج احتكارية لا تخضع لرخصة GNU، تطورها جهات خارجية مثل برامج تشغيل الأجهزة التي توفرها الشركات المصنعة لدعم أجهزتها وتدمجها مع النظام ولهذا السبب قد تفرض بعض توزيعات لينكس رسومًا مقابل خدمات القيمة المضافة.
</p>

<p>
	كما تختلف توزيعات لينكس عن بعضها بتجربة المستخدم وخيارات استخدامها وأسلوب تثبيت البرامج الجديدة فيها أو تحديثها فبعض التوزيعات أسهل استخدامًا من غيرها وتوفر طرق واضحة ومريحة لتثبيت البرمجيات بينما تكون هذه العملية معقدة في بعض التوزيعات لهذا من الضروري أن تفهم أبرز مواصفات أي توزيعة قبل أن تقرر استخدامها.
</p>

<p>
	هناك العديد من توزيعات لينكس Linux التي تناسب مختلف المتطلبات والاستخدامات، بعض هذه التوزيعات طورها مجتمع لينكس وبعضها طورته شركات تجارية ومن أبرزها أوبونتو Ubuntu و ديبيان Debian، ولمعرفة المزيد حول توزيعات لينكس يمكنك مطالعة مقال <a href="https://academy.hsoub.com/devops/linux/%D9%85%D8%A7-%D9%87%D9%88-%D9%86%D8%B8%D8%A7%D9%85-%D9%84%D9%8A%D9%86%D9%83%D8%B3-%D9%88%D9%84%D9%85%D8%A7%D8%B0%D8%A7-%D8%AA%D9%88%D8%AC%D8%AF-100-%D8%AA%D9%88%D8%B2%D9%8A%D8%B9%D8%A9-%D9%85%D9%86%D9%87%D8%9F-r698/" rel="">ما هو نظام لينكس ولماذا توجد 100 توزيعة منه؟</a> ومقال <a href="https://academy.hsoub.com/devops/linux/%D8%B9%D8%B1%D8%B6-%D9%85%D9%88%D8%AC%D8%B2-%D9%84%D8%A3%D8%B4%D9%87%D8%B1-%D8%AA%D9%88%D8%B2%D9%8A%D8%B9%D8%A7%D8%AA-%D9%84%D9%8A%D9%86%D9%83%D8%B3-r631/" rel=""> عرض موجز لأشهر توزيعات لينكس</a>
</p>

<h2 id="-3">
	مميزات نظام التشغيل لينكس
</h2>

<p>
	يتمتع نظام التشغيل لينكس بالعديد من المميزات ومن أهم مزايا استخدام Linux ما يلي:
</p>

<ol>
	<li>
		مفتوح المصدر ويمكن لأي شخص الاطلاع على الكود المصدري وتحريره وتحسينه وإعادة توزيعه.
	</li>
	<li>
		مجاني ولا يتطلب دفع رسوم ترخيص لاستخدامه (يتطلب دعم النظام دفع رسوم).
	</li>
	<li>
		يوفر مئات التوزيعات المناسبة لمختلف الاستخدامات والمنصات.
	</li>
	<li>
		يملك مجتمع كبير ونشط من المطورين الذين يطورون تطبيقات وبرامج داعمة لإصدارات لينكس المختلفة.
	</li>
	<li>
		خفيف الحجم ويتطلب حجم ذاكرة ومساحة تخزين أقل بكثير مما تتطلبه أنظمة التشغيل.
	</li>
	<li>
		يوفر طرفية أو بيئة سطر أوامر قوية قادرة تشغيل العديد من التعليمات والأوامر والتفاعل مع نظام الملفات دون الحاجة لاستخدام واجهة المستخدم الرسومية وهي ميزة أساسية لإدارة الخوادم التي تعمل بنظام لينكس.
	</li>
	<li>
		آمن وموثوق وأقل عرضة للفيروسات والثغرات الأمنية ويحمي خصوصية مستخدميه. يوفر Linux أمان المستخدم من خلال ميزات المصادقة مثل حماية كلمة المرور والتحكم في الوصول إلى ملفات محددة وتشفير البيانات.
	</li>
	<li>
		مثالي للمبرمجين والمطورين فهو متوافق مع معظم لغات البرمجة وتتضمن معظم توزيعات لينكس الكثير من المترجمات ومحررات الأكواد وبيئات التطوير بشكل افتراضي أو توفر تنزيلها من خلال مدير الحزم.
	</li>
	<li>
		مستقر ويتعامل بشكل جيد مع أخطاء تشغيل البرامج ويوفر تحديثات وتصحيحات مستمرة.
	</li>
	<li>
		يعد نظام متعدد المستخدمين ومتعدد المهام أي أنه يمكن لعدة مستخدمين الوصول إلى النظام في نفس الوقت وتشغيل عدة تطبيقات بآن واحد.
	</li>
</ol>

<h2 id="linux-2">
	عيوب نظام لينكس Linux
</h2>

<p>
	لا يخلو نظام لينكس من بعض العيوب أو الجوانب السلبية ومن أبرزها:
</p>

<ol>
	<li>
		استخدام نظام لينكس و<a href="https://academy.hsoub.com/devops/linux/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D9%81%D9%8A-%D9%84%D9%8A%D9%86%D9%83%D8%B3-r634/" rel="">تثبيت التطبيقات عليه</a> صعب نسبيًا لا سيما من قبل المستخدمين المبتدئين وغير التقنيين.
	</li>
	<li>
		لكل توزيعة لينكس واجهة خاصة بها وطريقة استخدام مختلفة ما يجعل التبديل بين توزيعاته أمرًا صعبًا.
	</li>
	<li>
		لا يمكن استخدام معظم البرامج الاحتكارية مثل حزمة تطبيقات سطح المكتب مايكروسوفت أوفيس على نظام لينكس.
	</li>
	<li>
		يدعم نظام لينكس عدد ألعاب محدود نسبيًا فإذا كنت من محبي الألعاب فقد لا تجد إصدارًا متوافقًا مع لينكس من لعبتك المفضلة.
	</li>
	<li>
		بعض إصداراته ليست مجانية فبالرغم من أن بمقدور أي مؤسسة الحصول على نظام لينكس دون رسوم ترخيص إلا أن بإمكانها إعادة توزيعه مقابل دفع رسوم معينة مثل إصدار ريد هات الخاص بالمؤسسات.
	</li>
	<li>
		قد لا توفر بعض الشركات المصنعة للأجهزة برامج تشغيل خاصة بنظام لينكس أو توفرها بمقابل مادي.
	</li>
</ol>

<h2 id="linuxwindows">
	ما الفرق بين Linux و Windows
</h2>

<p>
	يعد كل من ويندوز Windows ولينكس Linux نظامي تشغيل مشهورين جدًا، لكنهما يختلفان في العديد من الجوانب أهمها <strong>نموذج الترخيص</strong> فنظام ويندوز هو نظام تشغيل ت<strong>جاري ومغلق المصدر</strong> طورته مايكروسوفت ويتطلب شراء ترخيص لاستخدامه، أما لينكس فهو نظام تشغيل <strong>مجاني ومفتوح المصدر</strong> حيث يمكن للمستخدمين تنزيله واستخدامه بدون دفع أي رسوم.
</p>

<p>
	كما يتميز نظام ويندوز بواجهة بسيطة وسهلة الاستخدام ما يجعله أكثر شيوعًا وملائمةً للمستخدمين الذين ليس لديهم خلفية تقنية، أما لينكس فهو أصعب في الاستخدام لكنه أكثر مرونة ويسهل تعديله حسب احتياجات المستخدم لذا يفضله المستخدمون المحترفون، كما أن استخدام لينكس قد يكون  صعبًا على مستخدمي ويندوز حيث يحتاج المستخدم لتعلم مصطلحات ومفاهيم جديدة ومعرفة طريقة استخدام أنواع مختلفة من البرامج والأدوات للتعامل معه.
</p>

<p>
	كما يعدّ نظام لينكس آمنًا بطبيعته وهو أكثر أمانًا من نظام ويندوز، فنادرًا ما تصاب أنظمة Linux بالفيروسات وحتى في حالة الإصابة بفيروس ما فسيتضرر جزء فقط من النظام ولن يتمكن الفيروس من إصابة النظام بأكمله، كما تملك نواة لينكس جدار حماية مدمج، في حين يتعرض نظام ويندوز للهجمات الإلكترونية بشكل أكبر لكثرة مستخدميه ويتطلب اهتمامًا خاصًا بتثبيت برامج مكافحة الفيروسات لنظام التشغيل وتحديثها بشكل مستمر.
</p>

<h2 id="-4">
	استخدامات نظام لينكس
</h2>

<p>
	يصلح نظام لينكس للاستخدام في العديد من المجالات وفي جميع الأجهزة الإلكترونية تقريبًا بفضل توزيعاته وإصداراته المختلفة التي تصلح لمختلف التطبيقات، وفيما يلي نستعرض أبرز استخدامات لينكس:
</p>

<ul>
	<li>
		خوادم الويب وخوادم قواعد البيانات وخوادم الملفات وخوادم أسماء النطاقات DNS وخوادم البريد الإلكتروني وأي نوع آخر من الخوادم.
	</li>
	<li>
		أجهزة الحاسوب الشخصية حيث توفر العديد من إصداراته بيئة سطح مكتب سهلة الاستخدام ورغم ذلك قد لا يكون نظام التشغيل المفضل لمستخدمي الحواسيب الشخصية.
	</li>
	<li>
		تشغيل تطبيقات الحوسبة السحابية بفضل قابلية التوسع وسهولة نشره عبر خوادم متعددة.
	</li>
	<li>
		تشغيل التطبيقات كبيرة الحجم وتنفيذ مهام الحوسبة العلمية التي تتطلب عمليات حسابية معقدة.
	</li>
	<li>
		تشغيل الهواتف المحمولة فنظام تشغيل الجوالات المشهور آندرويد Android مبني على نواة لينكس.
	</li>
	<li>
		نظام تشغيل مضمن embedded system لتشغيل الأجهزة التي تتطلب تنفيذ مهام ووظائف محددة مثل الأجهزة المنزلية الذكية أو أنظمة الإنذار وكاميرات المراقبة وغيرها.
	</li>
	<li>
		تشغيل أجهزة الشبكة مثل الموجهات routers والمحولات switches.
	</li>
	<li>
		تطوير البرامج مفتوحة المصدر مثل نظام التحكم بالإصدارات <a href="https://academy.hsoub.com/programming/workflow/git/%D9%85%D8%A7-%D9%87%D9%88-git%D8%9F-r1592/" rel="">git</a> ومحررات الأكواد vim و emacs ومترجمات ومفسرات معظم لغات البرمجة.
	</li>
</ul>

<h2 id="linux-3">
	كيفية التعامل مع نظام Linux
</h2>

<p>
	إذا كنت مهتمًا بتعلم كيفية التعامل مع نظام التشغيل لينكس فهذه خطوة جيدة إذ تتطلب العديد من الوظائف التقنية طريقة التعامل مع نظام لينكس، وبالرغم مما يقال عن صعوبة استخدام لينكس إلا أنك تستطيع بقليل من الوقت والجهد التآلف مع استخدام نظام لينكس والتعامل مع أوامره الأساسية.
</p>

<ol>
	<li>
		اختر توزيعة لينكس الملائمة لاحتياجاتك ومتطلباتك وإذا لم تعرف أي توزيعة هي الأنسب فيفضل أن تبدأ باستخدام توزيعة سهلة الاستخدام مثل أبونتو Ubuntu أو فيدورا Fedora أو مينت Mint.
	</li>
	<li>
		إذا كنت تملك جهاز يعمل بنظام ويندوز أو ماك يمكنك أن تثبت نظام لينكس على جهازك وتتعلم كيفية عمله من خلال أدوات مساعدة مثل تطبيق <a href="https://academy.hsoub.com/devops/linux/%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-red-hat-enterprise-linux-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-virtualbox-r249/" rel="">VirtualBox</a> الذي يمكّنك من إنشاء جهاز افتراضي وتشغيل نظام تشغيل مختلف وبهذا تشغيل أنظمة تشغيل وتطبيقات متعددة على جهاز واحد بسهولة.
	</li>
	<li>
		تعلم طريقة التعامل مع الجهاز الافتراضي وتثبيت توزيعة Linux داخله، لن تختلف الخطوات فيما إذا كنت تثبت لينكس على جهاز حقيقي.
	</li>
	<li>
		تعلم أساسيات التعامل مع نظام لينكس مثل استخدام الواجهة الرسومية وطريقة تخصيصها.
	</li>
	<li>
		تعلم هيكل الملفات والأدلة في لينكس وإدارة صلاحياتها فالملفات في لينكس تنظم في بنية شجرية تختلف عن هيكلية ملفات ويندوز والتنقل بينها من خلال الطرفية.
	</li>
	<li>
		تعلم <a href="https://academy.hsoub.com/devops/linux/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%B5%D8%AF%D9%81%D8%A9-%D8%A8%D8%A7%D8%B4-bash-r606/" rel="">استخدام صدفة باش Bash</a> والتفاعل مع النظام باستخدامها وكيفية كتابة النصوص البرمجية والبرامج البسيطة في باش Bash.
	</li>
	<li>
		تعلم إدارة الحزم والتعامل مع مدير الحزم الخاص بتوزيعتك وتثبيت البرامج وتحديثها في Linux وطريقة التحقق من تحديثات النظام.
	</li>
	<li>
		اختر مصادر تعليمية منظمة ومنهجية، ستجد الكثير منها على الإنترنت كما ستجد في أكاديمية حسوب مجموعة منوعة <a href="https://academy.hsoub.com/devops/linux/" rel="">دروس ومقالات تعلم لينكس</a> تناسب المبتدئين والمحترفين كما توفر لك <a href="https://academy.hsoub.com/learn/computer-science/" rel="">دورة علوم الحاسوب</a> مسارًا كاملًا يعلمك طريقة التعامل مع نظام لينكس من الصفر للاحتراف دون الحاجة لوجود أي معلومات فنية مسبقة.
	</li>
	<li>
		طبق ما تتعلمه بشكل عملي وتعلم طريقة استخدم <a href="https://academy.hsoub.com/devops/linux/%D9%85%D8%B1%D8%AC%D8%B9-%D8%A5%D9%84%D9%89-%D8%A3%D8%B4%D9%87%D8%B1-%D8%A3%D9%88%D8%A7%D9%85%D8%B1-%D9%84%D9%8A%D9%86%D9%83%D8%B3-r615/" rel="">أوامر لينكس المختلفة</a> لإدارة النظام والتفاعل معه.
	</li>
	<li>
		انضم للمنتديات ومجتمعات الدعم الخاصة بنظام لينكس وفي حال واجهت أي مشكلة في التعامل مع النظام ستجد الكثير من المهتمين المستدعين لمساعدتك وإرشادك، كما يمكنك طرح أي سؤال يراودك حول نظام لينكس أو أحد توزيعاته أو تطبيقاته في <a href="https://academy.hsoub.com/questions/" rel="">قسم الأسئلة والأجوبة</a> في أكاديمية حسوب ليجيبك عليها نخبة من الخبراء والمختصين.
	</li>
</ol>

<p>
	بعد أن تتقن التعامل مع لينكس على جهاز افتراضي ستكون جاهزًا لتجربته بأمان على جهاز فعلي دون أي مشكلات، ولا تنسَ أن تطور مهاراتك وتحدث معلوماتك باستمرار وتتابع كل جديد في نظام لينكس.
</p>

<h2 id="-5">
	الخلاصة
</h2>

<p>
	تعرفنا في مقال اليوم على نظام التشغيل لينكس وأبرز مميزاته وعيوبه، واستعرضنا الفرق بينه وبين نظام ويندوز، وأخيرًا شرحنا بإيجاز أهم الخطوات التي تساعدك على تعلم استخدامه بكفاءة وفعالية. وفي الختام تذكّر أن تعلّم استخدام نظام لينكس يعزز مهاراتك التقنية ويمكّنك من التعامل مع حاسوبك بكفاءة أعلى وينصح باستخدامه لاكتساب احترافية أعلى في التعامل مع الحاسوب وبرمجياته المختلفة.
</p>

<h2 id="-6">
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/devops/linux/10-%D8%B7%D8%B1%D9%82-%D9%84%D8%AA%D8%AC%D8%B1%D8%A8%D8%A9-%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-%D9%84%D9%8A%D9%86%D9%83%D8%B3-linux-%D9%88%D8%A7%D8%B3%D8%AA%D9%83%D8%B4%D8%A7%D9%81%D9%87-r638/" rel="">10 طرق لتجربة نظام التشغيل لينكس Linux واستكشافه</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/linux/%D8%B9%D8%B1%D8%B6-%D9%85%D9%88%D8%AC%D8%B2-%D9%84%D8%A3%D8%B4%D9%87%D8%B1-%D8%AA%D9%88%D8%B2%D9%8A%D8%B9%D8%A7%D8%AA-%D9%84%D9%8A%D9%86%D9%83%D8%B3-r631/" rel="">عرض موجز لأشهر توزيعات لينكس</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/linux/%D9%85%D8%A7-%D9%87%D9%88-%D9%86%D8%B8%D8%A7%D9%85-%D9%84%D9%8A%D9%86%D9%83%D8%B3-%D9%88%D9%84%D9%85%D8%A7%D8%B0%D8%A7-%D8%AA%D9%88%D8%AC%D8%AF-100-%D8%AA%D9%88%D8%B2%D9%8A%D8%B9%D8%A9-%D9%85%D9%86%D9%87%D8%9F-r698/" rel="">ما هو نظام لينكس ولماذا توجد 100 توزيعة منه؟</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/linux/%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-%D9%84%D9%8A%D9%86%D9%83%D8%B3-%D9%85%D8%B9-%D9%86%D8%B8%D8%A7%D9%85-%D9%88%D9%8A%D9%86%D8%AF%D9%88%D8%B2-r576/" rel="">تثبيت لينكس مع نظام ويندوز</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2252</guid><pubDate>Mon, 05 Feb 2024 12:00:00 +0000</pubDate></item><item><title>&#x62A;&#x639;&#x644;&#x645; &#x644;&#x63A;&#x627;&#x62A; &#x627;&#x644;&#x628;&#x631;&#x645;&#x62C;&#x629;</title><link>https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D9%84%D9%85-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r2236/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_01/164405765_.png.cc3a932283071da587d7bd9a4cd66cdc.png" /></p>
<p>
	مع اقتراب الربع الأول من القرن الواحد والعشرين من نهايته، تتضح أهمية تعلم لغات البرمجة والتقنيات عمومًا لمختلف الأفراد أكثر فأكثر. فعالمُنا يزداد اعتمادًا على الحواسيب والروبوتات والأجهزة الذكية ويستخدمها في شتّى المجالات والقطاعات، من البحث العلمي والأكاديمي إلى الصناعة والترفيه والصحة وغيرها. وبالتالي أصبح تعلم لغات البرمجة ضرورة ملحة لكلّ إنسان يرغب في مواكبة مقتضيات العصر الرقمي ويرغب بأن يعزز موقعه الوظيفي ويزيد من مهاراته في حل المشكلات.<br>
	فإذا كنت مهتمًا بتعلم لغات البرمجة لكنك لا تعرف من أين تبدأ، إليك هذا المقال!
</p>

<h2 id="">
	ما هي لغات البرمجة؟
</h2>

<p>
	بدايةً، لنتعرّف على معنى لغة البرمجة، ولماذا سُمّيت لغة أصلًا؟ تُعَدّ لغات البرمجة أدوات يُخاطب بها المبرمج جهاز الحاسوب أو أي جهاز قابل للبرمجة، ويوجهه إلى إجراء عمليات معينة. وتتميز كل لغة برمجة بقواعد تحكم صياغتها شأنها شأن الغات البشرية الطبيعية، فإذا خرج المبرمج عن هذه القواعد، سيتعذّر على الحاسوب فهم البرنامج أو تنفيذه على النحو المطلوب.
</p>

<p>
	وقد نشأت لغات البرمجة الأولى في أواسط القرن العشرين وكانت أول لغة برمجة متاحة تجاريًا هي لغة فورتران FORTRAN، وكانت لغات البرمجة في بداية عهدها صعبة ومقعدة وأقرَب إلى لغة الآلة وعتاد الحاسوب منها إلى اللغات البشرية. لكن مع تطوّر<a href="https://academy.hsoub.com/programming/general/%D9%85%D8%B3%D8%AA%D9%88%D9%8A%D8%A7%D8%AA-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel=""> مستويات لغات البرمجة</a> عبر العقود، نشأت لغات البرمجة عالية المستوى، وهي أسهل فهمًا وأقرب إلى اللغات الطبيعية. وسهّل انتشار هذه اللغات تعلّم البرمجة على غير المختصين في الحواسيب.
</p>

<p>
	لكن، لماذا قد يتعلّم المرء البرمجة أصلًا؟
</p>

<h2 id="-1">
	فوائد تعلم لغات البرمجة
</h2>

<p>
	قبل الشروع في أسماء وأنواع لغات البرمجة واستخدامات كل منها، يحسُن بنا ذكر فوائد تعلم لغات البرمجة. فإذا كان الإنسان مديرًا أو موظفًا أو مالك متجر، فهل يمكن أن ينفعه تعلم البرمجة؟ وحتّى إن كان مصمم مواقع ويب أو صانع ألعاب إلكترونية مثلًا، ألا يمكنه الاعتماد على الأدوات الجاهزة الميسَّرة التي تمكنه من إنجاز عمله دون الحاجة إلى تعلم لغات البرمجة؟
</p>

<p>
	في الواقع إن علمك بلغات البرمجة وتعلمك لها ورقة رابحة في يدك وسيعود عليك بالعديد من <a href="https://academy.hsoub.com/programming/general/%D9%81%D9%88%D8%A7%D8%A6%D8%AF-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">الفوائد</a>، سواءٌ أكنت مبرمجًا أم غير ذلك، ومن أبرز هذه الفوائد ما يلي:
</p>

<ol>
	<li>
		تسهّل لغات البرمجة أتمتة الأعمال وتوفر الوقت.
	</li>
	<li>
		تتيح لك البرمجة بناء أشياء قيّمة تزيد من دخلك.
	</li>
	<li>
		تعزز معرفة لغات البرمجة فرص توظيفك.
	</li>
	<li>
		تمكنك لغات البرمجة من محو أميتك الرقمية والتآلف مع التطور التقني.
	</li>
</ol>

<p>
	لنناقش كل نقطة من النقاط الواردة أعلاه بمزيد من التفصيل.
</p>

<h3 id="-2">
	1. تسهّل لغات البرمجة أتمتة الأعمال وتوفر الوقت
</h3>

<p>
	تخيّل أن تستطيع أتمتة عمل 10 ساعات في ساعة واحدة! يدور جزء كبير من علوم الحاسوب على الخوارزميات التي تساعد على تحقيق أكبر قدر من العمل بأقل قدر من الوقت والجهد. تساعدك هذه الخوارزميات (حتى وإن لم تكن مبرمجًا) على حل كثيرٍ من مشكلاتك على نحو أمثلي.
</p>

<h3 id="-3">
	2. تتيح لك البرمجة بناء أشياء قيّمة تزيد من دخلك
</h3>

<p>
	لا يكاد يخلو مشروعٌ من المشاريع الصغيرة أو الكبيرة من الحاجة إلى برنامج محلي، أو <a href="https://academy.hsoub.com/apps/general/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A5%D9%86%D8%B4%D8%A7%D8%A1-%D9%85%D9%88%D9%82%D8%B9-%D8%B9%D9%84%D9%89-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-r894/" rel="">موقع إلكتروني على الويب</a>، أو <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%AC%D9%88%D8%A7%D9%84-r1801/" rel="">تطبيق جوال</a> يسهّل العمل أو يزيد شهرة المشروع أو يعزّز تجربة المستخدم. إن قدرتك على بناء حلول تعزز مشروعك الخاص أو مشاريع من هم حولك قد تكون فرصة لك وللمشروع للانطلاق إلى مستقبل باهر.
</p>

<h3 id="-4">
	3. تعزز معرفة لغات البرمجة فرص توظيفك
</h3>

<p>
	حسب موقع <a href="https://gitnux.org/coding-statistics/" rel="external nofollow">جِتنُكس</a>  إن أكثر من 58% من فرص العمل في الصناعات الرقمية يتطلب وجود مهارة في البرمجة لدى المتقدمين. كما أن الطلب على <a href="https://academy.hsoub.com/programming/general/%D9%88%D8%B8%D8%A7%D8%A6%D9%81-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%A3%D9%83%D8%AB%D8%B1-%D8%B7%D9%84%D8%A8%D9%8B%D8%A7/" rel="">وظائف البرمجة</a>  قد ازداد بمعدل أسرع بـ50% من ازدياد الطلب على الوظائف الأخرى بالعموم في العقد الماضي ولعل هذه النسب المرتفعة تكفي لوحدها لإقناعك بأن مستقبل الوظائف المختلفة سترجح لكفة من يهتم بتعلم لغات البرمجة ويوليها الاهتمام الكافي.
</p>

<h3>
	4. تمكنك لغات البرمجة من محو أميتك الرقمية والتآلف مع التطور التقني
</h3>

<p>
	ففي عصرنا الحالي لم تعد الأمية هي أمية القراءة والكتابة والحساب، بل يعد أي شخص غير قادر على التعامل مع التقنيات الرقمية والحواسيب والهواتف الذكية ومنصات الإنترنت أميًّا، ومن هنا تبرز أهمية تعلم لغات البرمجة فهي توسع مداركك وتعزز قدرتك على التخاطب مع الأجهزة الذكية والمختلفة واستخدامها بكفاءة.
</p>

<h2 id="-5">
	كيف أختار لغة البرمجة المناسبة لي؟
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="143081" href="https://academy.hsoub.com/uploads/monthly_2024_01/1745039630_.png.9850985f1fcb682ed223a6801f8d1e8b.png" rel=""><img alt="تعلم لغات البرمجة.png" class="ipsImage ipsImage_thumbnailed" data-fileid="143081" data-ratio="62.60" data-unique="6w20u04c2" style="width: 497px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2024_01/.thumb.png.477b43a36b901bdcb75bccc1c0a94b1a.png"></a>
</p>

<p>
	إن تعلّم لغات البرمجة بالترتيب (من الأسهل إلى الأصعب، أو من الأقرَب إلى منطق الحاسوب إلى الأبعد عنه) هو الطريقة المثالية للبدء إذا لم يكن لديك هدف محدد لتعلم البرمجة وكنت تود فقط تعزيز مهاراتك في التفكير وحل المشكلات. لكن من الأفضل أن يعرف المرء أولًا لماذا يتعلّم لغات البرمجة؟ وما نوع التطبيقات التي ينوي تطويرها من التعلم إذ تختلف أهداف الناس عندما يقررون تعلم لغات البرمجة وتتنوع بين:
</p>

<ul>
	<li>
		برمجة المواقع الإلكترونية.
	</li>
	<li>
		برمجة تطبيقات الجوال.
	</li>
	<li>
		تعلم الذكاء الصنعي وتحليل البيانات.
	</li>
	<li>
		برمجة الألعاب.
	</li>
</ul>

<p>
	فلنتعرّف على لغات البرمجة المناسبة لكل مجال من هذه المجالات.
</p>

<h3 id="-6">
	برمجة المواقع الإلكترونية
</h3>

<p>
	إذا كان شغفك في بناء المواقع الإلكترونية، فلا بدّ لك من البدء بتقنيات الويب. أهم لغات البرمجة المناسبة لتطوير المواقع الإلكترونية:
</p>

<ul>
	<li>
		<a href="https://wiki.hsoub.com/HTML" rel="external">HTML</a>: وهي اللغة التي تُعنى بمحتوى صفحات الويب من نصوص وصور وروابط.
	</li>
	<li>
		<a href="https://wiki.hsoub.com/CSS" rel="external">CSS</a>: وهي اللغة المعنية بتنسيق صفحات الويب تلوينًا وتحريكًا وتحجيمًا… إلخ.
	</li>
	<li>
		<a href="https://wiki.hsoub.com/JavaScript" rel="external">JavaScript</a>: وهي اللغة المعنية بإضافة التفاعلية والديناميكية إلى صفحات الويب.
	</li>
</ul>

<p>
	من أهم مزايا تقنيات الويب هي ميزة تعدّد المنصّات cross-platform، أي إمكانية استخدامها لبناء تطبيقات في مختلف المنصّات. وباستخدام أطر عمل تطوير الويب الحديثة، يستطيع مبرمج الويب بناء مختلف أنواع التطبيقات سواء <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%85%D9%88%D8%A7%D9%82%D8%B9-%D8%A7%D9%84%D9%88%D9%8A%D8%A8/" rel="">برمجة مواقع وتطبيقات الويب</a>، أو <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%B3%D8%B7%D8%AD-%D8%A7%D9%84%D9%85%D9%83%D8%AA%D8%A8/" rel="">تطبيقات سطح المكتب</a> أو <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%AC%D9%88%D8%A7%D9%84-r1801/" rel="">تطبيقات لأجهزة الجوال</a> (أندرويد وآيفون)
</p>

<h3 id="-7">
	برمجة تطبيقات الجوال
</h3>

<p>
	لقد أصبحت برمجة تطبيقات الجوال مجالًا من أهم مجالات تقانة المعلومات. تتنوع منهجيات <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%AC%D9%88%D8%A7%D9%84-r1801/" rel="">برمجة تطبيقات الجوال</a> بين الأصيل والهجين ومتعدد المنصات والتقدمي. إليك أهم لغات البرمجة في مجال تطبيقات الجوال:
</p>

<ul>
	<li>
		لغة Kotlin لتطبيقات الأندرويد الأصيلة.
	</li>
	<li>
		لغة Swift لتطبيقات iOS الأصيلة.
	</li>
	<li>
		تقنيات الويب للتطبيقات الهجينة والتقدمية.
	</li>
	<li>
		إطار Flutter أو React Native، أو NativeScript للتطبيقات متعددة المنصات.
	</li>
</ul>

<h3 id="-8">
	تعلم الذكاء الصنعي وتحليل البيانات
</h3>

<p>
	مع صعود نجم <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">الذكاء الصنعي</a>، وازدياد الحاجة إلى <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%AD%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">تحليل البيانات</a> الضخمة، برزت أهمية لغة بايثون Python في هذا المجال. لذا يعدّ <a href="https://academy.hsoub.com/python/" rel="">تعلم لغة البرمجة بايثون</a> من أول الخيارات التي ستتبادر للذهن عند الرغبة في تعلم لغات البرمجة من أجل التخصص في تطوير تطبيقات الذكاء الاصطناعي. إذ تمتاز لغة بايثون بسهولة قواعدها وسهولة فهم أكوادها، وهي في الوقت نفسه مدعومة بكثير من المكتبات التي توسّع إمكاناتها إلى مختلف المجالات. وقد أثبتت بايثون قدرتها العالية <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">كلغة لبرمجة الذكاء الصنعي</a> وتحليل البيانات، دون أن تنقص من قيمتها في مجالات أخرى، مثل <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D8%AE%D9%84%D9%81%D9%8A%D8%A9-backend-web-development/" rel="">تطوير الواجهات الخلفية لتطبيقات الويب</a>، أو حتى بناء بوتات تلغرام أو غير ذلك.
</p>

<p>
	تعد سهولة تعلم لغة البرمجة بايثون، إلى جانب توفر كثير من المكتبات التي تسهّل بناء مختلف التطبيقات باستخدامها، من أهم مزاياها التي تشجّع المبتدئين على اختيارها. فإذا كنت مهتمًّا بالذكاء الصنعي وتحليل البيانات، فلغة البرمجة بايثون هي خيارك الأول.
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة الذكاء الاصطناعي
		</p>

		<p class="banner-subtitle">
			احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة.
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/artificial-intelligence" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<a href="https://academy.hsoub.com/learn/artificial-intelligence" rel=""><img alt="دورة الذكاء الاصطناعي AI" src="https://academy.hsoub.com/learn/assets/images/courses/artificial-intelligence.png"></a>
	</div>
</div>

<h3 id="-9">
	برمجة الألعاب
</h3>

<p>
	يتجه كثير من الراغبين في تعلم البرمجة إلى تعلم صناعة الألعاب الإلكترونية فهو مجال مربح وممتع بذات الوقت. تتنوع الخيارات أمام عشاق برمجة الألعاب، إذ تتوفر  العديد من <a href="https://academy.hsoub.com/programming/game-development/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%A3%D9%84%D8%B9%D8%A7%D8%A8/" rel="">لغات برمجة الألعاب</a> و<a href="https://academy.hsoub.com/programming/game-development/%D9%85%D8%AD%D8%B1%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%A3%D9%84%D8%B9%D8%A7%D8%A8-game-engines/" rel="">محركات الألعاب</a> التي تسهل عمل مبرمجي الألعاب. لكن الخيار الأول إذا أردت تعلم برمجة الألعاب ثلاثية الأبعاد هو لغة <a href="https://academy.hsoub.com/programming/cpp/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-c-r802/" rel="">++C</a>، إذ تعد هذه اللغة البداية التقليدية في رحلة تعلم البرمجة، كما تُدرّسها كثير من الجامعات في السنوات الأولى. ومن أشهر محركات الألعاب التي تستخدم لغة ++C نذكر:
</p>

<ul>
	<li>
		محرك الألعاب <a href="https://academy.hsoub.com/programming/game-development/%D9%86%D8%A8%D8%B0%D8%A9-%D8%B9%D9%86-%D8%B5%D9%86%D8%A7%D8%B9%D8%A9-%D8%A7%D9%84%D8%A3%D9%84%D8%B9%D8%A7%D8%A8-%D9%88%D9%85%D8%AD%D8%B1%D9%83-unity3d-r126/" rel="">Unity</a>.
	</li>
	<li>
		محرك الألعاب Unreal Engine.
	</li>
</ul>

<p>
	أما إذا أردت بناء ألعاب أقرب إلى البساطة، فلك أن تبدأ تعلم لغات البرمجة الآتية:
</p>

<ul>
	<li>
		لغة #C أو GDScript (محرك الألعاب <a href="https://academy.hsoub.com/programming/game-development/%D9%85%D8%AD%D8%B1%D9%83-%D8%A7%D9%84%D8%A3%D9%84%D8%B9%D8%A7%D8%A8-%D8%AC%D9%88%D8%AF%D9%88-godot/" rel="">Godot</a>)
	</li>
	<li>
		جافاسكريبت (إطار Phaser).
	</li>
	<li>
		بايثون (إطار Pyxel).
	</li>
</ul>

<h2 id="-10">
	كيفية تعلم لغة البرمجة التي اخترتها
</h2>

<p>
	بعد أن تختار لغة البرمجة المناسبة لك، لا شكّ أنك تتساءل عن طرف الخيط. كيف تبدأ تعلم لغة البرمجة التي اخترتها؟قد تختلف طرائق تعلم لغات البرمجة في تفاصيلها، ولكنها تتبع بالعموم قواعد معينة:
</p>

<ul>
	<li>
		تعلم ا<a href="https://academy.hsoub.com/programming/advanced/%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA/" rel="">لخوارزميات</a> وأسس <a href="https://academy.hsoub.com/programming/general/%D8%A3%D9%87%D9%85%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%81%D9%83%D9%8A%D8%B1-%D8%A7%D9%84%D9%85%D9%86%D8%B7%D9%82%D9%8A-%D9%81%D9%8A-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r2095/" rel="">التفكير المنطقي</a> وحل المشكلات.
	</li>
	<li>
		تعلم مبادئ و<a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أساسيات لغات البرمجة</a>.
	</li>
	<li>
		لا تشتت نفسك بمصادر منوعة لتعلم لغات البرمجة واكتفَ بمصادر حديثة وموثوقة.
	</li>
	<li>
		انضم للمجتمعات البرمجية مثل <a href="https://io.hsoub.com/" rel="external">مجتمع حسوب io</a> وشارك تجاربك مع خبراء في لغات البرمجة المختلفة.
	</li>
	<li>
		ابدأ بتطوير <a href="https://academy.hsoub.com/programming/python/%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-%D8%B9%D9%85%D9%84%D9%8A%D8%A9-%D8%AA%D9%86%D8%A7%D8%B3%D8%A8-%D8%A7%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-r2185/" rel="">مشاريع برمجية بسيطة</a> تناسب المبتدئين، ثم تقدم شيئًا فشيئًا.
	</li>
	<li>
		احرص على بناء معرض أعمال قوي يعكس خبراتك في لغات البرمجة التي تعلمتها.
	</li>
	<li>
		ابحث عن فرصة عمل في الشركات ومواقع العمل الحر فالمشاريع الفعلية كفيلة بتعزيز تعلمك للغات البرمجة والوصول للاحتراف.
	</li>
	<li>
		لا تتوقف عن التعلم وتطوير نفسك فالبرمجة تتطور وتتغير باستمرار وعليك الاطلاع على كل جديد كي تبقى في الصدارة.
	</li>
</ul>

<h3 id="-11">
	أهم مصادر تعلم لغات البرمجة بالعربية
</h3>

<p>
	إن كنت قلقًا من إمكانية تعلم لغة البرمجة بالعربية، فلا عليك. لقد تطور المحتوى التعليمي البرمجي العربي في السنوات الأخيرة تطورًا ملحوظًا، وصار من السهولة بمكان تعلم أي لغة برمجة باللغة العربية. ويعود هذا الفضل إلى جهود كثير من منشئي المحتوى على اليوتيوب، إلى جانب المؤسسات التعليمية مثل أكاديمية حسوب التي تعد اليوم أكبر منصة تعليمية لتعلم البرمجة في الوطن العربي، والتي تقدم الكثير من دروس البرمجة عالية الجودة بأسلوب شيق وعملي.
</p>

<p>
	حيث توفر أكاديمية حسوب عدة <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D9%81%D8%B6%D9%84-%D9%83%D8%AA%D8%A8-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-r2187/" rel="">كتب برمجة عربية</a> ومقالات برمجة مجانية لتعلم لغات البرمجة المختلفة.ومن الكتب المناسبة للمبتدئين كتاب <a href="https://academy.hsoub.com/files/35-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/" rel="">تعلم البرمجة للمبتدئين</a> الذي يُطلع القارئ على أنواع البيانات الأساسية و<a href="https://academy.hsoub.com/programming/general/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أنواع لغات البرمجة</a> ومكونات التدفق المنطقي، ثم ينتقل إلى بناء تطبيقات للتعامل مع قواعد البيانات، وبناء الواجهات الرسومية وغير ذلك من المهام البرمجية التي تنفع في بناء شتى أنواع التطبيقات، ومن الكتب الأخرى المناسبة للمبتدئين كتاب <a href="https://academy.hsoub.com/files/15-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D9%84%D8%BA%D8%A9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86/" rel="">البرمجة بلغة بايثون</a> الذي يعدّ منطلقًا إلى عالم البرمجة بهذه اللغة القوية التي تعد واحدة من أقوى لغات البرمجة والتي تصلح للعديد من المجالات.
</p>

<p>
	كما تقدم أكاديمية حسوب أيضًا عدة دورات مدفوعة للمبتدئين في عالم لغات البرمجة، منها <a href="https://academy.hsoub.com/store/7-%D8%AF%D9%88%D8%B1%D8%A9-%D8%B9%D9%84%D9%88%D9%85-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8/" rel="">دورة علوم الحاسوب</a> وهي مدخل مناسب إلى الحاسوب وعلومه والخوارزميات وأنظمة التشغيل وقواعد البيانات وغير ذلك. أما الدورات المتخصصة بلغة برمجة بعينها فمنها:
</p>

<ul>
	<li>
		<a href="https://academy.hsoub.com/store/9-%D8%AF%D9%88%D8%B1%D8%A9-%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D9%84%D8%BA%D8%A9-python/" rel="">دورة تطوير التطبيقات باستخدام لغة Python</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/store/5-%D8%AF%D9%88%D8%B1%D8%A9-%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D9%84%D8%BA%D8%A9-javascript/" rel="">دورة تطوير التطبيقات باستخدام لغة JavaScript</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/learn/php-web-application-development/" rel="">دورة تطوير تطبيقات الويب باستخدام لغة PHP</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/learn/ruby-web-application-development/" rel="">دورة تطوير تطبيقات الويب باستخدام لغة Ruby</a>
	</li>
</ul>

<h2 id="-12">
	خاتمة
</h2>

<p>
	إن تعلم لغات البرمجة رحلة وممتعة، فإذا كنت قد عزمت البدء فيها، فأتمنى لك التوفيق، وأرجو أن يكون هذا المقال دليلًا صغيرًا ينفعك في أول محطات رحلتك. وإذا واجهتك عقبة في رحلة تعلم أي لغة برمجة، فلا تيأس، جرّب وحاول حتى تتعلّم. وإذا وجدت صعوبة في اختيار لغة البرمجة المناسبة لك أو كيفية تعلمها، فلك أن تطرح مشكلتك في قسم التعليقات أسفل المقال.
</p>

<p>
	اقرأ أيضًا
</p>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D9%87%D9%84-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أسهل لغات البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">دليلك إلى أنواع لغات البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">لغات برمجة الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r662/" rel="">الدليل الشامل لتعلم البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82/" rel="">خطوات برمجة تطبيق للمبتدئين</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">برمجة الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%88%D8%B8%D8%A7%D8%A6%D9%81-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%A3%D9%83%D8%AB%D8%B1-%D8%B7%D9%84%D8%A8%D9%8B%D8%A7/" rel="">تعرف على وظائف البرمجة الأكثر طلبًا</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2236</guid><pubDate>Sun, 04 Feb 2024 12:08:00 +0000</pubDate></item><item><title>&#x62E;&#x627;&#x635;&#x64A;&#x629; &#x627;&#x644;&#x627;&#x62A;&#x62C;&#x627;&#x647; Direction &#x644;&#x644;&#x623;&#x634;&#x639;&#x629; &#x627;&#x644;&#x647;&#x646;&#x62F;&#x633;&#x64A;&#x629; &#x641;&#x64A; &#x627;&#x644;&#x62A;&#x635;&#x627;&#x645;&#x64A;&#x645; &#x62B;&#x644;&#x627;&#x62B;&#x64A;&#x629; &#x627;&#x644;&#x623;&#x628;&#x639;&#x627;&#x62F;</title><link>https://academy.hsoub.com/programming/general/%D8%AE%D8%A7%D8%B5%D9%8A%D8%A9-%D8%A7%D9%84%D8%A7%D8%AA%D8%AC%D8%A7%D9%87-direction-%D9%84%D9%84%D8%A3%D8%B4%D8%B9%D8%A9-%D8%A7%D9%84%D9%87%D9%86%D8%AF%D8%B3%D9%8A%D8%A9-%D9%81%D9%8A-%D8%A7%D9%84%D8%AA%D8%B5%D8%A7%D9%85%D9%8A%D9%85-%D8%AB%D9%84%D8%A7%D8%AB%D9%8A%D8%A9-%D8%A7%D9%84%D8%A3%D8%A8%D8%B9%D8%A7%D8%AF-r2237/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_01/1019177743_.png.bbae595d576338265e711e484e830e5e.png" /></p>
<p>
	يناقش هذا المقال خاصيةً مهمةً أخرى للشعاع وهي خاصية الاتجاه، إذ ناقشنا في <a href="https://academy.hsoub.com/design/3d/%D8%AE%D8%A7%D8%B5%D9%8A%D8%A9-%D8%A7%D9%84%D8%B7%D9%88%D9%84-length-%D9%84%D9%84%D8%A3%D8%B4%D8%B9%D8%A9-%D8%A7%D9%84%D9%87%D9%86%D8%AF%D8%B3%D9%8A%D8%A9-%D9%81%D9%8A-%D8%A7%D9%84%D8%AA%D8%B5%D8%A7%D9%85%D9%8A%D9%85-%D8%AB%D9%84%D8%A7%D8%AB%D9%8A%D8%A9-%D8%A7%D9%84%D8%A3%D8%A8%D8%B9%D8%A7%D8%AF-r851/" rel="">المقال السابق</a> خاصية الطول، حيث تعرّف هاتان الخاصيتان الشعاع.
</p>

<p>
	سنوضّح في هذا المقال المواضيع التالية:
</p>

<ul>
	<li>
		المنحى Orientation أو اتجاه الحركة للأشعة ثنائية الأبعاد (مُمثَّلة في إطار إحداثي معين).
	</li>
	<li>
		الغموض عند استخدام قوس الظل arc tan لحساب الزاوية.
	</li>
	<li>
		تحويل الطول والمنحى إلى مكونات مصفوفة عمودية.
	</li>
	<li>
		قياس الزوايا بوحدتي الراديان Radian والدرجة المئوية.
	</li>
	<li>
		استخدام لغتي البرمجة <a href="https://academy.hsoub.com/programming/c/" rel="">سي C</a> و<a href="https://academy.hsoub.com/programming/java/" rel="">جافا Java</a> مع قوس الظل.
	</li>
</ul>

<h2 id="xy">
	الأشعة المحاذية للمحورين X-Y
</h2>

<p>
	ما هو اتجاه الشعاع الذي تمثله المصفوفة العمودية ‎(4, 0)<sup>T</sup>‎؟ يوازي هذا الشعاع المحور X لإطار الإحداثيات الذي نستخدمه، وسيكون هذا الشعاع غالبًا أفقيًا ويؤشّر إلى اليمين (أو يمكن القول أن الشعاع له منحى مقداره 0 درجة).
</p>

<p>
	للشعاع ثنائي الأبعاد الذي يحاذي محور الإحداثيات -كما هو الحال مع ‎(4, 0)<sup>T</sup>‎- منحًى يسهل رؤيته، ويكون عند 0 درجة أو 90 درجة أو 180 درجة أو 270 درجة.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="142970" href="https://academy.hsoub.com/uploads/monthly_2024_01/01_angle1.png.84a27fd6c0356eb71e9ce8c34a3122ba.png" rel=""><img alt="01 angle1" class="ipsImage ipsImage_thumbnailed" data-fileid="142970" data-unique="oi9froio7" src="https://academy.hsoub.com/uploads/monthly_2024_01/01_angle1.png.84a27fd6c0356eb71e9ce8c34a3122ba.png"> </a>
</p>

<p>
	يُعبَّر عن منحى الشعاع عادةً من خلال زاوية مع المحور x الموجب لإطار الإحداثيات، وهناك طريقتان لذلك:
</p>

<ul>
	<li>
		تُقاس الزاوية من 0 إلى 360 درجة بعكس اتجاه دوران عقارب الساعة ابتداءً من المحور x الموجب.
	</li>
	<li>
		تُقاس الزاوية من 0 إلى ‎+180 درجة بعكس اتجاه دوران عقارب الساعة, ابتداءً من المحور x الموجب، أو تُقاس من 0 إلى ‎-180 درجة مع اتجاه دوران عقارب الساعة ابتداءً من المحور x الموجب.
	</li>
</ul>

<h2 id="x">
	حساب زاوية الشعاع عن المحور X
</h2>

<p>
	ما هو اتجاه الشعاع <strong>a</strong> في المخطط البياني السابق؟ يكون منحى الشعاع a = (4, 4)<sup>T</sup>‎ بزاوية مقدارها 45 درجة.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="142976" href="https://academy.hsoub.com/uploads/monthly_2024_01/02_angle2.png.92bdbba9abfdf2ff80f9cfb221bafddb.png" rel=""><img alt="02 angle2" class="ipsImage ipsImage_thumbnailed" data-fileid="142976" data-unique="lt305df4a" src="https://academy.hsoub.com/uploads/monthly_2024_01/02_angle2.png.92bdbba9abfdf2ff80f9cfb221bafddb.png"> </a>
</p>

<p>
	يجب أن تعطي الرياضيات الإجابة نفسها، إذ يُقدَّر ميل Slope الشعاع <strong>a</strong> بما يلي:
</p>

<p style="text-align: center;">
	(التغير في قيمة x)/(التغير في قيمة y)‫ = 4.0/4.0 = 1.0
</p>

<p>
	بالتالي تكون الزاوية باستخدام قوس الظل هي: 45‎ = arc tan( 1.0 )‎ درجة.
</p>

<p>
	ليس للأشعة موقع، لذا لا يعتمد الطول ولا الاتجاه على المكان الذي ترسم فيه الشعاع، وتكون صيغة اتجاه الشعاع ثنائي الأبعاد هي:
</p>

<p style="text-align: center;">
	angle of (x, y)<sup>T</sup> = arc tan( y/x )
</p>

<p>
	وللتأكيد يعني استخدام قوس الظل لقيمةٍ ما arc tan( z )‎ أنه تم العثور على الزاوية التي لها ظل tangent مقداره z، وتذكّر -عند حسابها باستخدام الآلة الحاسبة- أن الإجابة يمكن أن تكون بالراديان أو بالدرجات، إذ تمنحك معظم الآلات الحاسبة خيار استخدام أيّ من هذين التنسيقين. وبما أن الآلات الحاسبة تعطي عادةً الإجابة محصورةً بين ‎-90.0 و ‎+90.0 درجة (أو بين ‎-pi و ‎+pi راديان)، فقد تضطر إلى تعديل الإجابة (سنوضح ذلك لاحقًا).
</p>

<p>
	يمكنك أيضًا استخدام الآلة الحاسبة على حاسوبك، فإذا كنت تستخدم نظام التشغيل <a href="https://academy.hsoub.com/apps/operating-systems/windows/" rel="">ويندوز</a>، فانقر على الخيار "علمي Scientific" في قائمة "العرض View" للآلة الحاسبة التي تحتوي على قوس الظل arc tan الذي يمكن أن يكون له تسمية هي tan<sup>-1</sup>‎.
</p>

<p>
	ما هو منحى الشعاع الذي تمثله المصفوفة العمودية: ‎<strong>k</strong> = (3,4)<sup>T</sup>‎ (باستخدام الآلة الحاسبة)؟
</p>

<p style="text-align: center;">
	‪arc tan( y/x ) = arc tan( 4/3 ) = arc tan( 1.333333333333 ) = 53.13 درجة
</p>

<h2 id="">
	التعامل مع القيم السالبة
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="142972" href="https://academy.hsoub.com/uploads/monthly_2024_01/03_angle3.png.9893dbda79ea98fb02e49c08f8555f9a.png" rel=""><img alt="03 angle3" class="ipsImage ipsImage_thumbnailed" data-fileid="142972" data-unique="m0xhf6a8s" src="https://academy.hsoub.com/uploads/monthly_2024_01/03_angle3.png.9893dbda79ea98fb02e49c08f8555f9a.png"> </a>
</p>

<p>
	يوضح المخطط البياني السابق الشعاع الذي تمثله المصفوفة العمودية: ‎<strong>k</strong> = (3,4)<sup>T</sup>‎، والذي حسبنا منحاه ليكون 53.13 درجةً عن محور x الموجب، وبالتالي يبدو كل شيء صحيحًا.
</p>

<p>
	لنحسب الآن منحى الشعاع ‎<strong>-k</strong> = (-3,-4)<sup>T</sup>‎ من خلال استخدام الصيغة التالية:
</p>

<p style="text-align: center;">
	‪arc tan( y/x ) = arc tan( -4/-3 ) = arc tan( 4/3 ) = arc tan( 1.333333333333 ) = 53.13 درجة
</p>

<p>
	لاحظ وجود خطأ، إذ أعطتنا هذه الصيغة الزاوية نفسها للشعاع الذي يؤشّر إلى الاتجاه المعاكس لاتجاه الشعاع الأول. تكمن المشكلة في فقدان المعلومات عند قسمة ‎-4 على ‎-3، إذ لا يمكننا تفريق هذه النتيجة عن نتيجة قسمة ‎+4 على ‎+3، وبالتالي هذه الصيغة ليست كافيةً لتعطيك الإجابة الصحيحة، ويجب عليك رسم الشعاع ثم تعديل الإجابة.
</p>

<p>
	لاحظ من المخطط البياني أن منحى الشعاع <strong>‎-k</strong> الذي يُعبَّر عنه بالدرجات من 0 إلى 360 بعكس اتجاه عقارب الساعة عن المحور x هو (180 + 53.13) = 233.13 درجة.
</p>

<p>
	ما هو منحى الشعاع الذي تمثله المصفوفة العمودية: ‎ <strong>p</strong> = (3,-4)<sup>T</sup>‎(استخدم تطبيق الآلة الحاسبة الموجود على حاسوبك)؟
</p>

<p>
	ضع الأعداد في حاسبة ويندوز كما يلي:
</p>

<p style="text-align: center;">
	‪arc tan( y/x ) = arc tan( -4/3 ) = arc tan( -1.333333333333 ) = -53.13 درجة
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="142969" href="https://academy.hsoub.com/uploads/monthly_2024_01/04_angle4.png.a078e3c76eb69893165cf397a1a390ba.png" rel=""><img alt="04 angle4" class="ipsImage ipsImage_thumbnailed" data-fileid="142969" data-unique="3h4k7otb9" src="https://academy.hsoub.com/uploads/monthly_2024_01/04_angle4.png.a078e3c76eb69893165cf397a1a390ba.png"> </a>
</p>

<p>
	يبدو الحساب صحيحًا في المخطط البياني السابق، وإذا أردتَ التعبير عن الزاوية بعكس اتجاه دوران عقارب الساعة، فهي 360 - 53.130 = 306.870 درجة، ولكن سيعطيك الشعاع <strong>‎-p</strong> النتيجة نفسها للأسف، لذا ارسم دائمًا الشعاع عندما تحسب منحاه، بعدها يمكنك أن ترى أن الزاوية التي تريدها للشعاع <strong>‎-p</strong> هي 180 - 53.130 = 126.87 درجة.
</p>

<p>
	تتوفر الدالة <code>atan2(y, x)‎</code> في معظم <a href="https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">لغات البرمجة</a>، إذ تحسب هذه الدالة الزاوية بالراديان بين المحور x الموجب والنقطة المعطاة بالإحداثيات (x, y)، وتستخدِم إشارتَي x و y لتحديد الربع الصحيح للزاوية.
</p>

<p>
	ما هو منحى الشعاع ‎<strong>u</strong> = (-4,-2)<sup>T</sup>‎ ؟ (ارسم الشعاع أولًا، ثم استخدم الآلة الحاسبة)؟
</p>

<p>
	عوّض القيم في الصيغة واستخدم الآلة الحاسبة لإيجاد الناتج:
</p>

<p style="text-align: center;">
	‪arc tan( y/x ) = arc tan( -2/-4 ) = arc tan( 0.5 ) = 26.565 درجة
</p>

<p>
	ولكن سترى عند رسم الشعاع أنه يقع في الربع الخطأ، لذا يجب أن تكون الإجابة 180 + 26.565 = 206.565 درجة.
</p>

<h2 id="xy-1">
	حساب السمتين (x, y) الخاصتين بالشعاع
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="142974" href="https://academy.hsoub.com/uploads/monthly_2024_01/05_angle5.png.42c2ce0ed0ae7545a0af51396e14d203.png" rel=""><img alt="05 angle5" class="ipsImage ipsImage_thumbnailed" data-fileid="142974" data-unique="cs8qpgohd" src="https://academy.hsoub.com/uploads/monthly_2024_01/05_angle5.png.42c2ce0ed0ae7545a0af51396e14d203.png"> </a>
</p>

<p>
	لنفترض أنك تعلم أن الشعاع يمكن تمثيله بمصفوفة عمودية ‎(x, y)<sup>T</sup>‎ باستخدام إطار إحداثي معين، ويمكن حساب هاتين السمتين x و y كما يلي:
</p>

<p style="text-align: center;">
	‪orientation of (x, y)<sup>T</sup> = arc tan( y/x )
</p>

<p style="text-align: center;">
	‪|(x, y)<sup>T</sup>| = √( x<sup>2</sup> + y<sup>2</sup> )
</p>

<p>
	ارسم الشعاع <strong>r</strong> الذي تمثله المصفوفة العمودية ‎(4, 5)<sup>T</sup>‎، ثم قدّر طوله واتجاهه، وأجرِ العمليات الحسابية للحصول على الإجابة الدقيقة كما يلي:
</p>

<ul>
	<li>
		الطول:
	</li>
</ul>

<p style="text-align: center;">
	‪| <strong>r</strong> | = | (4,5)<sup>T</sup> | = √(16+25) = 6.40
</p>

<ul>
	<li>
		الاتجاه:
	</li>
</ul>

<p style="text-align: center;">
	‪direction = arc tan{ 5/4 } = 51.34 درجة
</p>

<h2 id="xy-2">
	تحويل الطول والاتجاه إلى السمتين (x, y)
</h2>

<p style="text-align: center;">
	<img alt="06_angle6.gif" class="ipsImage ipsImage_thumbnailed" data-fileid="142975" data-ratio="100.00" data-unique="2599cyqkv" width="217" src="https://academy.hsoub.com/uploads/monthly_2024_01/06_angle6.gif.56678c8d673d3b41cc2de1864f794a5e.gif">
</p>

<p>
	لنفترض أن لديك طول واتجاه وتريد التعبير عنهما بشعاع عمودي ثنائي الأبعاد، يمكنك فعل ذلك باتباع الخطوات التالية:
</p>

<ul>
	<li>
		أنشئ مخططًا بيانيًا.
	</li>
	<li>
		احسب قيمة x من خلال إسقاط الطول على المحور x باستخدام length*cos( θ )‎.
	</li>
	<li>
		احسب قيمة y من خلال إسقاط الطول على المحور y باستخدام length*sin( θ )‎.
	</li>
	<li>
		تحقق من الإجابات وفق المخطط البياني.
	</li>
</ul>

<p>
	لنفترض أن لدينا شعاعًا طوله 4 ومنحاه بزاويةٍ مقدارها 150 درجة. إذًا ما هي المصفوفة العمودية التي تمثّل هذا الشعاع؟ سنمثّل هذا الشعاع بالمصفوفة العمودية ثنائية الأبعاد ‎( -3.464, 2.0 )<sup>T</sup>‎ .
</p>

<h2 id="-1">
	حساب الزوايا بالراديان
</h2>

<p>
	اتبع الخطوات التالية في هذا الحساب:
</p>

<ul>
	<li>
		أنشئ مخططًا بيانيًا كما يلي:
	</li>
</ul>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="142977" href="https://academy.hsoub.com/uploads/monthly_2024_01/07_angle7.png.e18ec28bef0493a8e293788341a506ca.png" rel=""><img alt="07 angle7" class="ipsImage ipsImage_thumbnailed" data-fileid="142977" data-unique="62362r2wt" src="https://academy.hsoub.com/uploads/monthly_2024_01/07_angle7.png.e18ec28bef0493a8e293788341a506ca.png"> </a>
</p>

<ul>
	<li>
		احسب قيمة x من خلال إسقاط الطول على المحور x كما يلي:
	</li>
</ul>

<p style="text-align: center;">
	‪4 * cos( 150 ) = -3.464
</p>

<ul>
	<li>
		احسب قيمة y من خلال إسقاط الطول على المحور y كما يلي:
	</li>
</ul>

<p style="text-align: center;">
	‪4 * sin( 150 ) = 2.0
</p>

<ul>
	<li>
		تحقق من الإجابات وفق المخطط البياني (تبدو جيدة).
	</li>
</ul>

<p>
	كن حذرًا بشأن استخدام هذه الصيغ وتوقّع الإجابات الصحيحة، خاصةً عند البرمجة بلغة سي أو جافا، إذ يمكن للمكتبات الرياضية الخاصة بلغة البرمجة أن تعطي أشياءً غير متوقعة إن لم تكن حذرًا، ولكن توجد ثلاثة أماكن يجب توخي الحذر فيها بصورة خاصة وهي:
</p>

<ol>
	<li>
		من المتوقع أن يكون وسيط <code>sin()‎</code> و <code>cos()‎</code> و <code>tan()‎</code> بالراديان، والقيمة التي تعيدها <code>atan()‎</code> بالراديان.
	</li>
	<li>
		من المتوقع أن يكون وسيط معظم الدوال الرياضية من النوع <code>double</code>، ولكن إذا استخدمتَ عددًا عشريًا <code>float</code> أو <a href="https://academy.hsoub.com/programming/c/%D8%A7%D9%84%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D8%A7%D9%84%D8%AD%D9%82%D9%8A%D9%82%D9%8A%D8%A9-%D9%88%D8%A7%D9%84%D8%B5%D8%AD%D9%8A%D8%AD%D8%A9-%D9%81%D9%8A-%D9%84%D8%BA%D8%A9-%D8%B3%D9%8A-c-r1611/" rel="">عددًا صحيحًا</a> <code>int</code>، فلن تحصل على رسالة خطأ، بل مجرد إجابة غريبة غير صحيحة.
	</li>
	<li>
		توجد عدة إصدارات من دالة "arc tan" في معظم مكتبات لغة سي، وكلٌ منها مخصَّص لمجال مختلف من قيم الخرج.
	</li>
</ol>

<p>
	يُعبَّر عن الزوايا عادةً بالراديان، وتُقاس الزوايا بعكس اتجاه عقارب الساعة ابتداءً من المحور x الموجب (أو تُقاس الزاوية السالبة باتجاه عقارب الساعة ابتداءً من المحور x الموجب أحيانًا)، إذ يوجد ما مقداره 2‎ pi راديان في الدائرة الكاملة، أي أن:
</p>

<p style="text-align: center;">
	(‎(2 pi راديان = 360 درجة
</p>

<p>
	لنفترض أن لدينا شعاعًا له طول <code>length</code> وزاوية <code>angle</code>! أوجد في هذه الحالة قيمة <code>vector[0]‎</code> التي تمثل المركّبة x، وأوجد قيمة <code>vector[1]‎</code> التي تمثّل المركّبة y الخاصة بهذا الشعاع.
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_2769_6" style=""><span class="com">#include</span><span class="pln"> </span><span class="str">&lt;math.h&gt;</span><span class="pln">

</span><span class="kwd">double</span><span class="pln"> length</span><span class="pun">,</span><span class="pln"> angle</span><span class="pun">;</span><span class="pln">  </span><span class="com">/* طول وزاوية الشعاع */</span><span class="pln">
</span><span class="kwd">double</span><span class="pln"> </span><span class="typ">vector</span><span class="pun">[</span><span class="lit">2</span><span class="pun">];</span><span class="pln">      </span><span class="com">/* عناصر الشعاع */</span><span class="pln">

 </span><span class="pun">.</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">.</span><span class="pln">

length </span><span class="pun">=</span><span class="pln"> </span><span class="pun">قيمةٌ</span><span class="pln"> </span><span class="pun">ما</span><span class="pln">
angle  </span><span class="pun">=</span><span class="pln"> </span><span class="pun">عددٌ</span><span class="pln"> </span><span class="pun">ما</span><span class="pln"> </span><span class="pun">بالدرجات</span><span class="pln">

</span><span class="typ">vector</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="pun">????</span><span class="pln">

</span><span class="typ">vector</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="pun">????</span></pre>

<p>
	لنفترض أن رمز pi هو <code>M_PI</code>، ولكن لسوء الحظ تستخدم <a href="https://academy.hsoub.com/programming/c/%D8%A7%D9%84%D9%81%D8%B5%D9%84-%D8%A7%D9%84%D8%A3%D9%88%D9%84-%D9%85%D9%81%D9%87%D9%88%D9%85-%D8%A7%D9%84%D8%AA%D8%B5%D8%B1%D9%8A%D9%81-compilation-%D9%81%D9%8A-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r976/" rel="">المصرّفات Compilers</a> المختلفة رموز PI مختلفة وتعرّفها في ترويسات ملفات مختلفة، لذا يجب أن تستخدم الرمز المناسب لنظام تشغيلك بدلًا من تعريف PI بنفسك.
</p>

<p>
	<strong>ملاحظة</strong>: إذا لم تكن على دراية بلغة سي، فيمكنك عَدّ هذه الشيفرة بأنها مكتوبة بلغة جافا.
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_2769_8" style=""><span class="com">#include</span><span class="pln"> </span><span class="str">&lt;math.h&gt;</span><span class="pln">

</span><span class="kwd">double</span><span class="pln"> length</span><span class="pun">,</span><span class="pln"> angle</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">double</span><span class="pln"> </span><span class="typ">vector</span><span class="pun">[</span><span class="lit">2</span><span class="pun">];</span><span class="pln">

 </span><span class="pun">.</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">.</span><span class="pln">

length </span><span class="pun">=</span><span class="pln"> </span><span class="pun">قيمةٌ</span><span class="pln"> </span><span class="pun">ما</span><span class="pln">
angle </span><span class="pun">=</span><span class="pln"> </span><span class="pun">عددٌ</span><span class="pln"> </span><span class="pun">ما</span><span class="pln"> </span><span class="pun">بالدرجات</span><span class="pln">

</span><span class="typ">vector</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln">  length </span><span class="pun">*</span><span class="pln"> cos</span><span class="pun">(</span><span class="pln"> angle</span><span class="pun">*</span><span class="pln">M_PI</span><span class="pun">/</span><span class="lit">180.0</span><span class="pln"> </span><span class="pun">)</span><span class="pln">

</span><span class="typ">vector</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln">  length </span><span class="pun">*</span><span class="pln"> sin</span><span class="pun">(</span><span class="pln"> angle</span><span class="pun">*</span><span class="pln">M_PI</span><span class="pun">/</span><span class="lit">180.0</span><span class="pln"> </span><span class="pun">)</span></pre>

<h2 id="-2">
	تدريب عملي
</h2>

<p>
	تذكّر أولًا الخطوات التي يجب اتخاذها لتحويل الشعاع المعلوم طوله واتجاهه إلى (x,y):
</p>

<ol>
	<li>
		أنشئ مخططًا بيانيًا.
	</li>
	<li>
		احسب قيمة x من خلال إسقاط الطول على المحور x باستخدام length*cos( θ )‎.
	</li>
	<li>
		احسب قيمة y من خلال إسقاط الطول على المحور y باستخدام length*sin( θ )‎. 4: تحقق من الإجابات وفق المخطط البياني.
	</li>
</ol>

<p>
	وتبقى الخطوات نفسها إذا كانت الزاوية مُعطاةً بالراديان.
</p>

<p>
	<strong>تدريب 1</strong>:
</p>

<p>
	ليكن لدينا شعاع طوله 4.5 (بأيّ وحدة طول) وزاوية منحاه 0.70 راديان، ولنعبّر عن هذا الشعاع بالصيغة ‎( x, y )<sup>T</sup>‎ كما يلي:
</p>

<ol>
	<li>
		أنشئ مخططًا بيانيًا كما يلي:
	</li>
</ol>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="142973" href="https://academy.hsoub.com/uploads/monthly_2024_01/08_angle8.png.5890df100c7610a399778c724549c60c.png" rel=""><img alt="08 angle8" class="ipsImage ipsImage_thumbnailed" data-fileid="142973" data-unique="67v83ns0f" src="https://academy.hsoub.com/uploads/monthly_2024_01/08_angle8.png.5890df100c7610a399778c724549c60c.png"> </a>
</p>

<ol start="2">
	<li>
		احسب قيمة x من خلال إسقاط الطول على المحور x كما يلي:
	</li>
</ol>

<p style="text-align: center;">
	‪4.5*cos( 0.70 ) = 3.442
</p>

<ol start="3">
	<li>
		احسب قيمة y بإسقاط الطول على المحور y كما يلي:
	</li>
</ol>

<p style="text-align: center;">
	‪4.5*sin( 0.70 ) = 2.899
</p>

<ol start="4">
	<li>
		تحقق من الإجابات وفق المخطط البياني.
	</li>
</ol>

<p>
	<strong>تدريب 2</strong>:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="142971" href="https://academy.hsoub.com/uploads/monthly_2024_01/09_angleAnts.png.e4417a6abfe942587c9d6afe5ff391cd.png" rel=""><img alt="09 angleants" class="ipsImage ipsImage_thumbnailed" data-fileid="142971" data-unique="0c6j3ax1t" src="https://academy.hsoub.com/uploads/monthly_2024_01/09_angleAnts.png.e4417a6abfe942587c9d6afe5ff391cd.png"> </a>
</p>

<p>
	لنفترض أن الدعسوقة ليلى أضاعت صديقتها سلوى، ولكن كان مع ليلى هاتف محمول لحسن الحظ وكان:
</p>

<ul>
	<li>
		موقع ليلى عند النقطة ‎(1, -4)‎.
	</li>
	<li>
		موقع سلوى عند النقطة ‎( -4, 3)‎.
	</li>
</ul>

<p>
	اتصل بليلى وأخبرها في أيّ اتجاه وإلى أيّ مسافة يجب أن تمشي للوصول إلى صديقتها سلوى.
</p>

<p>
	<strong>الحل</strong>:
</p>

<p style="text-align: center;">
	الاتجاه = 125.54 درجة، والمسافة = 8.60.
</p>

<p>
	كان عليك أن تتذكر كيفية حساب الإزاحة للحصول على الإجابة، إذ يمكنك حساب شعاع الإزاحة بين نقطتين (أو بين الدعسوقتين) كما يلي:
</p>

<p style="text-align: center;">
	(المكان الذي تريد أن تكون فيه) - (مكانك الحالي) = (الإزاحة التي تحتاجها)
</p>

<p>
	إذًا الإزاحة التي يجب أن تمشيها ليلى هي:
</p>

<p style="text-align: center;">
	‪( -4, 3) - (1, -4) = (-5, 7)
</p>

<p>
	ولكن تحتاج ليلى إلى مسافة وجهة هما:
</p>

<ul>
	<li>
		المسافة: ‎√(25 + 49) = 8.60
	</li>
	<li>
		<p>
			الاتجاه: ‪arc tan( 7/-5 ) = arc tan( -1.4 ) = -54.46 درجة
		</p>
	</li>
	<li>
		<p>
			نعدّل الاتجاه بالنظر إلى المخطط البياني ويصبح الاتجاه هو: 180 - 54.46 = 125.54 درجة
		</p>
	</li>
</ul>

<p>
	هل يمكن تطبيق الأفكار المتعلقة بمنحى الشعاع ثنائي الأبعاد الواردة في هذا المقال في الفضاء ثلاثي الأبعاد؟ نعم، ولكن ليس بهذه السهولة، إذ سيتطلب منحى الأشعة ثلاثية الأبعاد مزيدًا من العمل.
</p>

<p>
	وصلنا إلى نهاية هذا المقال الذي تعرّفنا فيه على خاصية الاتجاه الخاصة بالشعاع، وسنناقش في المقال التالي حاصل ضرب شعاع وقيمة عددية.
</p>

<p>
	ترجمة -وبتصرُّف- للفصل <a href="https://chortle.ccsu.edu/VectorLessons/vch05/vch05_1.html" rel="external nofollow">Vector Direction</a> من كتاب <a href="https://chortle.ccsu.edu/VectorLessons/vectorIndex.html#00" rel="external nofollow">Vector Math for 3D Computer Graphics</a> لصاحبه Bradley Kjell.
</p>

<h2 id="-3">
	اقرأ أيضًا
</h2>

<ul>
	<li>
		المقال السابق <a href="https://academy.hsoub.com/design/3d/%D8%AE%D8%A7%D8%B5%D9%8A%D8%A9-%D8%A7%D9%84%D8%B7%D9%88%D9%84-length-%D9%84%D9%84%D8%A3%D8%B4%D8%B9%D8%A9-%D8%A7%D9%84%D9%87%D9%86%D8%AF%D8%B3%D9%8A%D8%A9-%D9%81%D9%8A-%D8%A7%D9%84%D8%AA%D8%B5%D8%A7%D9%85%D9%8A%D9%85-%D8%AB%D9%84%D8%A7%D8%AB%D9%8A%D8%A9-%D8%A7%D9%84%D8%A3%D8%A8%D8%B9%D8%A7%D8%AF-r851/" rel="">تعرف على خاصية الطول Length للأشعة الهندسية وكيفية حسابه</a>.
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/java/%D8%A7%D9%84%D9%85%D8%B9%D8%A7%D9%85%D9%84%D8%A7%D8%AA-parameters-%D9%81%D9%8A-%D8%AC%D8%A7%D9%81%D8%A7-r1088/" rel="">المعاملات (parameters) في جافا</a>.
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/c/%D8%A7%D9%84%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D8%A7%D9%84%D8%AD%D9%82%D9%8A%D9%82%D9%8A%D8%A9-%D9%88%D8%A7%D9%84%D8%B5%D8%AD%D9%8A%D8%AD%D8%A9-%D9%81%D9%8A-%D9%84%D8%BA%D8%A9-%D8%B3%D9%8A-c-r1611/" rel="">الأنواع الحقيقية والصحيحة في لغة سي C</a>.
	</li>
</ul>
]]></description><guid isPermaLink="false">2237</guid><pubDate>Thu, 01 Feb 2024 16:06:01 +0000</pubDate></item><item><title>&#x62A;&#x639;&#x631;&#x641; &#x639;&#x644;&#x649; &#x623;&#x634;&#x647;&#x631; &#x644;&#x63A;&#x627;&#x62A; &#x628;&#x631;&#x645;&#x62C;&#x629; &#x627;&#x644;&#x62A;&#x637;&#x628;&#x64A;&#x642;&#x627;&#x62A;</title><link>https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D8%B4%D9%87%D8%B1-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-r2213/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_01/--.png.d1ebb36fa3a9d261f1a4af7538d01a80.png" /></p>
<p>
	تتزايد الحاجة إلى برمجة التطبيقات المختلفة يومًا بعد يوم نتيجة التطور التقني المتسارع وتزايد الاعتماد على الأجهزة التقنية لإنجاز معظم أعمالنا سواء على الحواسيب المحمولة أو المكتبية أو الهواتف الجوالة أو غيرها من الأجهزة الذكية القابلة للبرمجة. سنتعرف في مقال اليوم على لغات برمجة التطبيقات التي تساعد المطورين في إنشاء تطبيقات برمجية لمنصات مختلفة، مثل ويندوز أو أندرويد أو iOS أو غيرها من المنصات والتي تحقق أهدافًا متعددة مثل الترفيه أو التسوق أو غيرها من المهام المختلفة، ونكتشف أبرز مميزات كل لغة من هذه اللغات ومجالات استخداماتها وما هي الأمور التي يجب أن تأخذها بعين الاعتبار عند اختيار لغة برمجة التطبيقات الخاصة بك.
</p>

<h2 id="">
	أنواع التطبيقات
</h2>

<p>
	تتوافر أنواع مختلفة من التطبيقات للعمل على مختلف أنواع الأجهزة الذكية القابلة للبرمجة وأشهر أنواع التطبيقات الذكية هي:
</p>

<ul>
	<li>
		تطبيقات الجوال
	</li>
	<li>
		تطبيقات الويب
	</li>
	<li>
		تطبيقات سطح المكتب
	</li>
</ul>

<p>
	وإليك نبذة مختصرة عن كل نوع من هذه التطبيقات وأبرز مميزاته.
</p>

<h3 id="-1">
	تطبيقات الجوال
</h3>

<p>
	هي تطبيقات مصممة للعمل على كافة الأجهزة المحمولة، مثل الهواتف الذكية والأجهزة اللوحية وهذا النوع من التطبيقات مطلوب بشدة في سوق العمل حيث يعتمد معظم الأشخاص اليوم على أجهزتهم المحمولة للبحث في الإنترنت، والتواصل مع العائلة والأصدقاء، وإجراء المعاملات المالية، ولعب <a href="https://academy.hsoub.com/programming/game-development/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D8%A7%D9%84%D8%A3%D9%84%D8%B9%D8%A7%D8%A8-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A%D8%A9/" rel="">الألعاب الإلكترونية</a>، والتفاعل مع التطبيقات المختلفة الأخرى، ومن هنا يأتي الطلب المتزايد على <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%AC%D9%88%D8%A7%D9%84-r1801/" rel="">برمجة تطبيقات الجوال</a>، فإذا كنت تفكر في البدء بتطوير تطبيق يعمل على الهواتف الذكية، فأنت بحاجة إلى استخدام لغة البرمجة المناسبة، للتأكد من أن هذا التطبيق سيتضمن الوظائف المطلوبة وأنه واضح وسهل الاستخدام.
</p>

<h3>
	تطبيقات الويب
</h3>

<p>
	تعد تطبيقات الويب من أكثر التطبيقات انتشارًا، وأصبحت العديد من الشركات تستخدمها كبديل عن تطبيقات سطح المكتب التقليدية، وللعلم تتضمن برمجة تطبيقات الويب مرحلتين هما برمجة الواجهات الأمامية للتطبيق وبرمجة الواجهات الخلفية حيث يركز تطوير الواجهة الأمامية على الجانب المرئي من تطبيق الويب وإمكانية تفاعل المستخدمين مع الموقع والتنقل بين الصفحات. بينما يركز مطورو الواجهة الخلفية على جانب الخادم لمواقع الويب، وهذا يشمل إنشاء وظائف وعمليات الموقع وقواعد البيانات.
</p>

<h3 id="-2">
	تطبيقات سطح المكتب
</h3>

<p>
	تطبيقات سطح المكتب هي برامج تعمل على <a href="https://academy.hsoub.com/apps/operating-systems/%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84/" rel="">أنظمة تشغيل</a> أجهزة الحواسيب المكتبية والمحمولة مثل ويندوز <a href="https://academy.hsoub.com/apps/operating-systems/windows/" rel="">Windows</a> ولينكس <a href="https://academy.hsoub.com/devops/linux/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D9%84%D9%8A%D9%86%D9%83%D8%B3-r799/" rel="">Linux</a> وماك أو إس MacOS، وهي تطبيقات تسمح للمستخدمين بأداء وظائف مختلفة مثل تحرير النصوص أو معالجة الصور، وتعد برنامج MS Office و Adobe Photoshop و Dropbox من أبرز الأمثلة على تطبيقات سطح المكتب. قد يعتقد البعض أن تطبيقات سطح المكتب أصبحت قديمة وغير مطلوبة خاصةً مع تزايد شعبية تطبيقات الويب، ولكن هذه الفكرة ليست صحيحة تمامًا، فلا تزال تطبيقات سطح المكتب مهمة بالنسبة للكثير من الحالات لاسيما عند الحاجة لتطوير تطبيقات آمنة أو تطبيقات عالية الأداء وتحتاج للكثير من الموارد.
</p>

<h2 id="-3">
	أفضل لغات برمجة التطبيقات
</h2>

<p>
	يعتمد اختيار أفضل لغة برمجة تطبيقات بالدرجة الأولى على نوع التطبيق المطلوب والوظائف المطلوب تحقيقها فيه، لكن تعد لغات البرمجة التالية من أفضل لغات برمجة التطبيقات:
</p>

<ul>
	<li>
		لغة جافا سكريبت JavaScript
	</li>
	<li>
		لغة جافا Java
	</li>
	<li>
		لغة كوتلن Kotlin
	</li>
	<li>
		لغة دارت Dart
	</li>
	<li>
		لغة سويفت Swift
	</li>
	<li>
		لغة بايثون Python
	</li>
	<li>
		لغة ‎‎C#‎
	</li>
	<li>
		لغة HTML و CSS
	</li>
	<li>
		لغة PHP
	</li>
	<li>
		لغة روبي Ruby
	</li>
</ul>

<p>
	لنتعرف على مزيد من التفاصيل حول كل لغة من هذه اللغات ودورها في برمجة التطبيقات.
</p>

<h3 id="javascript">
	لغة جافا سكريبت JavaScript
</h3>

<p>
	تناسب لغة البرمجة جافا سكريبت <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA/" rel="">برمجة التطبيقات</a> بمختلف أنواعها سواء تطبيقات سطح المكتب أو تطبيقات الويب أو تطبيقات الجوال، حيث توفر لغة <a href="https://wiki.hsoub.com/JavaScript" rel="external">جافا سكريبت</a> عدة مكتبات وأطر عمل مساعدة تسمح ببرمجة التطبيقات مثل إطار <a href="https://academy.hsoub.com/programming/javascript/react/%D9%83%D9%84-%D9%85%D8%A7-%D8%AA%D9%88%D8%AF-%D9%85%D8%B9%D8%B1%D9%81%D8%AA%D9%87-%D8%B9%D9%86-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B1%D9%8A%D8%A2%D9%83%D8%AA-%D9%86%D9%8A%D8%AA%D9%81-react-native-r2199/" rel="">React Native</a> الذي يمكنك من برمجة تطبيقات الهاتف المحمول فهي مناسبة كلغة برمجة تطبيقات الأيفون أو لغة تطبيقات الاندرويد حيث توفر  للمطور الكثير من الوقت والموارد التي يحتاجها في برمجة التطبيقات من توفير ميزة كتابة التعليمات البرمجية مرة واحدة ونشرها على نظامي التشغيل iOS وأندرويد بنفس الوقت، كما توفر لغة جافا سكريبت العديد من أطر العمل التي تسهل برمجة تطبيقات سطح مكتب فعالة خفيفة الحجم ومتعددة المنصات وأبرزها إطار عمل إلكترون Electron وغيرها من التقنيات العديدة الأخرى.
</p>

<p>
	وهي تعد كذلك واحدة من أكثر لغات برمجة تطبيقات الويب استخدامًا، إذ أنها توفر للمبرمجين إمكانيات مذهلة، وتقدم عددًا كبيرًا من المكتبات وأطر العمل في هذا المجال ومن أهمها إطار رياكت <a href="https://wiki.hsoub.com/React" rel="external">React.js</a> وأنغولار <a href="https://academy.hsoub.com/programming/javascript/angular/%d9%85%d9%82%d8%af%d9%85%d8%a9-%d9%81%d9%8a-%d9%85%d9%81%d8%a7%d9%87%d9%8a%d9%85-angular-r1393/" rel="">Angular</a> وفيو <a href="https://academy.hsoub.com/programming/javascript/vuejs/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-vuejs-r989/" rel="">Vue.js</a> التي تساعد المطورين على <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D8%A3%D9%85%D8%A7%D9%85%D9%8A%D8%A9-frontend-web-development/" rel="">تطوير الواجهات الأمامية Frontend</a> لتطبيقات الويب، كما توفر أيضَا الكثير من <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D8%AE%D9%84%D9%81%D9%8A%D8%A9-backend-web-development/" rel="">أطر عمل تطوير الواجهة الخلفية Backend</a> مثل Express.js و Backbone.js التي تبسط مهام تطوير الويب وتجعلها أسرع وأكثر كفاءة. ولمطالعة المزيد من المعلومات عن استخدامات لغة جافا سكريبت وأطر عملها أنصحك بمطالعة هذا <a href="https://academy.hsoub.com/javascript/" rel="">الدليل الشامل لتعلم لغة جافا سكريبت</a>.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="442" id="ips_uid_9841_5" src="https://academy.hsoub.com/applications/core/interface/index.html" title="دورة تطوير التطبيقات باستخدام JavaScript - أكاديمية حسوب" width="786" data-embed-src="https://www.youtube.com/embed/T6CnMmvF4e0"></iframe>
</p>

<h3 id="java">
	لغة جافا Java
</h3>

<p>
	لغة <a href="https://academy.hsoub.com/programming/java/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D9%85%D8%A7-%D9%87%D9%8A%D8%A9-%D8%AC%D8%A7%D9%81%D8%A7-java-r1515/" rel="">جافا</a> هي لغة برمجة عالية المستوى ومتعددة النماذج والأغراض وتعد من أشهر لغات برمجة التطبيقات إذ يمكن أن تبرمج من خلالها كافة أنواع التطبيقات سواء تطبيقات الجوال أو سطح المكتب أو الويب كما أنها تعمل على أي نظام أساسي يدعم هذه اللغة وتتوافق مع كافة المنصات وأنظمة التشغيل الأخرى كونها تعتمد على ما يسمى بآلة جافا الافتراضية <a href="https://academy.hsoub.com/programming/java/%D8%A2%D9%84%D8%A9-%D8%AC%D8%A7%D9%81%D8%A7-%D8%A7%D9%84%D8%A7%D9%81%D8%AA%D8%B1%D8%A7%D8%B6%D9%8A%D8%A9-java-virtual-machine-r964/" rel="">JVM</a>.
</p>

<p>
	أضف غلى ذلك، توفر لغة جافا ميزات متعددة لمبرمجي ومطوري التطبيقات مثل سهولة كتابة التعليمات البرمجية وتصحيحها وإمكانية إنشاء تعليمات برمجية قابلة لإعادة الاستخدام، مما يوفر الوقت ويساعد على إنجاز المشاريع بسرعة أكبر لكنها قد تكون لغة صعبة التعلم قليلًا بالنسبة للمبتدئين مقارنة بلغات برمجة التطبيقات الحديثة مثل لغة بايثون <a href="https://academy.hsoub.com/python/" rel="">Python</a> أو لغة روبي <a href="https://academy.hsoub.com/programming/ruby/%D9%84%D8%BA%D8%A9-%D8%B1%D9%88%D8%A8%D9%8A/" rel="">Ruby</a>.
</p>

<h3 id="kotlin">
	لغة كوتلن Kotlin
</h3>

<p>
	تعد لغة <a href="https://wiki.hsoub.com/Kotlin" rel="external">كوتلن</a> إحدى لغات البرمجة المناسبة لبرمجة تطبيقات <a href="https://academy.hsoub.com/programming/android/" rel="">أندرويد</a>، فهي لغة برمجة حديثة مشتقة من لغة جافا ومتوافقة بالكامل معها منا تتيح للمبرمجين استخدام مكتبات وأطر عمل لغة جافا بسلاسة وتسهل على مطوري جافا البدء في استخدام كوتلن، كما تستخدم كوتلن في برمجة تطبيقات الويب باستخدام إطارات عمل مثل Spring Boot، وفي برمجة تطبيقات سطح المكتب باستخدام إطارات عمل مثل Swing.
</p>

<p>
	وتتميز لغة كوتلن بأن بناء جملتها أكثر إيجازًا من لغتها الأم جافا، مما يقلل التعليمات البرمجية ويزيد من إنتاجية مطوري التطبيقات، وقد صممت لغة كوتلن لتكون لغة برمجو آمنة وموجزة وموثوقة وقابلة للصيانة كما تدعم شركة غوغل رسميًا لغة كوتلين لتطوير تطبيقات أندرويد وهذا يعزز من شعبيتها وانتشارها بين أوساط مطوري التطبيقات.
</p>

<h3 id="dart">
	لغة دارت Dart
</h3>

<p>
	تستخدم لغة درات Dart لمجموعة متنوعة من الأغراض وأهما برمجة تطبيقات الجوال متعددة المنصات مثل برمجة تطبيقات أنظمة <a href="https://academy.hsoub.com/programming/android/" rel="">أندرويد Android</a> وبرمجة تطبيقات الأيفون أو iOS باستخدام نفس الكود البرمجي، حيث توفر إطار عمل فلاتر Flutter الذي يمكن المطورين من برمجة تطبيقات عالية الأداء ويختصر عليهم الكثير من الوقت والجهد، كما يقدم إطار العمل <a href="https://ar.wikipedia.org/wiki/%D9%81%D9%84%D8%A7%D8%AA%D8%B1_(%D9%85%D9%86%D8%B5%D8%A9_%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9" rel="external nofollow">فلاتر</a> مجموعة غنية من مكونات واجهة المستخدم المعدة مسبقًا مما يساعد المطورين على إنشاء واجهات مستخدم قابلة للتخصيص وجذابة بصريًأ، وعلى الرغم من أن لغة دارت لديها بنية مشابهة للغات البرمجة الشائعة الأخرى، إلا أن المطورين الجدد عليها قد يحتاجون إلى بعض الوقت للتآلف معها والتعرف على ميزاتها ومفاهيمها.
</p>

<h3 id="swift">
	لغة سويفت Swift
</h3>

<p>
	تستخدم لغة سويفت Swift لتطوير تطبيقات الجوال متعددة المنصات التي تعمل على نظام iOS الذي تستخدمه جميع أجهزة Apple مثل أجهزة iPad و iPhone و macOS والساعات الذكية كما يمكن استخدامها أيضًا لتطوير تطبيقات <a href="https://academy.hsoub.com/devops/linux/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D9%84%D9%8A%D9%86%D9%83%D8%B3-r799/" rel="">نظام التشغيل لينكس</a>. وقد اشتهرت لغة سويفت كلغة أساسية لتطوير تطبيقات أجهزة آيفون بسبب مميزاتها الفريدة مثل ميزات الأمان المضمنة في النظام الأساسي والتي تساعد المطورين على تجنب الأخطاء في التعليمات البرمجية، وتضمن إنشاء تطبيقات سريعة وعالية الأداء، وأخيرًا تدعم لغة سويفت قابلية تطوير التطبيقات وإطلاق إصدارات مختلفة منها وتوفر ارونة كبيرة في تعديل التعليمات البرمجية بناءً على التغييرات في متطلبات العمل.
</p>

<h3 id="python">
	لغة بايثون Python
</h3>

<p>
	تتميز لغة <a href="https://wiki.hsoub.com/Python" rel="external">بايثون</a> بكونها لغة سهلة التعلم ومفتوحة المصدر ولديها مجتمع كبير ونشط يساهم في تطويرها، كما تمتلك نظامًا غنيًا بالوحدات والمكتبات الخارجية التي تساعد على توسيع وظائفها لمختلف المهام وهي تصلح لبرمجة <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D9%84%D9%85-%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D9%8A%D8%A8/" rel="">تطبيقات الويب</a> حيث توفر العديد من أطر عمل تطوير الويب وأشهرها جانغو <a href="https://academy.hsoub.com/programming/python/django/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D8%AC%D8%A7%D9%86%D8%BA%D9%88-django-r2041/" rel="">Django</a> وفلاسك <a href="https://academy.hsoub.com/programming/python/flask/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%A7%D9%84%D8%B9%D9%85%D9%84-%D9%81%D9%84%D8%A7%D8%B3%D9%83-flask-r2201/" rel="">Flask</a>، كما تصلح لتطوير تطبيقات سطح المكتب متعددة الأنظمة والتي يمكن استخدامها على أنظمة تشغيل وأجهزة متعددة لما توفره من <a href="https://academy.hsoub.com/programming/python/%D8%A3%D9%87%D9%85-10-%D9%85%D9%83%D8%AA%D8%A8%D8%A7%D8%AA-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-%D8%AA%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-%D9%81%D9%8A-%D8%A7%D9%84%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D8%A7%D9%84%D8%B5%D8%BA%D9%8A%D8%B1%D8%A9-r654/" rel="">مكتبات</a> غنية لبناء الواجهات الرسومية وأبرزها مكتبة PyQT و Tkinter و wxPython، كما أنها توفر <a href="https://academy.hsoub.com/programming/general/%D9%87%D9%8A%D8%A7%D9%83%D9%84-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-data-structures/" rel="">هياكل بيانات</a> بديهية وسهلة الاستخدام، مما يبسط معالجة البيانات وإدارتها.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="442" id="ips_uid_9841_6" src="https://academy.hsoub.com/applications/core/interface/index.html" title="دورة تطوير التطبيقات باستخدام لغة python - أكاديمية حسوب" width="786" data-embed-src="https://www.youtube.com/embed/1niwEWY7CN4"></iframe>
</p>

<h3 id="c">
	لغة ‎‎C#‎
</h3>

<p>
	لغة‎ ‏‎‎C#‎ هي لغة برمجة عامة الأغراض أنشأتها شركة مايكروسوفت لتستخدم أساسًا في <a href="https://academy.hsoub.com/programming/c-sharp/dotnet/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-dot-net-r943/" rel="">إطار عمل دوت نت dot .NET</a> المخصص لإنشاء تطبيقات ويندوز لذا فهي تعد لغة مثالية لإنشاء تطبيقات سطح المكتب لنظام التشغيل ويندوز، كما أنها تصلح لبرمجة تطبيقات الويب التفاعلية بفضل إطار عملها <a href="https://academy.hsoub.com/programming/c-sharp/dotnet/aspnet/" rel="">ASP.NET</a> ولكونها لغة برمجة كائنية التوجه <a href="https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D8%A7%D9%84%D9%83%D8%A7%D8%A6%D9%86%D8%A7%D8%AA-oop/" rel=""><abbr title="Object-Oriented Programming | البرمجة كائنية التوجه"><abbr title="Object-Oriented Programming | البرمجة كائنية التوجه">OOP</abbr></abbr></a> فهي تساعد المبرمجين على كتابة التعليمات بطريقة سهلة الفهم وقابلة لإعادة الاستخدام والصيانة وتوفر وقتهم وجهدهم. كما أنها مكتوبة بطريقة ثابتة وسهلة القراءة، وبالتالي سيكون من السهل على المطورين كتابة الأكواد والتعليمات البرمجية والبحث عن الأخطاء وتصحيحها، كما أنها تتسم بسهولة تعلمها، وتوفر عدة مميزات فريدة مثل ميزة إدارة الذاكرة تلقائيًا وميزة معالجة الاستثناءات مما يضمن عمل التطبيقات المنشأة باستخدامها بكفاءة عالية.
</p>

<h3 id="htmlcss">
	لغة HTML و CSS
</h3>

<p>
	تعد لغات <a href="https://academy.hsoub.com/programming/html/%D8%AA%D8%B9%D9%84%D9%85-%D9%84%D8%BA%D8%A9-html-r1702/" rel="">HTML</a> <a href="https://academy.hsoub.com/programming/css/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-css-r2000/" rel="">CSS</a> من لغات برمجة تطبيقات الويب وبشكل محدد برمجة الواجهات الأمامية لتطبيقات الويب والمواقع الإلكترونية وهما أساس إنشاء صفحات الويب، ومستخدمتان في جميع المواقع الإلكترونية أي أنك إذا عرضت مصدر أي صفحة ويب فمن المؤكد أنك سترى وسوم HTML وخاصيات CSS في التعليمات.<br>
	إن <a href="https://academy.hsoub.com/programming/html/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D9%84%D8%BA%D8%A9-html-r1752/" rel="">لغة HTML</a> هي لغة ترميز تستخدم لإنشاء بنية صفحات الويب، بينما <a href="https://academy.hsoub.com/programming/css/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D9%84%D8%BA%D8%A9-css/" rel="">لغة CSS</a> هي لغة تصميم تستخدم لتنسيق هذه الصفحات وجعلها أكثر قابلية للعرض. وتتكامل لغتا HTML وCSS مع تقنيات الويب الأخرى مثل جافا سكريبت و PHP، لإنشاء تطبيقات ويب ديناميكية وتفاعلية. ونظرًا لأن HTML و CSS هما اللغتان الأساسيتان لجميع صفحات الويب، فمن المهم جدًا أن يكون لدى مطوري الويب فهم قوي لهاتين اللغتين.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="442" id="ips_uid_9841_7" src="https://academy.hsoub.com/applications/core/interface/index.html" title="دورة تطوير واجهات المستخدم UI - أكاديمية حسوب" width="786" data-embed-src="https://www.youtube.com/embed/habGCxz4LXs"></iframe>
</p>

<h3 id="php">
	لغة PHP
</h3>

<p>
	هي إحدى لغات تطوير الواجهات الخلفية لتطبيقات الويب الأكثر انتشارًا، وهي لغة مفتوحة المصدر توفر مجموعة أدوات ووحدات مدمجة تجعلها مثالية لتطوير مواقع الويب الثابتة والديناميكية. لغة <a href="https://academy.hsoub.com/programming/php/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D9%84%D8%BA%D8%A9-php-r2040/" rel="">PHP</a> مفتوحة المصدر وتوفر معظم مكتباتها مجانًا، وبالتالي فإنها استخدامها لتطوير تطبيقات الويب يقلل من تكاليف إنشاء التطبيقات والمواقع الإلكترونية. وتوفر هذه اللغة مجموعة من أطر العمل مثل <a href="https://academy.hsoub.com/programming/php/laravel/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D8%A7%D9%84%D8%B4%D9%87%D9%8A%D8%B1-%D9%84%D8%A7%D8%B1%D8%A7%D9%81%D9%8A%D9%84-laravel-r2093/" rel="">Laravel</a> و <a href="https://en.wikipedia.org/wiki/Symfony" rel="external nofollow">symfony</a> التي تبسط وتسرع عملية تطوير تطبيقات الويب. كما تعد لغة PHP من لغات البرمجة الآمنة فهي تتضمن ميزات مدمجة تضمن <a href="https://academy.hsoub.com/programming/advanced/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D9%85%D8%A7%D9%86-%D9%85%D9%88%D8%A7%D9%82%D8%B9-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-r2020/" rel="">أمان مواقع الويب</a> وتحميها من التهديدات والمخاطر المحتملة. كما أنها تنفذ التعليمات بطريقة سريعة، وبالتالي تتميز مواقع الويب القائمة على PHP بسرعة التحميل ووقت الاستجابة، ولمطالعة المزيد من المعلومات عن استخدامات هذه اللغة وأطر عملها أنصحك بمطالعة هذا <a href="https://academy.hsoub.com/php/" rel="">الدليل الشامل لتعلم لغة php</a>.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="442" id="ips_uid_9841_8" src="https://academy.hsoub.com/applications/core/interface/index.html" title="دورة تطوير تطبيقات الويب باستخدام لغة PHP - أكاديمية حسوب" width="786" data-embed-src="https://www.youtube.com/embed/o3ilJek788w"></iframe>
</p>

<h3 id="ruby">
	لغة روبي Ruby
</h3>

<p>
	لغة روبي هي أحد لغات البرمجة التي تستخدم لتطوير الواجهات الخلفية تطبيقات الويب، تشتهر بهندستها المعيارية القوية والمتطورة فهو يوفر للمطورين أساسًا متينًا لبناء تطبيقات الويب. تقدم لغة روبي إطار روبي أون ريلز <a href="https://academy.hsoub.com/programming/ruby/rails/" rel="">Ruby on Rails</a> وهو إطار عمل مخصص لتطوير الويب مبني على لغة البرمجة روبي، ويوفر بنية قوية تمكن المطورين من إنشاء تطبيقات الويب بسرعة وكفاءة. ويتميز إطار Ruby on Rails بكونه إطار عمل مفتوح المصدر مما يعني أنه مجاني للاستخدام والتعديل، وبالتالي فإنه يقلل من تكاليف المشروع الإجمالية، كما تصلح لغة روبي لتطوير تطبيقات سطح المكتب باستخدام إطارات عمل مثل GTK+‎ و Qt. إضافة لذلك تساعد لغة روبي المبرمجين على توفير الوقت من خلال مجموعتها الواسعة من المكتبات الجاهزة للاستخدام، وتوفر هذه المكتبات نطاقًا واسعًا من الميزات مثل التفاعل مع قاعدة البيانات وتحميل الملفات والمصادقة.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="442" id="ips_uid_9841_9" src="https://academy.hsoub.com/applications/core/interface/index.html" title="دورة تطوير تطبيقات الويب باستخدام لغة Ruby - أكاديمية حسوب" width="786" data-embed-src="https://www.youtube.com/embed/bHgWB9w3CZk"></iframe>
</p>

<h2>
	العوامل التي يجب مراعاتها عند اختيار لغة برمجة التطبيقات
</h2>

<p>
	يمكن للمطورين إنشاء التطبيقات المختلفة باستخدام أكثر من لغة برمجة، كما يمكن أن تساعدهم أطر العمل <a href="https://academy.hsoub.com/programming/general/%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-framework/" rel="">Frameworks</a> المخصصة لهذه اللغات على تطوير التطبيقات بطريقة مثالية وأكثر سرعة، ولكن عند التفكير بإنشاء تطبيق برمجي فلا يمكن اختيار لغة التطبيق بطريقة عشوائية، بل يجب عليك مراعاة مجموعة من العوامل ومن أهم هذه العوامل نذكر:
</p>

<ul>
	<li>
		نوع التطبيق والمنصة المستهدفة.
	</li>
	<li>
		مهارات وخبرات مطور التطبيق.
	</li>
	<li>
		تعقيد التطبيق ودرجة صعوبته.
	</li>
	<li>
		قيود الوقت والميزانية.
	</li>
</ul>

<p>
	لنناقش كل عامل من هذه العوامل ودوره في تحديد لغة برمجة التطبيقات الأفضل.
</p>

<h3 id="-4">
	نوع التطبيق والمنصة المستهدفة
</h3>

<p>
	يؤثر نوع التطبيق المطلوب على اختيار لغة البرمجة التي يجب استخدامها لإنشائه، حيث يمكن استخدام لغات البرمجة الأساسية مثل <a href="https://academy.hsoub.com/programming/java/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D9%85%D8%A7-%D9%87%D9%8A%D8%A9-%D8%AC%D8%A7%D9%81%D8%A7-java-r1515/" rel="">جافا</a> أو <a href="https://academy.hsoub.com/programming/python/%D8%A7%D9%84%D9%85%D8%B1%D8%AC%D8%B9-%D8%A7%D9%84%D8%B4%D8%A7%D9%85%D9%84-%D8%A5%D9%84%D9%89-%D8%AA%D8%B9%D9%84%D9%85-%D9%84%D8%BA%D8%A9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-r735/" rel="">بايثون</a> لإنشاء تطبيقات متكاملة، ولكن في بعض الحالات قد تخدمك لغة برمجة معينة بطريقة أفضل من غيرها. على سبيل المثال إذا كنت ترغب بإنشاء تطبيق يعمل على أجهزة أندرويد فيفضل أن تستخدم لغة البرمجة <a href="https://academy.hsoub.com/programming/kotlin/" rel="">كوتلين</a> أو لغة <a href="https://academy.hsoub.com/programming/java/" rel="">جافا</a> لأنها توفر ميزات أكثر سهولة للتعامل مع منصة أندرويد، إذا كنت ترغب بإنشاء تطبيق يعمل على أجهزة iOS فأفضل لغة برمجة تفيدك هي لغة سويفت Swift.
</p>

<h3 id="-5">
	مهارات وخبرات مطور التطبيق
</h3>

<p>
	إذا طلب منك برمجة تطبيق معين، وكان هناك أكثر من لغة برمجة متاحة لبرمجة هذا التطبيق فمن المستحسن أن لا تقوم ببرمجته بلغة تمتلك فيها خبرات محدودة، ومن الأفضل أن تعتمد على اللغة التي تملك فيها المهارات والمعرفة الكافية وإن كانت اللغات الأخرى أكثر استخدامًا فتعلم لغة أو تقنية جديدة سيستغرق منك وقتًا طويلًا، لذلك إذا لم يكن هناك حاجة ملحة فاعتمد على اللغات والتقنيات التي تتقنها فقط.
</p>

<h3 id="-6">
	تعقيد التطبيق
</h3>

<p>
	يلعب حجم التطبيق المطلوب برمجته وتعقيده دورًا حاسمًا في تحديد <a href="https://academy.hsoub.com/programming/general/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">نوع لغة البرمجة</a> التي ستستخدم لتطويره، فإذا كنت تريد تطوير تطبيق ويب بسيط فيمكن تنفيذه باستخدام لغة البرمجة PHP، بينما تتطلب المشاريع المعقدة التي تتطلب معالجة الكثير من البيانات أو تضمين خوزاميات الذكاء الاصطناعي لاستخدام لغات مثل باثيون أو جافا لتحقيق النتائج المطلوبة.
</p>

<h3 id="-7">
	قيود الوقت والميزانية
</h3>

<p>
	قد تؤثر سرعة تطوير التطبيق المتوقعة على اختيار لغات البرمجة والتقنيات الأنسب لبرمجته، على سبيل المثال سيسرع استخدام أطر العمل مثل React.js أو Angular كتابة كافة الشيفرات البرمجية اللازمة لعمل التطبيق من البداية وتوفر وقتك وجهدك في إنشاء التطبيق لما توفره من أدوات ومكونات جاهزة، كما أن وجود محدودية في ميزانية التطبيق يجعلك تلجأ للتقنيات المجانية <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%8A-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA-%D9%85%D9%81%D8%AA%D9%88%D8%AD%D8%A9-%D8%A7%D9%84%D9%85%D8%B5%D8%AF%D8%B1%D8%9F-r1650/" rel="">مفتوحة المصدر</a> لما توفره من تكاليف.
</p>

<h2 id="-8">
	خاتمة
</h2>

<p>
	بهذا تكون قد وصلنا إلى نهاية مقالنا الذي تعرفنا من خلاله على أهم لغات برمجة التطبيقات، وميزات كل لغة وما نوع التطبيق الذي يمكن إنشاؤه من خلالها، كما تعرفنا على أهم عوامل اختيار لغة برمجة التطبيقات. إذا كنت ترغب في الدخول إلى عالم تطوير التطبيقات، ابدأ بدراسة إحدى لغات برمجة التطبيقات المتاحة، ثم تعلم أحد أطر عملها وابدأ بإنشاء المشاريع واستثمار مهاراتك في بناء معرض أعمال يعزز فرصتك في الحصول على وظيفة مجزية بصفة <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A8%D8%B1%D9%85%D8%AC-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA/" rel="">مبرمج تطبيقات محترف</a>.
</p>

<p>
	وفي حال كنت مهتمًا بالعمل في تخصص تطوير التطبيقات أو كان لديك أي تساؤل حول إحدى لغات برمجة التطبيقات التي تناولناها في سياق المقال، أو تقترح لغة برمجة تطبيقات أخرى يسرنا أن تكتبها لنا في التعليقات أسفل المقال، كما يسرنا أن تشاركنا تجربتك في هذا المجال.
</p>

<p>
	اقرأ أيضًا
</p>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA/" rel="">برمجة تطبيقات الويب</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%AC%D9%88%D8%A7%D9%84-r1801/" rel="">برمجة تطبيقات الجوال</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%B3%D8%B7%D8%AD-%D8%A7%D9%84%D9%85%D9%83%D8%AA%D8%A8/" rel="">كل ما تود معرفته عن برمجة تطبيقات سطح المكتب</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-r1827/" rel="">تطوير التطبيقات</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2213</guid><pubDate>Tue, 16 Jan 2024 12:00:00 +0000</pubDate></item><item><title>&#x62A;&#x639;&#x631;&#x641; &#x639;&#x644;&#x649; &#x635;&#x646;&#x627;&#x639;&#x629; &#x627;&#x644;&#x62A;&#x637;&#x628;&#x64A;&#x642;&#x627;&#x62A; &#x627;&#x644;&#x628;&#x631;&#x645;&#x62C;&#x64A;&#x629; &#x648;&#x623;&#x647;&#x645;&#x64A;&#x62A;&#x647;&#x627;</title><link>https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%B5%D9%86%D8%A7%D8%B9%D8%A9-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-%D9%88%D8%A3%D9%87%D9%85%D9%8A%D8%AA%D9%87%D8%A7-r2210/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_12/-.png.24ad22cbad54e42e2c4f07fbfdd3c8c8.png" /></p>
<h1 id="">
	تعرف على صناعة التطبيقات وأهميتها
</h1>

<p>
	تبرز أهمية صناعة التطبيقات مع التطور التقني، وازدياد اعتماد المستخدمين على الحلول البرمجية للحصول على الخدمات التي يحتاجونها. وتتطلب صناعة التطبيقات خبرات ومهارات متعددة، بالإضافة إلى إجراء دراسات حول فكرة التطبيق وكيفية تنفيذه وتحديد التقنيات والأدوات المطلوبة لتطويره. وسنتعرف في هذه المقالة ستتعرف على أهمية صناعة التطبيقات وأبرز خطواتها، ونسلط الضوء على أهم المهارات التي يجب عليك تعلمها لتتمكن من صناعة تطبيق برمجي ناجح.
</p>

<h2 id="-1">
	أهمية صناعة التطبيقات في سوق العمل.
</h2>

<p>
	تعد صناعة التطبيقات من المجالات عالية الطلب وسريعة النمو فمعظم الأعمال والشركات اليوم تحتاج إلى صناعة تطبيقات لتنفيذ مهام متعددة كتطبيقات التجارة الإلكترونية و تطبيقات تسيير الأعمال وخدمة العملاء وإدارة المخزون وغيرها من المهام المنوعة الأخرى، وبالتالي تحتاج إلى تعيين مطورين محترفين <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA/" rel="">لبرمجة التطبيقات</a> وصيانتها وتحسينها بمميزات جديدة.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="140846" href="https://academy.hsoub.com/uploads/monthly_2023_12/---.png.c8dd8391da98b147bfb44e21b2bc3a3d.png" rel=""><img alt="مهن تتعلق بصناعة التطبيقات" class="ipsImage ipsImage_thumbnailed" data-fileid="140846" data-ratio="38.67" data-unique="avmriakbp" style="width: 600px; height: auto;" width="600" src="https://academy.hsoub.com/uploads/monthly_2023_12/---.png.c8dd8391da98b147bfb44e21b2bc3a3d.png"> </a>
</p>

<p>
	وبحسب استبيان موقع ستاك أوفر فلو Stack Overflow لعام 2023 الذي يضم آلاف الخبراء والمختصين التقنيين فإن أكثر المجالات التي يعملون بها ترتبط بمجال صناعة وتطوير التطبيقات بمختلف أنواعها مما يدل على أهمية هذا التخصص وفرص العمل الكثيرة التي يوفرها في سوق العمل والرواتب المرتفعة التي تمنح لمطوري التطبيقات باختلاف تخصصاتهم فإذا كنت مهتمًا بهذا <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AC%D8%A7%D9%84%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">المجال البرمجي</a> فلا تتردد في البدء بتعلمه لتضمن مهنة تحقق لك الأمان الوظيفي والأجرة العالية.
</p>

<h2 id="-2">
	فوائد صناعة التطبيقات البرمجية للأعمال
</h2>

<p>
	تعد صناعة التطبيقات مهمة للغاية في عصرنا الحديث، إذ أنها أصبحت تستخدم لأداء المهام اليومية في حياتنا الشخصية أو أعمالنا حيث تحتاج معظم الشركات إلى تطبيقات مخصصة لإدارة أعمالها والتواصل مع العملاء. وفيما يلي أهم الأسباب التي تبرز فوائد صناعة التطبيقات للشركات:
</p>

<ol>
	<li>
		زيادة الكفاءة
	</li>
	<li>
		تحسين تجربة المستخدم
	</li>
	<li>
		توفير التكاليف
	</li>
	<li>
		زيادة إمكانية الوصول
	</li>
	<li>
		تحقيق أهداف العمل لنناقش كل نقطة من هذه النقاط بمزيد من التفصيل.
	</li>
</ol>

<h3 id="-3">
	زيادة الكفاءة
</h3>

<p>
	تساعد صناعة التطبيقات على إنجاز المهام الروتينية للأشخاص والشركات بكفاءة وسرعة فهي تساعد المنظمات والشركات على أتمتة أعمالها وتحسين جودة خدماتها وتقليل أخطاء العمل، كما تساعد التطبيقات البرمجية الأشخاص على تنظيم مهامهم وتنفيذها بطرق أسرع،وتوفر عليهم الكثير من الجهد والوقت.
</p>

<h3 id="-4">
	تحسين تجربة المستخدم
</h3>

<p>
	تفيد التطبيقات البرمجية في جعل الأعمال التجارية متميزة وتساعد المستخدمين في أداء أعمالهم لذا تحرص الشركات التجارية على تصميم تطبيقات ذات واجهة واضحة وسهلة التنقل وتناسب الشرائح المختلفة من العملاء وهذا بدوره يؤدي إلى تحسين تجربة المستخدم وزيادة رضاهم وبالتالي زيادة إيرادات الشركات.
</p>

<h3 id="-5">
	توفير التكاليف
</h3>

<p>
	تساهم صناعة التطبيقات والحلول برمجية في تقليل تكاليف الأعمال فمن خلال أتمتة المهام المتكررة ستقل الحاجة إلى العمل اليدوي وتوظيف عدد كبير من الموظفين، كما تساعد صناعة التطبيقات على تلبية احتياجات العملاء وتحسين أساليب التسويق بدون دفع تكاليف ضخمة.
</p>

<h3 id="-6">
	زيادة إمكانية الوصول
</h3>

<p>
	تتمثل إحدى مزايا صناعة التطبيقات في قدرتها على تمكين المستخدمين من الوصول إلى المعلومات والخدمات من أي مكان وفي أي وقت لذا تحرص الأعمال اليوم على إنشاء أنواع التطبيقات القابلة للاستخدام عبر مختلف الأجهزة والأنظمة لتوفر لعملائها المزيد من الراحة والمرونة ويساعد هذه الشركات على زيادة إمكانية وصولها وفرص التوسع في أسواق جديدة.
</p>

<h3 id="-7">
	تحقيق أهداف العمل
</h3>

<p>
	تساعد صناعة التطبيقات البرمجية الشركات على تحقيق أهدافها ومن أبرزها زيادة الإنتاجية وخفض التكاليف، وتحسين خدمة العملاء وإيجاد حلول فعالة لمشكلات عملائها والحفاظ على قدرتها التنافسية.
</p>

<h2 id="-8">
	ما هي المهارات التي تحتاجها لصناعة تطبيق برمجي؟
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="140847" href="https://academy.hsoub.com/uploads/monthly_2023_12/-.png.31554d2f7227269b51606535da1d7329.png" rel=""><img alt="صناعة-التطبيقات.png" class="ipsImage ipsImage_thumbnailed" data-fileid="140847" data-ratio="62.60" data-unique="drzj8hgmu" style="width: 500px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2023_12/-.thumb.png.b8c2d0fd20aa42b9b000fbe6a835e693.png"></a>
</p>

<p>
	يتطلب صناعة التطبيقات البرمجية مجموعة من المهارات أهمها:
</p>

<ol>
	<li>
		معرفة أنواع التطبيقات
	</li>
	<li>
		معرفة جيدة بالخوارزميات وهياكل البيانات
	</li>
	<li>
		تعلم إحدى لغات برمجة التطبيقات
	</li>
	<li>
		تعلم قواعد البيانات
	</li>
	<li>
		إجراءات الاختبار
	</li>
	<li>
		تصحيح الأخطاء
	</li>
	<li>
		تحسين التطبيقات
	</li>
</ol>

<p>
	لنناقش كل بند من بنود القائمة أعلاه بمزيد من التفصيل.
</p>

<h3 id="1">
	1. معرفة بأنواع التطبيقات البرمجية
</h3>

<p>
	قبل أن تبدأ بصنع تطبيق برمجي، يجب أن تحدد نوع التطبيق الذي تريد صناعته، وعلى أي منصة تريده أن يعمل حيث تختلف تقنيات صناعة التطبيقات ولغات البرمجة المستخدمة بحسب نوع التطبيق. وفيما يلي لمحة موجزة عن أنواع التطبيقات التي يمكنك الاختيار من بينها:
</p>

<ul>
	<li>
		تطبيقات الويب: وهي تطبيقات تعمل على متصفحات الويب، يمكن للمستخدمين الوصول إليها من أجهزة مختلفة، بما في ذلك أجهزة الحاسوب والهواتف المحمولة والأجهزة اللوحية.
	</li>
	<li>
		تطبيقات الهواتف المحمولة: هي التطبيقات المخصصة لتعمل على أجهزة الجوال والأجهزة اللوحية وقد تكون بعدة أنواع فيمكن أن تكون تطبيقات أصيلة أي مخصصة لتعمل على نظام تشغيل محدد مثل تطبيقات أندرويد أو تطبيقات iOS وقد تكون هجينة hybrid أي تستخدم تقنيات الويب وتعمل ضمن متصفح ويب مدمج في التطبيق.
	</li>
	<li>
		تطبيقات سطح المكتب: تعمل هذه تطبيقات سطح المكتب على أجهزة الحاسوب المكتبية التي تعمل بنظام التشغيل ويندوز أو لينكس ويستخدم هذا النوع من التطبيقات بشكل خاص عند الحاجة لتطبيق احترافي عالي الأداء أو يوفر ميزات لا تتوفر في التطبيقات الأخرى مثل <a href="https://academy.hsoub.com/programming/game-development/" rel="">صناعة تطبيقات الألعاب</a> وبرامج تحرير الفيديو.
	</li>
	<li>
		التطبيقات السحابية: هي تطبيقات مصممة للنشر على السحابة <a href="https://academy.hsoub.com/devops/cloud-computing/%D9%85%D9%81%D9%87%D9%88%D9%85-%D8%A7%D9%84%D8%B3%D8%AD%D8%A7%D8%A8%D8%A9-cloud-r624/" rel="">cloud</a> وتكون تطبيقات مرنة وقابلة للتكيف ويمكن الوصول إليها من أي مكان متصل بالإنترنت. يتميز هذا النوع من التطبيقات بتوفير الموارد والقدرة التخزينية الضخمة.
	</li>
</ul>

<h3 id="2">
	2.معرفة جيدة بالخوارزميات وهياكل البيانات
</h3>

<p>
	<a href="https://academy.hsoub.com/programming/advanced/%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA/" rel="">الخوارزميات</a> هي خطوات متسلسلة تساعدك على حل المشكلات البرمجية، و<a href="https://academy.hsoub.com/programming/general/%D9%87%D9%8A%D8%A7%D9%83%D9%84-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-data-structures/" rel="">هياكل البيانات</a> هي طرق تنظيمية مختلفة لتنظيم المعلومات. يحتاج مطورو التطبيقات إلى استخدام الخوارزميات وهياكل البيانات عند كتابة التعليمات البرمجية ليتمكنوا من إنشاء وظائف التطبيق وضمان عملها بدون حدوث أخطاء.
</p>

<h3 id="3">
	3. تعلم إحدى لغات برمجة التطبيقات
</h3>

<p>
	وهي المهارة الأساسية التي يجب أن تتعلمها إذا كنت ترغب بإنشاء تطبيق برمجي، ومن المهم أن تتخصص في نوع واحد على الأقل من <a href="https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">لغات البرمجة</a> المناسب لنوع التطبيقات الذي تنوي التخصص به. تتوفر العديد من لغات البرمجة المختلفة وكل لغة لها خصائص وميزات مختلفة فبعد تحديد نوع التطبيق الذي تريد إنشاؤه، عليك اختيار لغة البرمجة التي تريد استخدامها. مثلًا يمكن استخدام لغة سويفت swift لبناء تطبيقات تعمل على أنظمة iOS، ولإنشاء تطبيق يعمل على أجهزة أندرويد يجب استخدام لغة مخصصة لهذا النظام مثل لغة <a href="https://academy.hsoub.com/programming/kotlin/kotlin-%D9%87%D9%88-%D8%AC%D8%A7%D9%81%D8%A7-%D8%A7%D9%84%D8%AC%D8%AF%D9%8A%D8%AF-r641/" rel="">كوتلين</a> ولإنشاء تطبيق ويب يمكنك <a href="https://academy.hsoub.com/PHP/" rel="">تعلم لغة php</a>. وبعد تعلم لغة البرمجة المناسبة لنوع التطبيق عليك تعلم أحد <a href="https://academy.hsoub.com/programming/general/%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-framework/" rel="">أطر العمل والمكتبات</a> المساعدة لهذه اللغة، إذ توفر أطر العمل العديد من الميزات والوظائف الجاهزة التي تسهل عملية برمجة التطبيق. مثلًا يفضل أن تستخدم إطار العمل لارافيل <a href="https://academy.hsoub.com/programming/php/laravel/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D8%A7%D9%84%D8%B4%D9%87%D9%8A%D8%B1-%D9%84%D8%A7%D8%B1%D8%A7%D9%81%D9%8A%D9%84-laravel-r2093/" rel="">Laravel</a> الذي تقدمه لغة PHP لتطوير تطبيقات الويب.
</p>

<h3 id="4">
	4. تعلم قواعد البيانات
</h3>

<p>
	قواعد البيانات هي أنظمة إلكترونية تسمح للأفراد بتنظيم وهيكلة المعلومات، وتحتاج جميع التطبيقات إلى إنشاء وتهيئة قواعد البيانات.لذلك يجب على مطور التطبيقات أن يتعلم كيفية التعامل مع قواعد البيانات وتعديلها، وكيفية تأمين قاعدة البيانات والنسخ الاحتياطي للحفاظ على بيانات التطبيق آمنة وتجنب حصول مشاكل مع المستخدمين. تعد لغة الاستعلام الهيكلية <a href="https://academy.hsoub.com/programming/sql/%D9%85%D8%A7-%D9%87%D9%8A-%D8%AA%D9%82%D9%86%D9%8A%D8%A9-sql%D8%9F-r1651/" rel="">SQL</a> اللغة الأساسية المستخدمة للتعامل مع قواعد بيانات التطبيقات.
</p>

<h3 id="5">
	5. إجراءات الاختبار
</h3>

<p>
	يتطلب كل تطبيق عملية اختبار معقدة قبل إصداره للمستخدمين. يتضمن استخدام سلسلة من الأدوات مثل Selenium و BugHerd للتأكد من أن المنتج يعمل ويلبي متطلبات التصميم الخاصة به. ويتضمن أيضًا التحقق من قدرة البرنامج على العمل على أجهزة مختلفة وخلوه من الأخطاء البرمجية. نظرًا لأن الشركات غالبًا ما تصمم عمليات الاختبار الخاصة بها استنادًا إلى بعض المكونات المهمة، فقد يكون من المفيد لمطور البرامج أن يفهم الجوانب الأساسية قبل التقدم إلى المناصب الوظيفية.
</p>

<h3 id="6">
	6. تصحيح الأخطاء
</h3>

<p>
	تصحيح الأخطاء هو عملية تطوير برمجية لمعالجة الأخطاء وإزالتها في لغة تشفير التطبيق. وهو يتضمن تشغيل التطبيق من خلال برنامج متخصص لمراقبة كل خطأ، ثم استخدام مهارات حل المشكلات لتحديد أي جزء من التعليمات البرمجية تسبب في حدوث الخطأ. عادةً يصحح المطورون التعليمات البرمجية أثناء كتابتها لضمان عملها بطريقة أفضل في مرحلة الاختبار. من المهم أن تتعلم كيفية استخدام برامج تصحيح الأخطاء حتى تتمكن من تعلم الاستراتيجيات الأساسية لإزالة الأخطاء وبالتالي لتتمكن من إنشاء تطبيقات فعالة.
</p>

<h3 id="7">
	7. تحسين التطبيقات
</h3>

<p>
	تحتاج التطبيقات البرمجية إلى تحسين وتطوير مستمر وإضافة ميزات جديدة لها والاهتمام بتحسين تصميمها أو زيادة سرعتها أو جعلها أكثر أمانًا وإصلاح ثغراها الأمنية المكتشفة، فهذا يحسن تجربة المستخدمين ويزيد من نجاح التطبيق واستخدامه.
</p>

<h2 id="-9">
	ما هي خطوات صناعة تطبيقات احترافية؟
</h2>

<p>
	تمر عملية صناعة التطبيقات بمجموعة من المراحل بدءًا من مرحلة التخطيط والتصميم وحتى مرحلة الاختبار، وعلى الرغم من تنوع التطبيقات واختلافها إلا أنها تمر بخطوات أساسية محددة. وفيما يلي أهم خطوات صناعة تطبيقات احترافية:
</p>

<ol>
	<li>
		تحديد فكرة التطبيق
	</li>
	<li>
		اختيار التقنيات الخاصة بك
	</li>
	<li>
		التخطيط والتصميم
	</li>
	<li>
		برمجة التطبيق
	</li>
	<li>
		اختبار التطبيق
	</li>
	<li>
		نشر التطبيق
	</li>
</ol>

<h3 id="-10">
	1. تحديد فكرة التطبيق
</h3>

<p>
	توليد الفكرة هو الخطوة الأولى لصنع تطبيق برمجي مميز، قد تكون فكرة التطبيق جاهزة ومحددة من قبل جهو العمل ويطلب منك تنفيذها ففي هذه الحالة يمكنك تجاوز هذه الخطوة، أما في حال كنت تريد تطوير تطبيق خاص بك من الصفر فإن الطريقة الأفضل للحصول على فكرة تطبيق ناجحة هي أن تتخيل تطبيقك كحل لمشكلة ما ولتحديد أهداف التطبيق سيكون من المفيد الإجابة على هذه الأسئلة:
</p>

<ul>
	<li>
		ما هي المشكلة التي يسعى تطبيقك إلى حلها؟
	</li>
	<li>
		ما هو جمهورك المستهدف؟
	</li>
	<li>
		ما هي المميزات المرغوبة أكثر والتي ستساعدك في الحفاظ على تفاعل المستخدمين؟ كما يمكن أن تكون تجربتك الخاصة مصدرًا رائعًا للحصول على فكرة تطبيق ناجح، حاول أن تفكر في المشاكل التي تواجهك سواء مع البرامج وأجهزة الكمبيوتر أو حياتك بشكل عام وصناعة تطبيق مخصص لحلها.
	</li>
</ul>

<h3 id="-11">
	2. اختيار التقنيات الخاصة بك
</h3>

<p>
	بعد أن تحدد فكرة التطبيق ينبغي عليك أن تحدد بالضبط التقنيات التي ستستخدمها، وتشمل التقنيات لغات البرمجة وبيئات التطوير والمنصات والأدوات المختلفة. وعند اختيار لغة البرمجة يجب أن تأخذ بالحسبان عدة عوامل أهمها نوع التطبيق والمنصة التي يستهدفها، ومن الأفضل أن تختار لغة برمجة تطبيق معروفة وشائعة ولديك خبرة جيدة بها لكي لا تقع في مشاكل صعبة الحل وتهدر وقتك في البحث عن الحلول.
</p>

<h3 id="-12">
	3. التخطيط والتصميم
</h3>

<p>
	تعد مرحلة التخطيط والتصميم من أهم مراحل صناعة التطبيقات، وخلالها ينفذ المطورون عمليات متعددة لجمع متطلبات التطبيق والتحقق من صحتها وتحديد أنواع المستخدمين الذين سيستخدمون التطبيق والتأكد من أن البرنامج سيلبي الاحتياجات المطلوبة، وبعد ذلك تبدأ مرحلة تصميم التطبيق، إذ يجمع تصميم التطبيق عدة مراحل من أبرزها:
</p>

<ul>
	<li>
		تصميم تجربة المستخدم User Experience أو UX اختصارًا: تركز هذه المرحلة على الجوانب الوظيفية والعاطفية لتجربة المستخدم، والتي يجب فهمها قبل أن يتم تصميم واجهة التطبيق وهي تمثل تصمم طريقة التنقل ضمن التطبيق وسرعة التحميل والوظائف وعدد النقرات والاستجابة وأوقات الانتظار والاستجابة وأي خيارات تفاعل أخرى.
	</li>
	<li>
		تصميم واجهة المستخدم User Interface أو UI اختصارًا: تهتم هذه المرحلة بتصميم واجهة التطبيق وهي تشمل رسم الإطارات الهيكلية للتطبيق <a href="https://academy.hsoub.com/design/general/%D8%A7%D9%84%D9%85%D8%AE%D8%B7%D8%B7%D8%A7%D8%AA-%D8%A7%D9%84%D9%87%D9%8A%D9%83%D9%84%D9%8A%D8%A9-wireframes-%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-r72/" rel="">Wireframes</a> وتصميم كافة العناصر الرسومية الخاصة بهذا التطبيق مثل الأيقونات والألوان والخلفية والخطوط والشعارات والرسوم التوضيحية.
	</li>
</ul>

<p>
	في حال كان المشروع صغير الحجم يمكنك اختصار العديد من خطوات تصميم التطبيق، كل ما عليك هو أن تفكر جيدًا فيما تريد أن يحققه تطبيقك، وتحدد المشكلة الرئيسية التي تسعى إلى حلها من خلاله، ثم ابدأ بمرحلة التصميم مباشرة من خلال رسم شكل التطبيق الذي تريد أن يظهر على الشاشة، بما في ذلك مواقع الأزرار والصور وحقول الإدخال كما يمكنك الاعتماد في التصميم على أحد البرامج المخصصة <a href="https://academy.hsoub.com/design/user-interface/%D8%A3%D8%AF%D9%88%D8%A7%D8%AA-%D9%85%D8%AC%D8%A7%D9%86%D9%8A%D8%A9-%D9%84%D8%B1%D8%B3%D9%85-%D8%A7%D9%84%D8%A5%D8%B7%D8%A7%D8%B1%D8%A7%D8%AA-%D8%A7%D9%84%D9%87%D9%8A%D9%83%D9%84%D9%8A%D8%A9-wireframe-%D9%84%D9%85%D9%88%D8%A7%D9%82%D8%B9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D9%88%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-r726/" rel="">لتصميم التطبيقات ورسم إطاراتها</a> مثل برنامج فيجما Figma، وبعدها يمكنك الانتقال بسهولة للخطوة التالية في صناعة التطبيقات.
</p>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed7464524998" src="https://academy.hsoub.com/files/36-%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D9%88%D8%A7%D8%AC%D9%87%D8%A7%D8%AA-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-ui/?do=embed" style="overflow: hidden; height: 470px; max-width: 500px; margin: auto"></iframe>

<h3 id="-13">
	4. برمجة التطبيق
</h3>

<p>
	يمكن اعتبار هذه المرحلة أهم مرحلة في صناعة التطبيقات وأكثرها تحديًا، فهي الخطوة التي تتم فيها برمجة التطبيق الفعلي وكتابة كافة التعليمات البرمجية التي تحول التصميم المقترح لتطبيق فعلي وتصحيح أي أخطاء في تنفيذ التعليمات وهذا يتطلب مجموعة من المهارات والخبرات.
</p>

<p>
	تعتمد خطوات برمجة التطبيق على منصة التطوير التي اخترتها، فهناك منصات تساعدك في صناعة التطبيقات بسهولة من خلال واجهات مرئية تستخدم السحب والإفلات وتمكنك من تخصيص خيارات التطبيق التي تريدها من خلال الاختيار من قوائم جاهزة لتخصيص ميزات مختلفة لكن هذه الطريقة تفتقر للمرونة وتصلح للتطبيقات البسيطة.
</p>

<p>
	الطريقة الأخرى لبرمجة التطبيق هي من خلال استخدام أحد لغات برمجة التطبيقات مثل لغة بايثون Python  أو جافا سكريبت JavaScript وكتابة التعليمات البرمجية في <a href="https://academy.hsoub.com/programming/python/%D9%85%D8%AD%D8%B1%D8%B1-%D8%A3%D9%83%D9%88%D8%A7%D8%AF-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86/" rel="">محرر أكواد</a> وفي هذه الحالة سيتعين عليك بناء تطبيقك من الصفر وكتابة كافة التعليمات البرمجية اللزكة لعمله وهذا الأسلوب نادرًا ما يعتمد اليوم في سوق العمل، فقد وفرت لغات البرمجة العديد من أحد أطر العمل <a href="https://academy.hsoub.com/programming/general/%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-framework/" rel="">Framework</a> التي تساعد المبرمجين على تطوير التطبيقات وتختصر عليهم كتابة الكثير من الأكواد البرمجية وتمكنهم من إضافة العديد من الوظائف والمميزات الجاهزة التي يحتاجونها دون أن يضطروا إلى إنشائها من الصفر وبهذه الطريقة تجمع بين الكفاءة والسهولة وتسرع إنتاجية صناعة التطبيق.
</p>

<p>
	ولتسهيل عملية برمجة التطبيق من الأفضل تخطيط وظائف التطبيق بشكل دقيق وتقسيمه إلى مجموعة من المميزات والمهام الفرعية التي يمكن التحكم بها وبرمجتها والبدء بإضافة هذه الميزات بالتدريج حيث يمكنك برمجة تطبيق يوفر الحد الأدنى من الوظائف المطلوبة Minimum Viable Product أو <abbr title="Minimum Viable Product | المنتج الفعال القاعدي"><abbr title="Minimum Viable Product | المنتج الفعال القاعدي">MVP</abbr></abbr> اختصارًا والحصول على ملاحظات المستخدمين حوله وبعد التأكد من أنه يلبي المتطلبات يمكنك الاستمرار في برمجة الوظائف واحدة تلو الأخرى للحصول على التطبيق النهائي ومشاركته مع المستخدمين.
</p>

<h3 id="-14">
	5. اختبار التطبيق
</h3>

<p>
	تعد مرحلة اختبار التطبيق مرحلة أساسية في صناعة التطبيقات فهي تضمن خلو التطبيق من الأخطاء وتلبيته لمتطلبات المستخدمين، لذا قبل مشاركة تطبيقك يجب إجراء سلسلة من الاختبارات للتحقق مما إذا كان كل شيء يعمل كما خططت له. ستحتاج إلى اختبار العديد من الأمور تشمل:
</p>

<ul>
	<li>
		سرعة التطبيق وطريقة استجابته.
	</li>
	<li>
		وجود أعطال عند تنفيذ أي إجراء أو وظيفة من وظائف التطبيق.
	</li>
	<li>
		اختار أداء التطبيق والتأكد من أنه يعمل بسرعة وكفاءة مناسبة.
	</li>
	<li>
		التأكد من استجابة الوظائف وتنفيذها للمهمة المطلوبة بالشكل الصحيح.
	</li>
	<li>
		سهولة استخدام التطبيق والتنقل السلس بين أقسامه.
	</li>
	<li>
		جمالية التصميم بصريًا وتجاوبه مع جميع أحجام الشاشات.
	</li>
</ul>

<h3>
	6. نشر التطبيق
</h3>

<p>
	بعد الانتهاء من اختبار التطبيق والتأكد من أنه يعمل بالشكل المطلوب دون أخطاء عليك نشر التطبيق وإتاحته للمستخدمين من خلال تحميله إلى متجر التطبيقات أو إلى موقع ويب مخصص وتختلف الخطوات المتبعة في هذه المرحلة حسب نوع التطبيق والوجهة التي تود نشر التطبيق عليه.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="487" id="ips_uid_9548_5" src="https://academy.hsoub.com/applications/core/interface/index.html" title="نشر تطبيقات أندوريد على متجر Google Play" width="866" data-embed-src="https://www.youtube.com/embed/eCKdWaqluGk"></iframe>
</p>

<h2 id="-15">
	كيف تحقق أرباحًا من صناعة التطبيقات؟
</h2>

<p>
	تعد صناعة التطبيقات إحدى <a href="https://academy.hsoub.com/programming/general/%D9%88%D8%B8%D8%A7%D8%A6%D9%81-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%A3%D9%83%D8%AB%D8%B1-%D8%B7%D9%84%D8%A8%D9%8B%D8%A7/" rel="">وظائف البرمجة الرائجة</a> والمطلوبة بكثرة في سوق العمل، حيث يمكنك من خلال تعلمها واحترافها ضمان الحصول على وظيفة مرموقة ومجزية وذات أجر مرتفع، فالعديد من الشركات والقطاعات اليوم تحتاج إلى صناعة تطبيقات خاصة بها لتسيير أعمالها والترويج لعلامتها التجارية كما بينا سابقًا.
</p>

<p>
	كما يمكن يمكنك من خلال تعلم تطوير التطبيقات أن تعمل كصانع تطبيقات بشكل مستقل وتكسب الأموال من صناعة التطبيقات نفسها، فالتطبيقات تكون على نوعين هما:
</p>

<ul>
	<li>
		التطبيقات المدفوعة
	</li>
	<li>
		التطبيقات المجانية
	</li>
</ul>

<p>
	ويمكنك الربح من صناعة كلا النوعين بالشكل التالي:
</p>

<h3 id="-16">
	ربح الأموال من التطبيقات المدفوعة
</h3>

<p>
	أحد طرق تحقيق الربح الفوري من التطبيقات هي من خلال بيع تطبيقاتك للمستخدمين، وتوفر هذه الطريقة إيرادات فورية، لكن التحدي الكامن في هذه الطريقة هو صعوبة بناء قاعدة جماهيرية كبيرة من مستخدمي التطبيق وكسب ثقتهم وإقناعهم بشراء التطبيق دون تجربته، لأنه لا يوجد أي ضمان لهم أنهم سيحصلون على الميزات التي يرغبون بها عند شراء التطبيق.
</p>

<h3>
	ربح الأموال من التطبيقات المجانية
</h3>

<p>
	تعد التطبيقات المجانية أكثر التطبيقات انتشارًا ويمكنك من خلالها تحقيق الأرباح بسهولة أكبر لكنها قد لا تكون فورية وسريعة وتحتاج لوقت وصبر حتى تحقق أرباحًا جيدة، فعند عدم وجود تكلفة، لن يكون هناك أي سبب لعدم تنزيل المستخدمين للتطبيق وتجربته دون أي شروط وبالتالي هذا النوع من التطبيقات يوفر لك قاعدة مستخدمين كبيرة.
</p>

<p>
	وبمجرد أن يصبح لتطبيقك قاعدة مستخدمين جيدة ستصبح فرص تحقيق الدخل المختلفة ممكنة بعدة طرق من أبرزها وضع الإعلانات داخل التطبيق وعندها ستحصل على الأموال في كل مرة يشاهد فيها المستخدم الإعلان أو ينقر عليه، كما يمكنك الربح من خلال التسويق بالعمولة وعرض إعلانات للمنتجات أو صفحات مخصصة لحث الزائر على إجراء عملية شراء من مواقع العلامات التجارية داخل التطبيق ويمكنك كذلك صناعة تطبيق لبيع السلع أو الخدمات، وتحقيق ربح من خلال الحصول على نسبة مئوية من الإيرادات الناتجة عن عمليات الشراء داخل التطبيق.
</p>

<h2 id="-17">
	تعلم صناعة التطبيقات
</h2>

<p>
	إذا كنت مهتمًا بمجال صناعة التطبيقات البرمجية فيمكنك تعلم صناعة التطبيقات إما من خلال التعليم الأكاديمي والتسجيل في إحدى الجامعات لكن هذا الخيار لن يركز على تعليمك صناعة التطبيقات بشكل مخصص بل سيركز على تعليمك التقنيات البرمجية المختلفة وستحتاج للاعتماد على نفسك للتخصص في صناعة نوع محدد من التطبيقات.
</p>

<p>
	كما يمكنك تعلم صناعة التطبيقات بشكل ذاتي من مصادر التعلم المنوعة المنتشرة على الانترنت من كتب ودروس ومنتديات ومقاطع فيديو، وإذا كنت تبحث عن مصدر احترافي لتعلم صناعة التطبيقات فيمكنك أن تجد في أكاديمية حسوب العديد من مصادر التعلم المفيدة من مقالات ودروس لكافة تقنيات صناعة التطبيقات كما توفر الأكاديمية دورات تدريبية لتعلم صناعة التطبيقات المختلفة مثل <a href="https://academy.hsoub.com/learn/javascript-application-development/" rel="">دورة تطوير التطبيقات باستخدام جافا سكريبت</a> و <a href="https://academy.hsoub.com/learn/ruby-web-application-development/" rel="">دورة تطوير تطبيقات الويب باستخدام لغة Ruby</a> و <a href="https://academy.hsoub.com/learn/python-application-development/" rel="">دورة تطوير التطبيقات باستخدام لغة Python</a> والتي ستتمكن من خلالها من تطوير تطبيقات مختلفة تعزز معرض أعمالك وتساعدك على دخول سوق العمل بزمن قياسي.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="442" id="ips_uid_9548_6" src="https://academy.hsoub.com/applications/core/interface/index.html" title="دورة تطوير التطبيقات بلغة بايثون - أكاديمية حسوب" width="785" data-embed-src="https://www.youtube.com/embed/1niwEWY7CN4"></iframe>
</p>

<h2 id="-18">
	الخلاصة
</h2>

<p>
	بهذا نكون قد وصلنا إلى نهاية مقالنا الذي تعرفنا فيه على صناعة التطبيقات وأهميتها وخطوات صناعة التطبيقات البرمجية، وما هي المهارات التي تحتاجها لتتمكن من صنع التطبيقات،وشرحنا كذلك الطرق المختلفة لكسب المال من التطبيقات، وكيف يمكنك استغلال تطبيقاتك لتصبح مصدر رائع للدخل. وفي حال كان لديك أي تساؤل يسرنا أن تكتبه في التعليقات أسفل المقال.
</p>

<h2 id="-19">
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%AC%D9%88%D8%A7%D9%84-r1801/" rel="">برمجة تطبيقات الجوال</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A8%D8%B1%D9%85%D8%AC-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA/" rel="">كيف تصبح مبرمج تطبيقات محترف</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/python/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D9%83%D8%AA%D8%A7%D8%A8%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-r1524/" rel="">كيفية كتابة تطبيقات الويب</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%A3%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF-r1802/" rel="">برمجة تطبيقات الأندرويد</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2210</guid><pubDate>Mon, 08 Jan 2024 12:09:01 +0000</pubDate></item><item><title>&#x62A;&#x639;&#x631;&#x641; &#x639;&#x644;&#x649; &#x648;&#x638;&#x627;&#x626;&#x641; &#x627;&#x644;&#x628;&#x631;&#x645;&#x62C;&#x629; &#x627;&#x644;&#x623;&#x643;&#x62B;&#x631; &#x637;&#x644;&#x628;&#x64B;&#x627;</title><link>https://academy.hsoub.com/programming/general/%D9%88%D8%B8%D8%A7%D8%A6%D9%81-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%A3%D9%83%D8%AB%D8%B1-%D8%B7%D9%84%D8%A8%D9%8B%D8%A7/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_12/927930997_.png.9c85119acffd1f9bba67f88cf1ca9d98.png" /></p>
<p>
	هل أنت متحمس لتعلم البرمجة لكنك غير متأكد ما هي وظائف البرمجة التي يمكنك العمل بها في حال تعلمها، وما هي أهم المهارات التي تؤهلك للحصول على كل وظيفة من هذه الوظائف، وما طبيعة المهام والمسؤوليات التي ستوكل إليك عند مباشرة العمل بها.
</p>

<p>
	نحاول في مقال اليوم نحاول أن نجيبك على كل هذه التساؤلات ونوضح لك مجموعة من وظائف البرمجة الأكثر طلبًا في سوق العمل وأهم تقنياتها ومهامها ومصادر مفيدة تساعدك على تعلمها واحترافها لنساعدك في ختام المقال على تحديد وظيفة البرمجة الأنسب لك.
</p>

<h2 id="">
	وظائف البرمجة في سوق العمل
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="140030" href="https://academy.hsoub.com/uploads/monthly_2023_12/353888987_.png.cc9c1242ef59ddff4c1c0040a50a77ee.png" rel=""><img alt="وظائف البرمجة" class="ipsImage ipsImage_thumbnailed" data-fileid="140030" data-unique="m2gt4du49" style="width: 500px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2023_12/.thumb.png.2ec8ecba12132285a2f884542e961c4b.png"> </a>
</p>

<p>
	يوفر <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%8A-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">تعلم البرمجة</a> الكثير من الفوائد ويفتح أمامك فرص العمل في العديد من الوظائف البرمجية المتنوعة ذات الطلب المرتفع في سوق العمل، فمع التطور التقني المتسارع في مختلف المجالات والتحول الرقمي الذي انتهجته مختلف القطاعات والصناعات ازدادت الحاجة لتعيين مبرمجين ومطورين متخصصين قادرين على تطوير التطبيقات المختلفة والتعامل معها وصيانتها وتحسينها، وارتفع الطلب على مختلف الوظائف البرمجية ما أدى بالتالي إلى ارتفاع رواتب هذه الوظائف أيضًا.
</p>

<p>
	بالطبع تختلف الرواتب الممنوحة للمبرمجين باختلاف المنطقة الجغرافية والتخصص البرمجي وعدد سنوات الخبرة وغيرها من العوامل الأخرى، إلا أن أجور المهن والوظائف البرمجية تبقى مرتفعة مقارنة بغيرها من المهن في سوق العمل وإذا كنت مهتمًا بمعرفة المزيد من المعلومات حول رواتب وظائف البرمجة أنصحك بمطالعة مقال <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D8%B9%D9%84%D9%89-%D8%AA%D8%AE%D8%B5%D8%B5%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A3%D8%AC%D8%B1%D9%8B%D8%A7-r1939/" rel="">تعرف على أعلى تخصصات البرمجة أجرًا</a>.
</p>

<p>
	ولعل من أبرز مميزات وظائف البرمجة التي تشجع الأشخاص على تعلم البرمجة إلى جانب ارتفاع الطلب عليها وأجورها المحفزة هو أنها توفر بيئة عمل مرنة فهي تمكنك من العمل من منزلك أو من أي مكان تفضله وخلال أي وقت ما يجعلها الخيار الوظيفي الأفضل بالنسبة لك إذا كنت ممن يميل للبقاء في المنزل والعمل بين أفراد عائلتك وتسعى لأن تحقق التوازن بين عملك وحياتك الشخصية.
</p>

<p>
	ولحسن الحظ فإن وظائف المبرمجين والعمل بها اليوم لم تعد تتطلب شهادة جامعية بل بات بإمكانك تعلمها ذاتيًا والعمل في التخصص البرمجي الذي ترغب به أيًا كان، كل ما تحتاجه هو خبرة كافية ومثبتة، ومعرض أعمال قوي يمكنك من شغل المنصب الذي تطمح له، وأنصحك بالاطلاع على بعض <a href="https://academy.hsoub.com/success-stories/" rel="">قصص النجاح</a> المحفزة التي تشجعك على بدء رحلتك في تعلم البرمجة والتخصص بإحدى مجالاتها.
</p>

<h2 id="-1">
	أبرز وظائف تخصص البرمجة
</h2>

<p>
	إذا كنت ترغب في العثور على وظيفة برمجة لكنك متردد في اختيارها ولا تدري هل تناسبك، وهل هي مطلوبة في سوق العمل أم لا، وهل يتطلب العمل بها تأدية الكثير من المهام، فإليك قائمة تقترح لك أبرز عشر وظائف برمجة مطلوبة يمكنك العمل بها:
</p>

<ol>
	<li>
		مطور ويب
	</li>
	<li>
		مطور تطبيقات جوال
	</li>
	<li>
		مطور تطبيقات سطح مكتب
	</li>
	<li>
		مبرمج ألعاب
	</li>
	<li>
		مسؤول قواعد البيانات
	</li>
	<li>
		محلل بيانات
	</li>
	<li>
		مهندس Devops
	</li>
	<li>
		خبير أمن معلومات
	</li>
	<li>
		خبير ذكاء اصطناعي
	</li>
	<li>
		مدرس برمجة
	</li>
</ol>

<p>
	سنناقش في الفقرات التالية كل وظيفة من هذه الوظائف ونتعرف مهام المبرمج الذي يقرر العمل فيها بمزيد من التفصيل.
</p>

<h3 id="1">
	1. مطور ويب
</h3>

<p>
	لاشك أن <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D9%84%D9%85-%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D9%8A%D8%A8/" rel="">تطوير الويب وبرمجة المواقع</a> من وظائف البرمجة المهمة والمرتفعة الطلب عربيًا وعالميًا نظرًا لأن كافة الشركات والأعمال وحتى الأشخاص اليوم يحرصون على <a href="https://sndian.com/" rel="external">إنشاء موقع ويب</a> خاص بهم سواء موقع تعريفي أو موقع للتجارة الإلكترونية أو <a href="https://academy.hsoub.com/freelance/personal-branding/%D9%86%D8%B5%D8%A7%D8%A6%D8%AD-%D9%84%D8%A5%D9%86%D8%B4%D8%A7%D8%A1-%D9%85%D8%B9%D8%B1%D8%B6-%D8%A3%D8%B9%D9%85%D8%A7%D9%84-%D8%AC%D8%B0%D9%91%D8%A7%D8%A8-r10/" rel="">معرض أعمال جذاب</a> أو غير ذلك من أنواع المواقع المختلفة.
</p>

<p>
	عند العمل كمطور ويب سيكون عليك كتابة كافة التعليمات البرمجية التي تجعل هذا الموقع يعمل بالشكل الصحيح والاهتمام بصيانته وإدارته وحل أي مشكلات مستقبلية تظهر فيه، ويمكن أن يقوم بهذه الوظيفة مبرمج أو فريق عمل واحد يعمل بوظيفة مطور ويب كامل <a href="https://academy.hsoub.com/programming/general/%D9%83%D9%8A%D9%81-%D8%AA%D8%B5%D8%A8%D8%AD-%D9%85%D8%B7%D9%88%D8%B1-full-stack-r1719/" rel="">Full-Stack</a> أو يقوم بها مبرمجان أو فريقان برمجيان الأول يعمل بوظيفة مطور واجهات أمامية <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D8%A3%D9%85%D8%A7%D9%85%D9%8A%D8%A9-frontend-web-development/" rel="">Front-end</a> والثاني يعمل بوظيفة مطور واجهات خلفية <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D8%AE%D9%84%D9%81%D9%8A%D8%A9-backend-web-development/" rel="">Back-end</a>.
</p>

<p>
	يهتم مطور الواجهات الأمامية بتصميم الجانب الذي يراه المستخدمون من موقع الويب ويصمم بنية الموقع والتأكد من أنه يظهر بشكل جميل ومثالي على مختلف المتصفحات ومتجاوب مع كافة أحجام الشاشات، كما يحتاج مطور الواجهة الأمامية كذلك إلى التعاون مع <a href="https://academy.hsoub.com/design/user-experience/%D8%A7%D9%84%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%B4%D8%A7%D9%85%D9%84-%D9%84%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D8%AA%D8%AC%D8%B1%D8%A8%D8%A9-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-ux-r813/" rel="">مصمم تجربة المستخدم UX</a> للتأكد من أن موقع الويب مناسب وسهل الاستخدام.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="499" id="ips_uid_6739_5" src="https://academy.hsoub.com/applications/core/interface/index.html" title="ما هو تطوير الواجهات الأمامية وكيفية تعلمه" width="887" data-embed-src="https://www.youtube.com/embed/zrkE_dFffEU"></iframe>
</p>

<p>
	في حين يهتم مطور الواجهات الخلفية بكتابة كود موقع الويب الذي يجعل الموقع يعمل ويتفاعل مع قواعد البيانات ويؤدي كافة الوظائف المطلوبة منه، كما يعمل على اختباره وصيانته وتصحيح أي مشكلات تظهر في وظائفه أو في بنيته الداخلية.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="499" id="ips_uid_6739_6" src="https://academy.hsoub.com/applications/core/interface/index.html" title="كيف تصبح مطور واجهات خلفية" width="887" data-embed-src="https://www.youtube.com/embed/mcF7sIeGMOM"></iframe>
</p>

<h4 id="-2">
	تعلم وظيفة تطوير الويب
</h4>

<ul>
	<li>
		إذا كنت تجد أن وظيفة تطوير الويب مناسبة لك وترغب في تعلمها فستجد في أكاديمية حسوب العديد من مصادر التعلم المجانية من دروس ومقالات متنوعة على سبيل المثال ستجد في مقال <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D9%84%D9%85-%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D9%8A%D8%A8/" rel="">المدخل الشامل لتعلم تطوير الويب وبرمجة المواقع</a> الكثير من التفاصيل المفيدة حول هذه الوظيفة المهمة وأهم تقنياتها وتخصصاتها، وستجد كذلك الكثير من <a href="https://academy.hsoub.com/files/c5-%D9%83%D8%AA%D8%A8-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">الكتب المنهجية</a> التي تساعدك على تعلم تقنيات تطوير الويب، كما توفر لك <a href="https://wiki.hsoub.com/%D8%A7%D9%84%D8%B5%D9%81%D8%AD%D8%A9_%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D8%A9" rel="external">موسوعة حسوب</a> توثيقات شاملة للعديد من تقنيات تطوير الويب المطلوبة في سوق العمل.
	</li>
	<li>
		إلى جانب ذلك توفر أكاديمية حسوب العديد من الدورات التدريبية المتكاملة لمساعدتك في تعلم كافة التقنيات التي تحتاجها لتصبح مطور ويب بطريقة منهجية ومنظمة تساعدك على بناء العديد من المشاريع التي تعزز معرض أعمالك وتساعدك في الحصول على وظيفة مطور ويب بسرعة وإليك قائمة ببعض الدورات التي تفيدك في هذه الوظيفة:
		<ul>
			<li>
				<strong><a href="https://academy.hsoub.com/learn/front-end-web-development/" rel="">دورة تطوير واجهات المستخدم</a></strong><span>: </span>ستتعلم في هذه الدورة بناء العديد من المواقع التي تساعدك على تطوير مهاراتك الفنية وإظهار إبداعك في بناء الواجهات الأمامية مثل بناء موقع شخصي لعرض أعمالك، وموقع تعريفي لشركة، وموقع أخباري، ومتجر إلكتروني، ولوحة تحكم والعديد من صفحات الهبوط كصفحة هبوط منتج وصفحة تطبيق وغيرها، وستطبق خلال تنفيذ هذه المشاريع العديد من لغات البرمجة والتقنيات المفيدة وتكون جاهزًا لمباشرة وظيفة برمجة واجهات المستخدم.
			</li>
			<li>
				<strong><a href="https://academy.hsoub.com/learn/php-web-application-development/" rel="">دورة تطوير تطبيقات الويب باستخدام لغة PHP</a></strong>: ستتعلم في هذه الدورة أساسيات لغة PHP وإطار عملها الشهير لارافيل Laravel وستبني عدة مواقع ويب احترافية مثل موقع لإدارة المشاريع، وشبكة تواصل اجتماعي تشبه تلغرام، ومتجر إلكتروني لبيع الكتب، وموقع إعلانات مبوبة، ونظام إدارة محتوى وغيرها الكثير كما ستتعلم كيف تبني متجر إلكتروني باستخدام ووردبريس <a href="https://academy.hsoub.com/Wordpress/" rel="">WordPress</a>.
			</li>
			<li>
				<strong><a href="https://academy.hsoub.com/learn/python-application-development/" rel="">دورة تطوير التطبيقات باستخدام لغة Python</a></strong>: ستتمكن في هذه الدورة من بناء عدة مواقع ويب متكاملة مثل بناء موقع إدارة مهام وإنشاء متجر الكتروني باستخدام إطار العمل جانغو <a href="https://academy.hsoub.com/programming/python/django/" rel="">Django</a>: كما ستتعلم بناء مدونة شخصية وتطبيق وجبات باستخدام إطار العمل فلاسك <a href="https://academy.hsoub.com/programming/python/flask/" rel="">Flask</a>.
			</li>
			<li>
				<strong><a href="https://academy.hsoub.com/learn/ruby-web-application-development/" rel="">دورة تطوير تطبيقات الويب باستخدام لغة Ruby</a></strong>: ستتعلم أساسيات لغة البرمجة روبي وطريقة استخدام إطار عمل تطوير المواقع الشهير روبي أو ريلز Ruby On Rails وتطور من خلاله شبكة تواصل اجتماعي تشبه تويتر ومجتمع يشبه حسوب I/O.
			</li>
		</ul>
	</li>
</ul>

<h3 id="2">
	2. مطور تطبيقات الجوال
</h3>

<p>
	تعد وظيفة <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%AC%D9%88%D8%A7%D9%84-r1801/" rel="">برمجة تطبيقات الجوال</a> من الوظائف الأكثر طلبًا في السوق التقني وفي حال قررت التخصص في تطوير تطبيقات الجوال فستكون مسؤولًا عن تصميم وتطوير تطبيقات جوال متنوعة سواء تطبيقات تعليمية، أو تطبيقات ترفيهية، أو تطبيقات تواصل اجتماعي، أو متاجر إلكترونية، أو أي نوع آخر من التطبيقات التي يمكن استخدامها على الجوال.
</p>

<p>
	قد يطلب منك عند العمل في هذه الوظيفة تطوير تطبيقات جوال أصيلة Native تعمل على أنظمة تشغيل معينة فقط، مثل تطبيق مخصص لنظام أندرويد Android أو تطبيق مخصص لنظام آي أو إس iOS، أو يطلب منك تطوير تطبيقات جوال هجينة Hybrid أو متعددة المنصات Cross-Platform وهي تطبيقات تعمل مع كافة أنظمة تشغيل الجوالات ولكل نوع من هذه التطبيقات أساليب وتقنيات مختلفة لبرمجته، وقد يطلب منك نشر التطبيق على المتاجر الرقمية المتخصصة مثل <a href="https://academy.hsoub.com/programming/general/%D9%86%D8%B4%D8%B1-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A3%D9%86%D8%AF%D9%88%D8%B1%D9%8A%D8%AF-%D8%B9%D9%84%D9%89-%D9%85%D8%AA%D8%AC%D8%B1-google-play-r649/" rel="">نشره على متجر جوجل بلاي Google Play</a> أو متجر آبل ستور Apple Store وصيانة التطبيق وتحسينه وحل أي مشكلات تظهر فيه لاحقًا.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="480" id="ips_uid_6739_7" src="https://academy.hsoub.com/applications/core/interface/index.html" title="أساليب تطوير تطبيقات الجوال" width="853" data-embed-src="https://www.youtube.com/embed/Rn2F9bLC5UU"></iframe>
</p>

<h4 id="-3">
	تعلم وظيفة تطوير تطبيقات الجوال
</h4>

<ul>
	<li>
		<p>
			كي تعمل كمطور تطبيقات جوال تحتاج إلى تحديد نوع التطبيقات الذي تود برمجته ثم تبدأ بتعلم <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82/" rel="">خطوات برمجة التطبيق</a> بداية من تحديد فكرته وتصميم واجهته وكتابة التعليمات البرمجية التي تجعل هذا التطبيق يعمل بالشكل الصحيح.
		</p>
	</li>
	<li>
		<p>
			ستجد في أكاديمية حسوب الكثير من الدروس والمقالات و<a href="https://academy.hsoub.com/files/c5-%D9%83%D8%AA%D8%A8-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">الكتب المفيدة</a> التي تساعدك على تعلم التقنيات ولغات البرمجة واطر العمل التي تناسب تطوير التطبيقات بمختلف أنواعها مثل مقال <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA/" rel="">دليلك الشامل إلى برمجة التطبيقات</a> ومقال <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%AC%D9%88%D8%A7%D9%84-r1801/" rel="">تطوير تطبيقات الجوال</a>.
		</p>
	</li>
	<li>
		<p>
			كما تساعدك دورات أكاديمية حسوب على التخصص في تطوير التطبيقات بسرعة واحترافية ففي <a href="https://academy.hsoub.com/learn/javascript-application-development/" rel="">دورة تطوير التطبيقات باستخدام جافا سكريبت</a> ستتعلم تطوير العديد من التطبيقات التي تعزز معرض أعمالك مثل تطبيق جوال للبحث عن الأطباء باستخدام رياكت نيتف React Native، وتطبيق مراسلة شبيه بواتساب، وتطبيق أسئلة وأجوبة، وتطبيق تعلم لغات باستخدام الذكاء الاصطناعي من خلال إطار عمل Next.js، إضافة لتطبيق تواصل اجتماعي باستخدام إطار أيونيك Ionic وغيرها من التطبيقات الرائعة التي تساعدك للعمل في وظيفة تطوير تطبيقات الجوال.
		</p>
	</li>
</ul>

<h3 id="3">
	3. مطور تطبيقات سطح مكتب
</h3>

<p>
	تعد <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%B3%D8%B7%D8%AD-%D8%A7%D9%84%D9%85%D9%83%D8%AA%D8%A8/" rel="">برمجة تطبيقات سمح المكتب</a> وظيفة برمجية مرتفعة الأجر وعند العمل بها ستكون مسؤولًا عن تصميم وبرمجة وتطوير برامج مخصصة للعمل على أجهزة الحاسوب المكتبية والحواسيب المحمولة التي تعمل بنظام التشغيل ويندوز أو لينكس أو ماك، وقد يطلب منك إضافة لبرمجة تطبيق سطح المكتب تثبيت التطبيق على أجهزة المستخدمين في الشركة التي ستستخدم هذا التطبيق وتوضيح طريقة التعامل معه أو رفعه على أحد متاجر  تطبيقات سطح المكتب مثل متجر تطبيقات ويندوز.
</p>

<p>
	وقد يطلب منك كمطور سطح مكتب تطوير أنواع مختلفة من تطبيقات سطح المكتب مثل التطبيقات الأصيلة Native المخصصة للعمل على نظام تشغيل معين أو التطبيقات متعددة المنصات Cross-platform وفي هذه الحالة تحتاج لأن تكتب الكود البرمجي للتطبيق مرة واحدة بالاستفادة من <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%85%D9%88%D8%A7%D9%82%D8%B9-%D8%A7%D9%84%D9%88%D9%8A%D8%A8/" rel="">تقنيات برمجة الويب</a> ثم تحول الكود بأدوات معينة ليتوافق مع كافة أنظمة التشغيل المختلفة.
</p>

<h4 id="-4">
	تعلم وظيفة تطوير تطبيقات سطح المكتب
</h4>

<ul>
	<li>
		<p>
			في حال كنت مهتمًا بالعمل في وظيفة تطوير تطبيقات سطح المكتب وتود تعلمها فعليك في البداية تحديد نوع التطبيقات التي تنوي تطويرها والبدء بتعلم كافة التقنيات واللغات المخصصة لهذا النوع فلكل نوع تقنياته وأدواته المختلفة.
		</p>
	</li>
	<li>
		<p>
			ستجد في أكاديمية حسوب الكثير من المصادر التي تساعدك على تعلم هذه الوظيفة من دروس ومقالات مثل مقال <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%B3%D8%B7%D8%AD-%D8%A7%D9%84%D9%85%D9%83%D8%AA%D8%A8/" rel="">كل ما تود معرفته عن برمجة تطبيقات سطح المكتب</a> كما ستجد العديد من <a href="https://academy.hsoub.com/files/c5-%D9%83%D8%AA%D8%A8-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">الكتب البرمجية</a> المجانية المفيدة حول التقنيات التي تحتاجها.
		</p>
	</li>
	<li>
		<p>
			كما توفر لك دورة <a href="https://academy.hsoub.com/courses/javascript-application-development/" rel="">تطوير التطبيقات باستخدام JavaScript</a> مسارًا كاملًا لتعلم إنشاء تطبيقات سطح مكتب باستخدام إطار العمل القوي إلكترون Electron JS المعتمد على لغة جافا سكريبت فهذه اللغة قوية ومتعددة الاستخدامات وتعلمها يفتح لك العديد من مجالات العمل.
		</p>
	</li>
</ul>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="499" id="ips_uid_6739_8" src="https://academy.hsoub.com/applications/core/interface/index.html" title="ماذا يمكنك أن تفعل مع لغة JavaScript" width="887" data-embed-src="https://www.youtube.com/embed/13wL3IMDaHo"></iframe>
</p>

<h3 id="4">
	4. مبرمج ألعاب
</h3>

<p>
	تعد الألعاب الإلكترونية من التطبيقات المحببة لدى فئة كبيرة من المستخدمين، ويزداد حجم سوق صناعة الألعاب بوتيرة عالية ويحقق أرباحًا كبيرة جدًا، وهذا بدوره يجعل برمجة الألعاب أحد <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D8%B9%D9%84%D9%89-%D8%AA%D8%AE%D8%B5%D8%B5%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A3%D8%AC%D8%B1%D9%8B%D8%A7-r1939/" rel="">أكثر تخصصات البرمجة أجرًا</a> ويزيد الطلب على مصممي ومطوري الألعاب المسؤولين عن إنشاء مختلف <a href="https://academy.hsoub.com/programming/game-development/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D8%A7%D9%84%D8%A3%D9%84%D8%B9%D8%A7%D8%A8-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A%D8%A9/" rel="">أنواع الألعاب الإلكترونية</a>.
</p>

<p>
	يتطلب العمل في وظيفة برمجة الألعاب الإلكترونية امتلاك مهارات فنية في لغات برمجة الألعاب ومحركات الألعاب كما يتطلب امتلاك مهارات إبداعية وخيال واسع لابتكار أفكار ألعاب إلكترونية ممتعة تجذب المستخدمين وتحفزهم على اللعب، كما يحتاج لوجود مهارات في التنظيم والتعاون والعمل الجماعي لاسيما عند العمل مع فريق تطوير ألعاب.
</p>

<p>
	وتذكر أنك إذا قررت أن تصبح <a href="https://academy.hsoub.com/programming/game-development/%D9%85%D8%B7%D9%88%D8%B1-%D8%A7%D9%84%D8%A3%D9%84%D8%B9%D8%A7%D8%A8/" rel="">مطور ألعاب</a> فيمكنك أن تعمل بشكل مستقل وتطور ألعابًا بسيطة وجذابة، ومن الممكن أن تعمل ضمن فريق عمل متكامل حيث يتولى تطوير الألعاب الضخمة عادة شركات برمجية متخصصة تضم فرق عمل مكونة من مبرمجين وفنانين ومصممين وكتاب يتعاونون معًا لإنتاج ألعاب احترافية مميزة لذا تحتاج في هذه الحالة إلى تعزيز مهاراتك الناعمة مثل مهارات التواصل الفعال وروح العمل الجماعي.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="499" id="ips_uid_6739_9" src="https://academy.hsoub.com/applications/core/interface/index.html" title="تصميم الألعاب وبرمجة الألعاب" width="887" data-embed-src="https://www.youtube.com/embed/NwMtWKGrH8U"></iframe>
</p>

<h4 id="-5">
	تعلم وظيفة برمجة الألعاب
</h4>

<ul>
	<li>
		<p>
			يتطلب التخصص في وظيفة برمجة الألعاب لتعلم إحدى <a href="https://academy.hsoub.com/programming/game-development/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%A3%D9%84%D8%B9%D8%A7%D8%A8/" rel="">لغات برمجة الألعاب</a> وتعلم استخدام أحد محركات الألعاب <a href="https://academy.hsoub.com/programming/game-development/%D9%85%D8%AD%D8%B1%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%A3%D9%84%D8%B9%D8%A7%D8%A8-game-engines/" rel="">game engines</a> التي توفر لك كافة الوظائف اللازمة لتطوير ونشر الألعاب بسرعة وسهولة، كما يساعدك تعلم لغات تطوير الويب على <a href="https://academy.hsoub.com/programming/game-development/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%B5%D9%86%D8%A7%D8%B9%D8%A9-%D8%A3%D9%84%D8%B9%D8%A7%D8%A8-%D8%A7%D9%84%D9%85%D8%AA%D8%B5%D9%81%D8%AD-r767/" rel="">برمجة ألعاب المتصفح</a> وتعلم لغات تطوير الجوال على برمجة تطبيقات ألعاب مخصصة للعمل على الهواتف المحمولة.
		</p>
	</li>
	<li>
		<p>
			وأنصحك أيضًا بالاطلاع على مقالات ودروس <a href="https://academy.hsoub.com/programming/game-development/" rel="">صناعة الألعاب</a> في أكاديمية حسوب حيث ستتعرف فيها على كل جديد يخص تصميم وبرمجة الألعاب واستخدام برامج تطوير الألعاب المختلفة.
		</p>
	</li>
</ul>

<h3 id="5">
	5. مسؤول قواعد البيانات
</h3>

<p>
	تعد الوظائف المرتبطة بقواعد البيانات من أهم التخصصات البرمجية المطلوبة حيث تحتاج معظم قطاعات العمل مثل المستشفيات والجامعات والقطاعات الحكومية وغيرها إلى تخزين الكثير من البيانات الخاصة بها وتوظيف مختصين مسؤولين عن تنظيم عملية تخزين هذه البيانات وهنا يأتي دور مسؤول قواعد البيانات أو مدير قواعد بيانات للقيام بهذه المهمة.
</p>

<p>
	عند العمل في وظيفة مسؤول قواعد البيانات في شركة ما سيكون عليك القيام بعدة مهام من بينها الاهتمام بتصميم <a href="https://academy.hsoub.com/devops/servers/databases/%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-database/" rel="">قواعد البيانات</a> والتواصل مع مبرمجي التطبيقات الذين يستخدمون قواعد البيانات في تطبيقاتهم للتأكد من تخزين المعلومات ضمنها بطريقة مناسبة تلبي متطلبات العمل، كما يتوجب عليك إدارة الوصول إلى البيانات والتأكد من أمنها وسلامتها ومنع الوصول غير المصرح لها وإجراء النسخ الاحتياطي لها بصورة دورية لاستعادتها في حال حدوث أي أخطاء أو فقدان للبيانات.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="499" id="ips_uid_6739_10" src="https://academy.hsoub.com/applications/core/interface/index.html" tile="ما هي قاعدة البيانات؟" width="887" data-embed-src="https://www.youtube.com/embed/AVnlyxn-Al4"></iframe>
</p>

<h4 id="-6">
	تعلم وظيفة مسؤول قواعد البيانات
</h4>

<ul>
	<li>
		<p>
			كي تتعلم وظيفة إدارة قواعد البيانات عليك التعرف على مفهوم قواعد البيانات <a href="https://academy.hsoub.com/devops/servers/databases/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">وأنواعها المختلفة</a> مثل قواعد البيانات العلاقية وغير العلاقية وأساسيات <a href="https://academy.hsoub.com/devops/servers/databases/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">تصميم قواعد البيانات</a> وتتعلم لغات الاستعلام من البيانات مثل <a href="https://wiki.hsoub.com/SQL" rel="external">SQL</a> وأنظمة إدارة قواعد البيانات المختلفة مثل <a href="https://academy.hsoub.com/devops/servers/databases/mysql/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC-%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-mysql-r28/" rel="">mySQL</a> أو <a href="https://academy.hsoub.com/devops/servers/databases/%D9%85%D9%82%D8%A7%D8%B1%D9%86%D8%A9-%D8%A8%D9%8A%D9%86-mysql-%D9%88-mongodb-r627/" rel="">MongoDB</a> وتتعرف على <a href="https://academy.hsoub.com/devops/servers/databases/%D9%85%D9%83%D9%88%D9%86%D8%A7%D8%AA-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">مكونات قواعد البيانات</a> المختلفة ومن المفيد لك تعلم إحدى لغات البرمجة لتطوير تطبيقات لمعالجة هذه البيانات مثل لغة بايثون Python أو جافا سكريبت <a href="https://wiki.hsoub.com/Python" rel="external">JavaScript</a>.
		</p>
	</li>
	<li>
		<p>
			ستجد في أكاديمية حسوب الكثير من <a href="https://academy.hsoub.com/devops/servers/databases/" rel="">دروس تعلم قواعد البيانات</a> المفيدة التي تساعدك على فهم قواعد البيانات المختلفة وفي حال كنت تفضل الدارسة من الكتب ستجد في قسم الكتب في الأكاديمية العديد من الكتب المفيدة للتعلم مثل كتاب <a href="https://academy.hsoub.com/files/26-%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">تصميم قواعد البيانات</a> وكتاب <a href="https://academy.hsoub.com/files/18-%D8%A7%D9%84%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%B9%D9%85%D9%84%D9%8A-%D8%A5%D9%84%D9%89-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-postgresql/" rel="">الدليل العملي إلى قواعد بيانات PostgreSQL.</a>
		</p>
	</li>
	<li>
		<p>
			كما توفر <a href="https://academy.hsoub.com/store/7-%D8%AF%D9%88%D8%B1%D8%A9-%D8%B9%D9%84%D9%88%D9%85-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8/" rel="">دورة علوم الحاسوب</a> كافة المعلومات التي تحتاجها حول أنظمة قواعد البيانات المختلفة وطريقة التعامل معها، مع شرح تفصيلي للغة SQL إضافة لشرح كافة المبادئ المتعلقة بأنظمة قواعد البيانات بمختلف أنواعها وغيرها الكثير من المواضيع التي تفيدك لتشغل وظيفة مدير قواعد بيانات.
		</p>
	</li>
</ul>

<h3 id="6">
	6. محلل بيانات
</h3>

<p>
	تزايد الطلب على وظائف البرمجة المرتبطة بالبيانات نتيجة التضخم الهائل في كمية البيانات المبعثرة التي تخزنها الأجهزة و المواقع والتطبيقات المختلفة التي نتفاعل معها يوميًا ما استدعى الحاجة لوجود وظيفة قادة على فهم هذه البيانات الضخمة المتناثرة وتحليلها وتحويلها لمعلومات قيمة واستنتاج قرارات مفيدة منها لتحسين العمل وخفض تكاليفه وزيادة أرباحه. ومن أبرز التخصصات المرتبطة بالبيانات وظيفة تحليل البيانات وهناك تسميات وأدوار وظيفية أخرى مشابهة ومتقاطعة مع هذه الوظيفة مثل علم البيانات وهندسة البيانات وتحليل الأعمال وهذه التخصصات مطلوبة بكثرة في العديد من القطاعات مثل مجالات التصنيع والاقتصاد والرعاية الصحية.
</p>

<p>
	تركز وظيفة محلل البيانات على جمع البيانات وتنظيفها وتحديد أنماطها وعرضها على شكل مخططات رسومية واستنتاج قرارات مفيدة تساعد المؤسسات على اتخاذ قرارات صحيحة باستخدام برامج وأدوات مخصصة لتحليل وتمثيل البيانات وتحليلها إحصائيًا.
</p>

<h4 id="-7">
	تعلم وظيفة تحليل البيانات
</h4>

<ul>
	<li>
		<p>
			تحتاج وظيفة تحليل البيانات لتعلم إحدى لغات البرمجة المستخدمة في معالجة وتحليل البيانات مثل لغة بايثون Python أو R أو SQL، ووجود معرفة أساسية بالرياضيات والإحصاء الرياضي والذكاء الاصطناعي لمعالجة الكميات الضخمة من البيانات واتخاذ قرارات ذكية بناء عليها، كما يفيدك تعلم الأدوات والبرامج المساعدة مثل برنامج إكسل <a href="https://academy.hsoub.com/apps/productivity/office/microsoft-excel/" rel="">Excel</a> و Power BI و SAS.
		</p>
	</li>
	<li>
		<p>
			توفر أكاديمية حسوب عدة دروس ومقالات مساعدة لتعلم هذه التقنيات مثل <a href="https://academy.hsoub.com/apps/productivity/office/microsoft-excel/" rel="">دروس تعلم برنامج اكسل</a> و <a href="https://academy.hsoub.com/programming/r-language/" rel="">ودروس تعلم لغة R</a> و<a href="https://academy.hsoub.com/programming/python/" rel="">دروس تعلم لغة بايثون</a> كما تشرح <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%AD%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/%5Bhttps://wiki.hsoub.com%5D(about:blank)" rel="">موسوعة حسوب</a> الشاملة <a href="https://wiki.hsoub.com/Python" rel="external">توثيق لغة بايثون</a> و<a href="https://wiki.hsoub.com/SQL" rel="external">توثيق لغة SQL</a> إلى جانب العديد من المصادر الأخرى مثل كتاب <a href="https://academy.hsoub.com/files/15-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D9%84%D8%BA%D8%A9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86/" rel="">البرمجة بلغة باثيون</a> و <a href="https://wiki.hsoub.com/Python" rel="external">توثيق لغة بايثون</a> وكتاب <a href="https://academy.hsoub.com/files/16-%D9%85%D9%84%D8%A7%D8%AD%D8%B8%D8%A7%D8%AA-%D9%84%D9%84%D8%B9%D8%A7%D9%85%D9%84%D9%8A%D9%86-%D8%A8%D9%84%D8%BA%D8%A9-sql/" rel="">ملاحظات للعاملين بلغة SQL</a>.
		</p>
	</li>
	<li>
		<p>
			وإذا كنت مهتمًا بتعلم الجانب العملي لتخصص تحليل البيانات ستفيدك <a href="https://academy.hsoub.com/courses/python-application-development/" rel="">دورة تطوير التطبيقات باستخدام لغة Python</a> فهي تتضمن مسارًا كاملًا ووافيًا حول تحليل البيانات يمكنك من خلاله تعلم أهم مكتبات تحليل البيانات في بايثون وتطبيقها على عدة مشاريع عملية مفيدة.
		</p>
	</li>
</ul>

<h3 id="7devops">
	7. مهندس DevOps
</h3>

<p>
	يعد تخصص ديف أوبس <a href="https://academy.hsoub.com/devops/general/%D8%AA%D8%B9%D9%84%D9%85-devops/" rel="">DevOps</a> من الوظائف البرمجية الحديثة التي زاد الطلب عليها كثيرًا في الشركات التقنية لما توفره من تسريع وتيرة تطوير البرمجيات وجعل العمل عليها أكثر كفاءة وإنتاجية.
</p>

<p>
	من أبرز المهام التي ستعمل بها في حال عملك كمهندس ديف أوبس DevOps engineer هو إدارة ونشر التطبيقات بعد الانتهاء من برمجتها أو التعديل عليها وحتى توصيلها للمستخدم بسرعة وأمان، وتحسين التواصل بين فرق تطوير البرمجيات وفرق عمليات تقنية المعلومات IT operations المسؤولة عن نشر وتشغيل البرمجيات وغيرهم من الأطراف، وللاطلاع مزيد من المعلومات حول طبيعة هذه الوظيفة أنصحك بمطالعة مقال <a href="https://academy.hsoub.com/devops/general/%D9%85%D8%A7-%D9%87%D9%8A-%D8%A7%D9%84%D8%BA%D8%A7%D9%8A%D8%A9-%D9%85%D9%86-devops%D8%9F-r414/" rel="">ما هي الغاية من DevOps؟</a>.
</p>

<h4 id="devops">
	تعلم وظيفة مهندس DevOps
</h4>

<ul>
	<li>
		<p>
			عليك أن تتعلم مجموعة متنوعة من المهارات الفنية لتتمكن من إنجاز ممارسات DevOps أهمها إعداد البنية التحتية اللازمة لتطوير البرمجيات و<a href="https://academy.hsoub.com/devops/servers/databases/%D8%A7%D9%84%D8%AA%D8%B9%D8%A7%D9%85%D9%84-%D9%85%D8%B9-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-r602/" rel="">التعامل مع قواعد البيانات</a> ومعرفة <a href="https://academy.hsoub.com/devops/networking/cisco/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D9%88%D8%A7%D8%B3%D9%8A%D8%A8-r702/" rel="">أساسيات الشبكات الحاسوبية</a> والتعامل مع منصات <a href="https://academy.hsoub.com/devops/cloud-computing/" rel="">الحوسبة السحابية</a> وإدارة الخوادم و<a href="https://academy.hsoub.com/devops/linux/%D9%85%D8%A7-%D9%87%D9%88-%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-%D9%84%D9%8A%D9%86%D9%83%D8%B3%D8%9F-r451/" rel="">نظام التشغيل لينكس</a> وأساسيات سطر الأوامر والتعامل مع <a href="https://academy.hsoub.com/devops/linux/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%B5%D8%AF%D9%81%D8%A9-%D8%A8%D8%A7%D8%B4-bash-r606/" rel="">صدفة باش Bash</a> و<a href="https://academy.hsoub.com/devops/cloud-computing/docker/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%AD%D8%A7%D9%88%D9%8A%D8%A7%D8%AA-r641/" rel="">طريقة التعامل مع الحاويات</a> ومن أشهرها حاوية دوكر Docker.
		</p>
	</li>
	<li>
		<p>
			كما تحتاج لتعلم إحدى لغات برمجة الخوادم مثل لغة بايثون Python أو جافا سكريبت JavaScript أو غيرها من اللغات كي تتمكن من أتمتة المهام المتكررة التي تنفذها عليه التي يمكنك الاطلاع عليها في مقال <a href="https://academy.hsoub.com/devops/general/%D8%A3%D9%81%D8%B6%D9%84-5-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%84%D9%80-devops-r416/" rel="">أفضل 5 لغات برمجة لـ DevOps</a>.
		</p>
	</li>
	<li>
		<p>
			كما ستحتاج إلى تعلم منهجيات تطوير البرمجيات مثل منهجية <a href="https://academy.hsoub.com/entrepreneurship/business/%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-%D9%84%D9%85%D9%86%D9%87%D8%AC%D9%8A%D8%A9-%D8%A3%D8%AC%D8%A7%D9%8A%D9%84-agile-r1047/" rel="">أجايل Agile</a> التي تساعد المطورين على إدخال ميزات وتحديثات صغيرة على التطبيقات بعد إصدارها وتكرار مراحل التطوير بشكل دوري ومرن، ومنهجية التكامل المستمر والنشر المستمر <a href="https://academy.hsoub.com/devops/deployment/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%AA%D9%83%D8%A7%D9%85%D9%84-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D9%85%D8%B1-%D9%88%D8%A7%D9%84%D9%86%D8%B4%D8%B1-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D9%85%D8%B1-cicd-r644/" rel="">CI/CD</a> لاختبار التغييرات الجديدة على البرمجيات وإضافتها إلى مستودعات الأكواد البرمجية ونشر التحديثات بسرعة وبكفاءة.
		</p>
	</li>
</ul>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="499" id="ips_uid_6739_11" src="https://academy.hsoub.com/applications/core/interface/index.html" title="ما هو التكامل المستمر والنشر المستمر CI/CD" width="887" data-embed-src="https://www.youtube.com/embed/hFzSG9qNWWs"></iframe>
</p>

<ul>
	<li>
		ستجد في قسم المقالات والدروس في أكاديمية حسوب قسمًا كاملًا حول <a href="https://academy.hsoub.com/devops/" rel="">دورس DevOps</a> يتضمن الكثير من المقالات البرمجية عالية الجودة حول هذا التخصص مثل مقال <a href="https://academy.hsoub.com/devops/general/%D8%AA%D8%B9%D9%84%D9%85-devops/" rel="">المدخل الشامل لتعلم DevOps</a> وغيرها الكثير من المقالات التي تساعدك لتعلم إدارة السيرفرات والتعامل مع نظام لينكس والمنصات السحابية، وإن كنت تفضل الدراسة من الكتب يمكنك مطالعة القسم المتخصص <a href="https://academy.hsoub.com/files/c7-%D9%83%D8%AA%D8%A8-devops/" rel="">بكتب DevOps</a> في الأكاديمية.
	</li>
	<li>
		كما توفر لك <a href="https://academy.hsoub.com/learn/computer-science/" rel="">دورة علوم الحاسوب</a> من أكاديمية حسوب فرصة تعلم أهم الأساسيات التي تحتاجها كمتخصص DevOps على شكل مسارات منهجية من أهمها مسار التعامل مع أنظمة التشغيل، ومسار تعلم أساسيات الشبكات، وغيرها من المسارات المفيدة لهذا التخصص.
	</li>
</ul>

<h3 id="8">
	8. خبير في الذكاء الاصطناعي
</h3>

<p>
	تعد مهنة الذكاء الاصطناعي والتعلم الآلي واحدة من أكثر الوظائف البرمجية المطلوبة والمجزية فقد تطور الذكاء الاصطناعي في الآونة الأخير بشكل كبير وأصبح يؤثر على مختلف نواحي حياتنا، ورغم ما أثاره هذا التطور من مخاوف لدى بعض المبرمجين بأنه قد يهدد مستقبلهم الوظيفي لكنه على العكس زاد الطلب المبرمجين المتخصصين في مجال الذكاء الاصطناعي ومجالاته الفرعية مثل تعلم الآلة والتعلم العميق وهو اليوم في طليعة الوظائف البرمجية المطلوبة.
</p>

<p>
	من خلال العمل في هذه الوظيفة البرمجية ستكون مسؤولًا عن تطوير وبرمجة وتدريب نماذج الذكاء الاصطناعي التي تصلح <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">لمختلف التطبيقات</a> مثل تطبيقات الدردشة الذكية، وتطبيقات فهم اللغة الطبيعية والمعالجة اللغوية، وتطبيقات الرؤية الحاسوبية والتعرف على الأشياء، وكشف الاحتيال، وتشخيص الأمراض والتنبؤ بها، وصناعة الألعاب الذكية وغيرها من الأنواع العديدة الأخرى.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="480" id="ips_uid_6739_12" src="https://academy.hsoub.com/applications/core/interface/index.html" title="كيف تبدأ في مجال الذكاء الاصطناعي" width="853" data-embed-src="https://www.youtube.com/embed/GeJTSuIW25s"></iframe>
</p>

<h4 id="-8">
	تعلم وظيفة متخصص في الذكاء الاصطناعي
</h4>

<ul>
	<li>
		<p>
			يحتاج العمل في هذا التخصص إلى وجود معرفة بأساسيات البرمجة وتعلم إحدى لغات البرمجة المناسبة لتطوير تطبيقات الذكاء الاصطناعي مثل بايثون Python أو C++‎ أو R كما تحتاج لوجود فهم جيد للرياضيات والاحتمالات والإحصاء ومعرفة بأساسيات الذكاء الاصطناعي <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">وأهم خوارزمياته</a> وكيفية عملها والقدرة على تحديد الخوارزمية الصحيحة المناسبة لاستخدامها في تطبيقاتك.
		</p>
	</li>
	<li>
		<p>
			توفر أكاديمية حسوب الكثير من الدروس والمقالات المفيدة في <a href="https://academy.hsoub.com/programming/artificial-intelligence/" rel="">تعلم الذكاء الاصطناعي</a> ومختلف تخصصاته الفرعية وتشرح لك أهم الخوارزميات والتقنيات المستخدمة في هذا التخصص، كما توفر عدة كتب برمجية مجانية مفيدة تساعدك للتخصص في مجال الذكاء الاصطناعي مثل كتاب <a href="https://academy.hsoub.com/files/17-%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%88%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">مدخل إلى الذكاء الاصطناعي وتعلم الآلة</a> وكتاب <a href="https://academy.hsoub.com/files/29-%D8%B9%D8%B4%D8%B1%D8%A9-%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D8%B9%D9%85%D9%84%D9%8A%D8%A9-%D8%B9%D9%86-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">عشرة مشاريع عملية عن الذكاء الاصطناعي</a>.
		</p>
	</li>
	<li>
		<p>
			إضافة لذلك توفر <a href="https://academy.hsoub.com/learn/artificial-intelligence/" rel="">دورة الذكاء الاصطناعي AI</a> مسارًا كاملًا يساعدك لتتعلم كل ما تحتاجه عن برمجة خوارزميات الذكاء الاصطناعي وتعلم الآلة Machine Learning وتحليل البيانات ودمج النماذج اللغوية المختلفة مثل LLMs مثل GPT من OpenAI و LLaMA 2 من Meta مع تطبيقاتك العملية وتعزز فرصتك في العمل بهذه الوظيفة الحيوية والواعدة في <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%B3%D8%AA%D9%82%D8%A8%D9%84-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">مستقبل البرمجة</a>.
		</p>
	</li>
</ul>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة الذكاء الاصطناعي
		</p>

		<p class="banner-subtitle">
			احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة.
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/artificial-intelligence" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<a href="https://academy.hsoub.com/learn/artificial-intelligence" rel=""><img alt="دورة الذكاء الاصطناعي AI" src="https://academy.hsoub.com/learn/assets/images/courses/artificial-intelligence.png"></a>
	</div>
</div>

<h3 id="9">
	9. خبير أمن سيبراني
</h3>

<p>
	تهتم وظيفة الأمن السيبراني Cybersecurity بتأمين وحماية الأنظمة الرقمية والشبكات الإلكترونية وكل ما يتعلق بالأجهزة الرقمية وتكنولوجيا المعلومات الرقمية ضدّ أي هجمات رقمية أو هجمات سيبرانية Cyber Attacks ويزداد الطلب على العاملين فيها بسبب زيادة التهديدات التي تواجهها شركات الأعمال وسعيها لحماية أمن معلوماتها والالتزام باللائحة العامة لحماية البيانات <a href="https://io.hsoub.com/HsoubIO/77645-%D8%AD%D8%B3%D9%88%D8%A8-%D9%88%D8%AD%D9%85%D8%A7%D9%8A%D8%A9-%D8%A7%D9%84%D8%AE%D8%B5%D9%88%D8%B5%D9%8A%D8%A9-%D9%88-gdpr" rel="external">GDPR</a> التي زادت من وعي شركات الأعمال بضرورة حماية البيانات.
</p>

<p>
	عندما تعمل كخبير أمن سيبراني في شركة ما فقد يطلب منك التخصص في مجال محدد مرتبط بهذه الوظيفة مثل مهندس أمن سيبراني، أو مختبر اختراق أخلاقي، أو محلل جنائي رقمي، وقد تختلف مهامك الوظيفية باختلاف التخصص لكنك بالعموم ستكون مسؤولًا عن تأمين وحماية الأنظمة والشبكات والبنية التحتية التي تستخدمها شركتك من أي هجمات وكشف أي ثغرات أمنية محتملة فيها والعمل على إصلاحها، وحماية البيانات من الوصول غير المصرح واتخاذ تدابير للوقاية من أي هجمات مستقبلية.
</p>

<p>
	كما يتطلب منك العمل في هذه الوظيفة التواصل الفعال مع موظفي شركتك وإرشادهم وتدريبهم على التعامل مع الأنظمة البرمجية بالطريقة الصحيحة وزيادة وعيهم بأهمية اتباع تدابير السلامة التي تحفظ أمن وحماية البيانات.
</p>

<h4 id="-9">
	تعلم وظيفة خبير أمن سيبراني
</h4>

<ul>
	<li>
		<p>
			إذا كنت مهتمًا بالعمل في هذه الوظيفة البرمجية المهمة عليك تعلم أساسيات التعامل مع أنظمة التشغيل وبشكل خاص نظام التشغيل <a href="https://academy.hsoub.com/devops/linux/%D9%85%D8%A7-%D9%87%D9%88-%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-%D9%84%D9%8A%D9%86%D9%83%D8%B3%D8%9F-r451/" rel="">لينكس</a> وفهم مبادئ عمل <a href="https://academy.hsoub.com/devops/networking/" rel="">الشبكات</a> الحاسوبية وأسس تصميم قواعد البيانات بطريقة آمنة، كما يتوجب عليك تعلم <a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أساسيات البرمجة</a> والتعمق في إحدى لغات البرمجة المفيدة في مجال الأمن السيبراني مثل <a href="https://academy.hsoub.com/programming/c/" rel="">لغة C</a> أو <a href="https://academy.hsoub.com/programming/cpp/" rel="">C++</a>‎.
		</p>
	</li>
	<li>
		<p>
			تمكنك <a href="https://academy.hsoub.com/learn/computer-science/" rel="">دروة علوم الحاسوب</a> من تعلم معظم الأساسيات التي تحتاجها في هذا المجال، كما توفر أكاديمية حسوب الكثير من مصادر التعلم المجانية المفيدة حول تقنيات ومبادئ الأمن السيبراني مثل الدروس والمقالات المفيدة المتخصصة التي تشرح لك <a href="https://academy.hsoub.com/devops/security/%D9%85%D8%A7-%D9%87%D9%88-%D8%A7%D9%84%D8%A3%D9%85%D9%86-%D8%A7%D9%84%D8%B3%D9%8A%D8%A8%D8%B1%D8%A7%D9%86%D9%8A-%D9%88%D9%85%D8%A7-%D8%A3%D9%87%D9%85%D9%8A%D8%AA%D9%87%D8%9F-r664/?utm_content=buffer2e9f1&amp;utm_medium=social&amp;utm_source=facebook.com&amp;utm_campaign=buffer&amp;fbclid=IwAR0yrlYC3R2d8U22PzViIMYkVGWKzw3En1ZKIj4bOghCPDrm4WHLf2k6_6w" rel="">ما هو الأمن السيبراني</a> وما أبرز <a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D9%87%D8%AC%D9%85%D8%A7%D8%AA-%D8%A7%D9%84%D8%A3%D9%85%D9%86%D9%8A%D8%A9-security-attacks-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r540/" rel="">أنواع الهجمات الأمنية</a> وسبل الوقاية منها إلى جانب العديد من الكتب الشاملة المفيدة في هذا التخصص مثل <a href="https://academy.hsoub.com/files/20-%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%A3%D9%85%D8%A7%D9%86-%D8%A7%D9%84%D8%B1%D9%82%D9%85%D9%8A/" rel="">كتاب دليل الأمان الرقمي</a> وكتاب <a href="https://academy.hsoub.com/files/26-%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">تصميم قواعد البيانات</a> الذي يرشدك لطريقة ضمان سلامة بيانات قواعد البيانات.
		</p>
	</li>
</ul>

<h3 id="10">
	10. مدرّس برمجة
</h3>

<p>
	إذا كنت مهتمًا بالتقنية والبرمجة ولديك بذات الوقت شغف بمهنة التدريس ونشر المعرفة فهذه الوظيفة هي الأنسب لك، فمن خلالها ستكون مسؤولًا عن تدريس البرمجة لطلابك وتدريبهم على تطوير المشاريع البرمجية والتطبيقات المختلفة، وإكسابهم القدرة على حل المشكلات البرمجية والتعامل معها بكفاءة.
</p>

<p>
	تعد هذه الوظيفة كذلك من وظائف البرمجة المهمة والمجزية حتى أن معظم المبرمجين المشهورين يحصلون على دخلهم من التدريب والتعليم وليس من برمجة التطبيقات المختلفة، فالجيل الناشئ يدرك قيمة وأهمية البرمجة لمستقبلهم الوظيفي والشخصي ويحرص على تعلمها، لكن البرمجة في الواقع قد تكون مهارة صعبة التعلم على المبتدئ لما تتضمنه من مفاهيم جديدة لذا قد يحتاج لمبرمج محترف يساعده في رحلة تعلم البرمجة ويشرح له <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%8A-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">ما هي البرمجة</a> ويبسط مفاهيمها ويساعده على التغلب على أي صعوبات في تعلمها.
</p>

<p>
	ومن مميزات العمل في هذه الوظيفة هي أنها هي توفر لك إمكانية تدريس الطلاب عن بعد، أو التدريس في معاهد متخصصة، أو تدريب الطلبة ضمن معسكرات برمجية، أو ربما فتح قناة يوتيوب خاصة بك، أو إعداد دورات تدريبية خاصة بك وبيعها.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="634" id="ips_uid_6739_13" src="https://academy.hsoub.com/applications/core/interface/index.html" title="لماذا يجب أن تعلم طفلك البرمجة" width="1128" data-embed-src="https://www.youtube.com/embed/JR2n5x9KmXQ"></iframe>
</p>

<h4 id="-10">
	تعلم وظيفة مدرس برمجة
</h4>

<ul>
	<li>
		<p>
			كي تتمكن من العمل في وظيفة مدرس برمجة عليك امتلاك معرفة كبيرة بعلوم الحاسوب ولغات البرمجة، إلى جانب امتلاك مهارة جيدة في أساليب التدريس وإعداد الدروس وإيصال المعلومات بسلاسة لطلابك، مع مراعاة الفروق الفردية بينهم وتحفزهم على تطوير نفسهم وتقيم مهاراتهم بشكل صحيح، كما يستلزم العمل في هذه الوظيفة متابعة كل جديد في مجال التقنية لتواكب تطورها المتسارع.
		</p>
	</li>
	<li>
		<p>
			إذا كنت تنوي العمل في تدريس البرمجة ولم تكن تملك أي خبرة مسبقة عنها أو كنت لا تعرف ما هو المجال الذي ستخصص في تدريسه فإن <a href="https://academy.hsoub.com/learn/computer-science/" rel="">دورة علوم الحاسوب</a> مناسبة لبدء مشوارك المهني، وفي حال كنت مهتمًا بمجال معين من <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AC%D8%A7%D9%84%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">مجالات البرمجة</a> فيمكنك التركيز على تعلم التقنيات التي تساعدك في تدريس هذا المجال والبدء بتحضير منهج التدريب الخاص بك والذي يشرح هذا المجال بسهولة ووضوح.
		</p>
	</li>
</ul>

<p>
	كانت هذه قائمة بأكثر وظائف البرمجة التي يمكنك التخصص بها، بالطبع هناك مجالات عديدة أخرى مثل برمجة الأنظمة و<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA/" rel="">تطوير البرمجيات</a> حرة المصدر، وأتمتة الأعمال وبرمجة الروبوتات وبرمجة الشبكات، وإدارة المشاريع البرمجية، وغيرها الكثير، لكن حاولنا أن نسلط الضوء على أكثر وظائف برمجة مطلوبة في سوق العمل.
</p>

<h2 id="-11">
	الخلاصة
</h2>

<p>
	بهذا تكون قد وصلت لنهاية هذا المقال الشامل الذي سلط الضوء على أهم وظائف البرمجة التي يمكنك العمل بها وطبيعة كل وظيفة ومهامها وأهميتها في سوق العمل والتقنيات التي عليك تعلمها للعمل في هذه المهنة ومصادر تساعدك على تعلمها.
</p>

<p>
	شاركنا في التعلقيات هل تعتقد أن وظائف البرمجة ستختفي في المستقبل أم لا؟ وهل أنت مهتم بالعمل في إحدى وظائف البرمجة التي شرحناها في سياق المقال؟ وما وظيفة البرمجة التي تفضلها أكثر من غيرها، وهل عملت بها بالفعل أم أنك لا تزال في مرحلة الدراسة واكتساب الخبرات اللازمة للعمل بها؟ وما هي التقنيات التي تتعلمها في هذا المجال؟
</p>

<h2 id="-12">
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%85%D8%B3%D8%AA%D9%82%D8%A8%D9%84-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">مستقبل البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%8A-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">اكتشف ما هي البرمجة وما أهمية تعلمها</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%85%D9%88%D8%A7%D9%82%D8%B9-%D8%A7%D9%84%D9%88%D9%8A%D8%A8/" rel="">برمجة مواقع الويب: دليلك المختصر</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%83%D9%8A%D9%81-%D8%AA%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%86%D8%B5%D8%A7%D8%A6%D8%AD-%D9%88%D8%A3%D8%AF%D9%88%D8%A7%D8%AA-%D9%84%D8%B1%D8%AD%D9%84%D8%AA%D9%83-%D9%81%D9%8A-%D8%B9%D8%A7%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r206/" rel="">كيف تتعلم البرمجة: نصائح وأدوات لرحلتك في عالم البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D8%B1%D8%AD%D9%84%D8%A9-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r1280/" rel="">بداية رحلة تعلم البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">برمجة الذكاء الاصطناعي</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2200</guid><pubDate>Thu, 28 Dec 2023 11:00:00 +0000</pubDate></item><item><title>&#x62A;&#x639;&#x631;&#x641; &#x639;&#x644;&#x649; &#x645;&#x647;&#x627;&#x645; &#x646;&#x638;&#x627;&#x645; &#x627;&#x644;&#x62A;&#x634;&#x63A;&#x64A;&#x644;</title><link>https://academy.hsoub.com/programming/general/%D9%85%D9%87%D8%A7%D9%85-%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_12/--.png.ccdef877e56c9d340cbc16cd1d63f39f.png" /></p>
<p>
	نسلط الضوء في مقال اليوم على مهام نظام التشغيل الذي يعد أهم برنامج في أجهزة الحواسيب، فهو البرنامج الأساسي الذي يُمكّن الحاسوب من أداء الوظائف المختلفة المطلوبة منه، ويجعله قادرًا على التعامل مع العتاد وتشغيل البرامج والتطبيقات وغيرها من الوظائف الأخرى التي سنتعرف عليها في سياق المقال والتي بدونها لن يكون الحاسوب سوى خردة لا نفع لها.
</p>

<h2 id="">
	ما هو نظام التشغيل
</h2>

<p>
	ويمكن اعتبار نظام التشغيل Operating System أو اختصارًا OS بمثابة المدير العام لجهاز الحاسوب فهو الذي يدير جميع البرامج والأجهزة الموجودة على الحاسوب فهو البرنامج الأساسي المدمج في جهاز الحاسوب والذي يُحمَّل ويعمل تلقائيًا بمجرد أن تشغيل حاسوبك ويكون بمثابة وسيط بينك كمستخدم وبين جهاز الحاسوب الخاص بك ويسمح لك بالتفاعل مع العتاد والبرامج المختلفة بسهولة إما من خلال واجهة رسومية <a href="https://academy.hsoub.com/programming/java/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%88%D8%A7%D8%AC%D9%87%D8%A7%D8%AA-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-%D8%A7%D9%84%D8%B1%D8%B3%D9%88%D9%85%D9%8A%D8%A9-gui-%D9%81%D9%8A-%D8%AC%D8%A7%D9%81%D8%A7-r1070/" rel="">GUI</a> أو من خلال واجهة <a href="https://academy.hsoub.com/devops/servers/%D9%85%D8%A7-%D9%87%D9%88-%D8%B3%D8%B7%D8%B1-%D8%A7%D9%84%D8%A3%D9%88%D8%A7%D9%85%D8%B1-%D8%9F-r353/" rel="">سطر أوامر</a> كما يسمح للمستخدم بالقيام بعدة مهام في نفس الوقت.
</p>

<p>
	وكي يتمكن نظام التشغيل من إدارة الحاسوب بكفاءة يحتاج للقيام بالعديد من المهام المسؤولة عن إدارة كافة موارد وخدمات الحاسوب والإشراف على تشغيل البرامج والتطبيقات وتحديد ما هي التطبيقات التي يجب تشغيلها وبأي ترتيب والتحكم <a href="https://academy.hsoub.com/apps/operating-systems/%D9%85%D9%83%D9%88%D9%86%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D8%A8/" rel="">بمكونات الحاسوب</a> وطرفياته المختلفة مثل القرص الصلب أو ذاكرة الوصول العشوائي أو الطابعة، وتشغيل الشبكات الحاسوبية، وإدارة عملية تخزين البيانات على وسائط التخزين كما يهتم نظام التشغيل بأمور <a href="https://academy.hsoub.com/entrepreneurship/business/%D8%AD%D9%85%D8%A7%D9%8A%D8%A9-%D8%A7%D9%84%D8%AD%D9%88%D8%A7%D8%B3%D9%8A%D8%A8-%D9%88%D8%A7%D9%84%D9%85%D8%B9%D9%84%D9%88%D9%85%D8%A7%D8%AA-%D8%AE%D9%84%D8%A7%D9%84-%D8%A7%D9%84%D8%B9%D9%85%D9%84-r892/" rel="">حماية الحاسوب</a> من البرمجيات الضارة وغيرها من المهام المختلفة التي سنشرحها بالتفصيل في الفقرات اللاحقة.
</p>

<p>
	هناك العديد من <a href="https://academy.hsoub.com/programming/os-embedded-systems/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D8%A3%D9%86%D8%B8%D9%85%D8%A9-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84/" rel="">أنواع أنظمة التشغيل</a> فنظام التشغيل مطلوب لعمل مختلف أنواع الأجهزة الذكية كالهواتف الذكية أو الأجهزة اللوحية أو أجهزة التلفزيون الحديثة أو الساعات الذكية وحتى المعدات الطبية وأجهزة الصراف الآلي أو غيرها من الأجهزة والهدف الأساسي منه هو المحافظة على تشغيل الجهاز بكفاءة وسهولة لكن قد تختلف طريقة تصميم نظام التشغيل وأسلوب أدائه للمهام بحسب الاحتياجات والمتطلبات المختلفة لكل جهاز لذا تختلف المهام من نوع نظام تشغيل لآخر لكننا سنركز في مقال اليوم على شرح مهام نظام التشغيل المخصص للعمل على أجهزة الحاسوب ومن أشهر هذه الأنظمة نظام ويندوز Windows ولينكس Linux وماك macOS.
</p>

<p>
	وللاطلاع على مزيد من المعلومات حول أنواع أنظمة التشغيل وأهم الاختلافات والفروقات فيما بينها وأبرز الأمثلة حولها يمكنك مطالعة مقال <a href="https://academy.hsoub.com/apps/operating-systems/%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84/" rel="">مدخل إلى نظام التشغيل Operating System</a>.
</p>

<h2 id="-1">
	ما هي مهام نظام التشغيل
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="140292" href="https://academy.hsoub.com/uploads/monthly_2023_12/--.png.1a3143d93feebded13a1c3f8d48268e5.png" rel=""><img alt="مهام-نظام-التشغيل" class="ipsImage ipsImage_thumbnailed" data-fileid="140292" data-ratio="62.50" data-unique="as1vqjpkc" style="width: 400px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2023_12/--.thumb.png.179d0a8c63ff74aff87c23a45e52afe1.png"></a>
</p>

<p>
	يقوم <a href="https://academy.hsoub.com/tags/%D9%85%D8%AF%D8%AE%D9%84%20%D8%A5%D9%84%D9%89%20%D8%A3%D9%86%D8%B8%D9%85%D8%A9%20%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84/" rel="">نظام التشغيل</a> بالعديد من المهام والوظائف التي تضمن عمل جهاز الحاسوب بالشكل الأمثل وإليك قائمة بأبرزها:
</p>

<ol>
	<li>
		إدارة موارد الحاسوب.
	</li>
	<li>
		توفير واجهة مستخدم.
	</li>
	<li>
		إدارة الملفات والمجلدات.
	</li>
	<li>
		إدارة الأجهزة الطرفية.
	</li>
	<li>
		إدارة الذاكرة.
	</li>
	<li>
		التحكم في أجهزة الإدخال والإخراج.
	</li>
	<li>
		إدارة العمليات.
	</li>
	<li>
		إدارة المستخدمين وصلاحيات وصولهم.
	</li>
	<li>
		إدارة المعالجات
	</li>
	<li>
		الحماية واكتشاف الأخطاء.
	</li>
</ol>

<p>
	لنناقش بمزيد من التفصيل كل مهمة من هذه المهام ونتعرف على آلية عملها.
</p>

<h3 id="-2">
	1. إدارة موارد الحاسوب
</h3>

<p>
	تتحكم أنظمة التشغيل في موارد الحاسوب وتوفر واجهة للمستخدمين ليتمكنوا من التواصل مع هذه الموارد، والمقصود بموارد الحاسوب أي أجزاء قابلة للاستخدام من الحاسوب سواء كانت برامج أو عتاد مثل أجهزة الإدخال والإخراج ووحدة المعالجة المركزية CPU والذاكرة ومحرك الأقراص وبطاقة الشبكة والطابعة …إلخ. إذ يتولى نظام التشغيل مهمة التحكم بهذه الموارد وإدارتها وتوزيعها بشكل منظم وعادل بين البرامج المختلفة ليسمح بتشغيل عدة مهام في نفس الوقت ويضمن عملها بالشكل الصحيح ودون أخطاء. لذا تعد إدارة الموارد أحد أهم وظائف نظام التشغيل فهو يدير كل الموارد المتاحة ويخصصها لكل العمليات التي تجري في الحاسوب بطريقة فعالة، وقد يعتمد نظام التشغيل مبدأ مشاركة الموارد بحسب الزمن Time-sharing أو بحسب المساحة Space-sharing.
</p>

<p>
	على سبيل المثال عندما تحتاج عدة مهام أو عمليات إلى استخدام وحدة المعالجة المركزية <a href="https://academy.hsoub.com/apps/operating-systems/%D9%88%D8%AD%D8%AF%D8%A9-%D8%A7%D9%84%D9%85%D8%B9%D8%A7%D9%84%D8%AC%D8%A9-%D8%A7%D9%84%D9%85%D8%B1%D9%83%D8%B2%D9%8A%D8%A9-r879/" rel="">CPU </a> يعتمد نظام التشغيل مبدأ مشاركة الزمن أي يضع العمليات في قائمة انتظار ويخصص فترات زمنية لكل عملية حيث تحصل العملية الأولى على وحدة المعالجة المركزية، وعندما تنتهي الفترة الزمنية الخاصة بها ينتقل الدور إلى العملية التالية المنتظرة لتستخدم وحدة المعالجة المركزية. وكمثال على مشاركة المساحة يمكن أن تتقاسم عدة عمليات تعمل بذات الوقت مساحة الذاكرة الرئيسية حيث تقسم المساحة الكلية لأجزاء أصغر وتأخذ كل عملية جزء مخصص منها.
</p>


<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة علوم الحاسوب
		</p>

		<p class="banner-subtitle">
			دورة تدريبية متكاملة تضعك على بوابة الاحتراف في تعلم أساسيات البرمجة وعلوم الحاسوب
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/computer-science/" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<img alt="دورة علوم الحاسوب" src="https://academy.hsoub.com/learn/assets/images/courses/computer-science.png">
	</div>
</div>


<h3 id="-3">
	2. توفير واجهة مستخدم
</h3>

<p>
	يعمل نظام التشغيل كصلة وصل بين المستخدم وجهاز الحاسوب ويوفر له واجهات مستخدم تسمح له بالتفاعل معه وإعطائه الأوامر، وقد تكون هذه الواجهات كما ذكرنا سابقًا إما واجهات رسومية GUI تتضمن أيقونات ونوافذ رسومية سهلة الاستخدام أو واجهات سطر أوامر CLI تمكن المستخدم من التفاعل مع نظام التشغيل من خلال كتابة أوامر نصية.
</p>

<p>
	تمنح هذه الواجهات المستخدم الكثير من المرونة والتحكم في التعامل مع النظام لكنها مخصصة للمستخدمين ذوي الخبرة وصعبة على المبتدئين، وحديثًا ومع تقدم تقنيات <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">الذكاء الاصطناعي</a> و<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">تعلم الآلة</a> فقد بدأت بعض أنظمة التشغيل توفر واجهات بلغة طبيعية Natural Language تمكّن المستخدم من التفاعل مع الحاسوب من خلال لغته البشرية المكتوبة أو المنطوقة وطلب مهمة معينة.
</p>

<h3 id="-4">
	3. إدارة الملفات والمجلدات
</h3>

<p>
	من مهام نظام التشغيل الأساسية <a href="https://academy.hsoub.com/devops/linux/redhat/%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9-%D8%A7%D9%84%D9%85%D9%84%D9%81%D8%A7%D8%AA-%D9%88%D8%A7%D9%84%D9%85%D8%AC%D9%84%D8%AF%D8%A7%D8%AA-%D8%B9%D9%84%D9%89-red-hat-enterprise-linux-r737/" rel="">إدارة الملفات والمجلدات</a> التي تسمح للمستخدمين بالتعامل مع المجلدات والملفات بمختلف أنواعها كإنشائها وحذفها ونسخها ونقلها وإعادة تسميتها.
</p>

<p>
	كما يخزن نظام التشغيل كافة التفاصيل المتعلقة بالملفات المختلفة ويسهل البحث عنها ومن أهم المعلومات التي يخزنها نوع أو تنسيق الملف، وحجم الملف، وموقع تخزينه ووقت إنشائه، ومتى عُدّل آخر مرة.
</p>

<p>
	والجدير بالذكر أن هناك عدة أنواع لنظام الملفات file system التي يستخدمها نظام التشغيل ولكل نظام أسلوب مختلف في تخزين وتنظيم الملفات والمجلدات، ومن أشهر هذه الأنواع:
</p>

<ul>
	<li>
		نظام FAT وهو اختصار لعبارة File Allocation Table وتعني جدول تخصيص الملفات وهو أقدم أنظمة الملفات وطورته مايكروسوفت وكان يستخدم في الإصدارات القديمة لنظام التشغيل ويندوز.
	</li>
	<li>
		نظام NTFS وهو اختصار لعبارة New Technology File System وهو نظام ملفات حديث طورته مايكروسوفت ويستخدم في نظام تشغيل Windows NT والإصدارات الأحدث، ويدعم ميزات مثل الضغط والتشفير وميزة أذونات الملفات والمجلدات.
	</li>
	<li>
		نظام ext وهو اختصار لعبارة Extended File System أي نظام الملفات الموسع وهو <a href="https://academy.hsoub.com/devops/linux/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D9%86%D8%B8%D8%A7%D9%85-%D9%85%D9%84%D9%81%D8%A7%D8%AA-%D9%84%D9%8A%D9%86%D9%83%D8%B3-ext4-r343/" rel="">نظام ملفات</a> يستخدمه نظام التشغيل لينكس Linux ويونكس Unix.
	</li>
	<li>
		نظام الملفات الهرمي HFS وهو اختصار لـ Hierarchical File System حيث يستخدم بنية هرمية لتنظيم الملفات وقد طورته آبل بشكل مخصص لنظام التشغيل ماك macOS.
	</li>
	<li>
		نظام ملفات APFS وهو اختصار لعبارة Apple File System وهو خاص بنظام التشغيل ماك Mac وأجهزة iOS الحديثة.
	</li>
</ul>

<h3 id="-5">
	4. إدارة الأجهزة الطرفية
</h3>

<p>
	من مهام نظام التشغيل أيضًأ إدارة مختلف الأجهزة الطرفية <a href="https://academy.hsoub.com/programming/os-embedded-systems/%D8%A7%D9%84%D8%A3%D8%AC%D9%87%D8%B2%D8%A9-%D8%A7%D9%84%D8%B7%D8%B1%D9%81%D9%8A%D8%A9-peripherals-%D9%88%D9%86%D9%88%D8%A7%D9%82%D9%84%D9%87%D8%A7-buses-%D9%81%D9%8A-%D9%85%D8%B9%D9%85%D8%A7%D8%B1%D9%8A%D8%A9-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8-r1721/" rel="">peripherals</a> المتصلة بالحاسوب، أي الأجهزة التي ترسل البيانات من وإلى الحاسوب مثل الفأرة ولوحة المفاتيح والطابعة والماسح الضوئي والكاميرا …إلخ. حيث يستخدم نظام التشغيل برنامجًا يسمى برنامج تشغيل الجهاز الطرفي ويكون لكل جهاز برنامج تشغيل خاص يتحكم بطريقة عمله.
</p>

<p>
	الجدير بالذكر أن معظم الأجهزة الطرفية اليوم تعمل وفق مبدأ التوصيل والتشغيل Plug &amp; Play أو اختصارًا PnP فكل ما على المستخدم فعله هو توصيل الجهاز بالمنفذ المناسب وسيتعرف عليه نظام التشغيل تلقائيًا ويقوم بإعداده وتحميل برامج التشغيل الصحيح له تلقائيًا وتخصيص الموارد المطلوبة له وتجهيزه للعمل دون أي تدخل من المستخدم.
</p>

<h3 id="-6">
	5. إدارة الذاكرة
</h3>

<p>
	يتولى نظام التشغيل مهمة إدارة الذاكرة ويوفر للمستخدم إمكانية تشغيل أكثر من برنامج في نفس الوقت أو العمل على أكثر من مستند في نفس الوقت، ويعتمد نظام التشغيل في تحقيق ذلك على عدة طرق ومنهجيات من أهمها منهجية تبديل الصفحات paging وفيها يتم تقسيم الذاكرة إلى كتل ذات حجم متساوي تعرف بالصفحات pages ويختلف حجم هذه الصفحات من نظام تشغيل لآخر.
</p>

<p>
	وعند تشغيل أي برنامج وتحميله في الذاكرة يحدد نظام التشغيل حجم الذاكرة التي يحتاجها هذا البرنامج ويخصص له عدد صفحات كافية تكفي لعمله وعند إغلاق البرنامج تحرر هذه الصفحات وتصبح متاحة للاستخدام من قبل البرامج الأخرى.
</p>


<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			هل ترغب في تصميم وتطوير برمجيات متقنة لأعمالك؟
		</p>

		<p class="banner-subtitle">
			وظّف مهندس برمجيات خبير من مستقل
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://mostaql.com/freelancers/software-engineer" rel="external">أضف مشروعك الآن</a>
		</div>
	</div>
</div>


<h3 id="-7">
	6. التحكم في أجهزة الإدخال والإخراج
</h3>

<p>
	من مهام نظام التشغيل الأساسية التحكم في أجهزة الإدخال والإخراج وإدارة طريقة استخدامها حيث يدير نظام التشغيل أجهزة الإدخال والإخراج بطرق مختلفة فهو يسجل كافة الأجهزة التي تطلب استخدام وحدة المعالجة المركزية CPU ويمكّنها من استخدامها بحسب أولوية الطلب.
</p>

<p>
	على سبيل المثال إذا أراد المستخدم الكتابة في مستند نصي وضغط على مفتاح ما على لوحة المفاتيح فيجب أن يعطى هذا الطلب مستعجل وله أولوية قصوى ويقاطع تنفيذ باقي العمليات ليظهر الحرف الذي كتبه مباشرة.
</p>

<h3 id="-8">
	7. إدارة العمليات
</h3>

<p>
	في بداية ظهور أنظمة التشغيل كان يسمح بتنفيذ عملية واحدة في الوقت الواحد وبالتالي كان بإمكان هذه العملية قيد التشغيل الاستفادة من كافة موارد النظام. والمقصود بالعملية أي جزء أو مهمة من برنامج أو تطبيق قيد التشغيل حاليًا والذي ينفذه معالج الحاسوب.
</p>

<p>
	لكن أنظمة التشغيل الحديثة التي تشغل الحواسيب الحالية تدعم تعدد العمليات أو تعدد المهام <a href="https://academy.hsoub.com/programming/c/%D8%A7%D9%84%D9%81%D8%B5%D9%84-%D8%A7%D9%84%D8%AB%D8%A7%D9%85%D9%86-%D8%AA%D8%B9%D8%AF%D8%AF-%D8%A7%D9%84%D9%85%D9%87%D8%A7%D9%85-multitasking-%D9%81%D9%8A-%D8%A7%D9%84%D8%AD%D9%88%D8%A7%D8%B3%D9%8A%D8%A8-r1011/" rel="">multitasking</a> أي أنها تشغل أكثر من عملية في وقت واحد لذا يحتاج نظام التشغيل لإدارة تشغيل هذه العمليات التي تتشارك نفس الموارد مثل المعالج ووحدة المعالجة المركزية CPU والذاكرة RAM ووحدات الإدخال والإخراج وغيرها وتنظيم عملية استخدامها باستخدام خوارزميات مخصصة.
</p>

<p>
	لهذا يتولى نظام التشغيل كل ما يتعلق بإدارة العمليات مثل إنشاءها، وتحديد ترتيب تنفيذها بناءً على أولوية معينة، وجدولتها، وإيقافها، والمزامنة بينها، وتخصيص الموارد المناسبة لكل منها، لضمان تشغيلها بشكل فعال يحقق أقصى استفادة من الموارد المتاحة.
</p>

<h3 id="-9">
	8. إدارة المستخدمين وصلاحيات وصولهم
</h3>

<p>
	تتيح أنظمة التشغيل الحالية مثل ويندوز ولينكس إنشاء عدة مستخدمين وإدارة حساباتهم ومنح كل مستخدم أذونات خاصة بها والتحكم في وصولهم للبيانات والبرامج بناءً على مستوى الصلاحيات والأذونات الممنوحة لهم وإنشاء جلسة لكل منهم كي يتفاعل مع نظام التشغيل، بخلاف نظام التشغيل المستخدم الواحد يمكن لمستخدم واحد فقط الوصول إلى الموارد وتنفيذ مهامه ومن الأمثلة عليه نظام MS-DOS.
</p>

<p>
	لذلك من مهام أنظمة التشغيل الأساسية اليوم <a href="https://academy.hsoub.com/apps/operating-systems/windows/%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85%D9%8A%D9%86-%D9%81%D9%8A-%D9%86%D8%B8%D8%A7%D9%85-windows-10-r292/" rel="">إدارة المستخدمين</a> المتعددين، وتمكين وصولهم إلى مجموعة من الأجهزة واستخدام مواردها في نفس الوقت، وتمكين أي مستخدم من مشاركة الملف الذي يعمل عليه ليكون قابلًا للوصول من قبل باقي المستخدمين والاهتمام بحماية بيانات المستخدمين وصلاحيات وصولهم.
</p>

<h3 id="-10">
	9. إدارة المعالجات
</h3>

<p>
	كانت معظم أنظمة التشغيل في بداية ظهور الحواسيب أنظمة ذات معالج واحد Single-processor systems أي أنها تحتوي على وحدة معالجة مركزية واحدة فقط، في حين تدعم معظم أنظمة التشغيل اليوم إمكانية استخدام أكثر من معالج واحد ويطلق عليها اسم الأنظمة متعددة المعالجات Multi-processor systems حيث يتولى نظام التشغيل في هذه الحالة إدارة هذه المعالجات التي تعمل معًا على التوازي في نفس جهاز الحاسوب ويوزع الموارد بينها بالشكل الأمثل.
</p>

<p>
	ملاحظة: هناك فرق بين تعدد المهام وتعدد المعالجات ففي حال تعدد العمليات يكون هناك معالج واحد يشغل برامج متعددة، ومن أبرز الأمثلة على تعدد المهام استخدام <a href="https://academy.hsoub.com/programming/c/%D8%A7%D9%84%D9%81%D8%B5%D9%84-%D8%A7%D9%84%D8%AA%D8%A7%D8%B3%D8%B9-%D9%85%D9%81%D9%87%D9%88%D9%85-%D8%A7%D9%84%D8%AE%D9%8A%D9%88%D8%B7-threads-%D9%81%D9%8A-%D8%B9%D9%85%D9%84%D9%8A%D8%A9-%D8%A7%D9%84%D9%85%D8%B9%D8%A7%D9%84%D8%AC%D8%A9-r1012/" rel="">مفهوم الخيوط المتعددة Multi-threading</a> في المعالجة، بينما في حال تعدد المعالجات يكون هناك عدة معالجات Multi-processing تشغل عمليات متعددة بهدف تحسين أداء النظام وموثوقيته وتحقيق سرعات تنفيذ عالية جدًا بتكلفة مناسبة.
</p>

<h3 id="-11">
	10. الحماية واكتشاف الأخطاء
</h3>

<p>
	يجب أن يحقق نظام التشغيل حماية وأمان جهاز الحاسوب ويراقب سير العمل، ويكتشف أي خطأ أو خلل قد يحدث في جهاز الحاسوب، ويفحص النظام بشكل دوري بحثًا عن أي تهديد خارجي أو محاولة اختراق أو نشاط برمجي ضار. كما يجب عليه أيضًا فحص كافة العتاد والأجهزة المتصلة بالحاسوب للتأكد من عدم وجود أي ضرر فيها وفي حال وجد أي طارئ أو ضرر يجب عرض تنبيه للمستخدم ويوجهه ليقوم باتخاذ الإجراء المناسب.
</p>

<p>
	كما يعمل نظام التشغيل على منع وصول أي مستخدم غير مصرح به لموارد الحاسوب ويمكّن المستخدمين الذين يملكون دور مسؤول من منح صلاحيات محددة للمستخدمين الآخرين على سبيل المثال يمكن منح صلاحية حذف الملفات أو تثبيت البرامج لمستخدمين معينين فقط وأن يتضمن مجموعة برامج مساعدة تساعد على حماية الحاسوب مثل برنامج جدار الحماية ومكافحة الفيروسات والتهديدات وبرامج التحديث التلقائي.
</p>


<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			ارفع كفاءة أنظمة التشغيل واجعلها آمنة مستقرة
		</p>

		<p class="banner-subtitle">
			احصل على حلول احترافية لأنظمة التشغيل بالاستعانة بأفضل خدمات أنظمة التشغيل على خمسات
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://khamsat.com/programming/os-software-support" rel="external">اطلب خدمتك الآن</a>
		</div>
	</div>
</div>


<h2 id="-12">
	الخلاصة
</h2>

<p>
	تعرفنا في مقالنا اليوم على أهمية نظام التشغيل ودوره الحيوي في الربط بين المستخدمين وعتاد الحاسوب ويتولى إدارة الجهاز وتوزيع الموارد بكفاءة، كما تعرفنا على أبرز مهام نظام التشغيل مثل إدارة الذاكرة والمعالج واكتشاف الأخطاء وإدارة المستخدمين وغيرها من الوظائف الأساسية التي تضمن عمل الحاسوب بسلاسة.
</p>

<h2 id="-13">
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/os-embedded-systems/%D8%AF%D9%88%D8%B1-%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-%D9%88%D8%AA%D9%86%D8%B8%D9%8A%D9%85%D9%87-%D9%81%D9%8A-%D9%85%D8%B9%D9%85%D8%A7%D8%B1%D9%8A%D8%A9-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8-r1723/" rel="">دور نظام التشغيل وتنظيمه في معمارية الحاسوب</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/apps/operating-systems/windows/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-%D9%88%D9%8A%D9%86%D8%AF%D9%88%D8%B2-11-%D9%88%D8%B7%D8%B1%D9%8A%D9%82%D8%A9-%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA%D9%87-r704/" rel="">مدخل إلى نظام التشغيل ويندوز 11 وطريقة تثبيته</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/linux/%D9%85%D8%A7-%D9%87%D9%88-%D9%86%D8%B8%D8%A7%D9%85-%D9%84%D9%8A%D9%86%D9%83%D8%B3-%D9%88%D9%84%D9%85%D8%A7%D8%B0%D8%A7-%D8%AA%D9%88%D8%AC%D8%AF-100-%D8%AA%D9%88%D8%B2%D9%8A%D8%B9%D8%A9-%D9%85%D9%86%D9%87%D8%9F-r698/" rel="">ما هو نظام لينكس ولماذا توجد 100 توزيعة منه؟</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/apps/operating-systems/windows/%D9%86%D8%B8%D8%B1%D8%A9-%D8%B9%D8%A7%D9%85%D8%A9-%D8%B9%D9%84%D9%89-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82-%D8%A3%D9%85%D9%86-%D9%88%D9%8A%D9%86%D8%AF%D9%88%D8%B2-%D8%A7%D9%84%D9%85%D8%B6%D9%85%D9%86-%D9%81%D9%8A-%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-11-windows-r736/" rel="">نظرة عامة على تطبيق أمن ويندوز المضمن في نظام التشغيل 11 Windows</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2205</guid><pubDate>Sun, 24 Dec 2023 16:07:00 +0000</pubDate></item><item><title>&#x635;&#x641;&#x62D;&#x627;&#x62A; &#x627;&#x644;&#x647;&#x628;&#x648;&#x637;: &#x643;&#x64A;&#x641; &#x62A;&#x639;&#x645;&#x644; &#x648;&#x623;&#x641;&#x636;&#x644; &#x645;&#x645;&#x627;&#x631;&#x633;&#x627;&#x62A; &#x627;&#x644;&#x62A;&#x635;&#x645;&#x64A;&#x645;</title><link>https://academy.hsoub.com/programming/general/%D8%B5%D9%81%D8%AD%D8%A7%D8%AA-%D8%A7%D9%84%D9%87%D8%A8%D9%88%D8%B7-%D9%83%D9%8A%D9%81-%D8%AA%D8%B9%D9%85%D9%84-%D9%88%D8%A3%D9%81%D8%B6%D9%84-%D9%85%D9%85%D8%A7%D8%B1%D8%B3%D8%A7%D8%AA-%D8%A7%D9%84%D8%AA%D8%B5%D9%85%D9%8A%D9%85-r2203/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_12/-------.png.6b5b949e52908a33963191560b5c68fa.png" /></p>
<p>
	يشيع استخدام مصطلح صفحة هبوط Landing Page لتسمية صفحات ويب محددة في مجال التجارة الإلكترونية وهي عادة تلك الصفحات التي تنقلنا إليها روابط دعائية أو صور المنتجات التي يجري تسويقها. ونظرًا لأهمية هذه الصفحات في عالم التسويق الإلكتروني والتجارة الإلكترونية، لابد من الاهتمام بتصميمها بأسلوب عصري فعّال قادر على جذب العميل وتوفير كل المعلومات التي يحتاجها بطريقة سهلة وواضحة، وهذا ما نهدف إليه في هذا المقال.
</p>

<h2 id="">
	ما هي صفحات الهبوط
</h2>

<p>
	صفحات الهبوط هي صفحات محددة ضمن موقع ويب أو <a href="https://academy.hsoub.com/entrepreneurship/ecommerce/%D8%AF%D9%84%D9%8A%D9%84%D9%83-%D9%84%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D9%85%D8%AA%D8%AC%D8%B1-%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A-%D9%86%D8%A7%D8%AC%D8%AD-r1025/" rel="">متجر إلكتروني</a> تخدم غاية واحدة تتمثل في تحويل الزائر إلى عميل أو إلى <a href="https://academy.hsoub.com/freelance/personal-branding/5-%D8%B7%D8%B1%D9%82-%D9%85%D8%B6%D9%85%D9%88%D9%86%D8%A9-%D9%84%D8%AA%D8%AD%D9%88%D9%8A%D9%84-%D8%A7%D9%84%D8%B9%D9%85%D9%84%D8%A7%D8%A1-%D8%A7%D9%84%D9%85%D8%AD%D8%AA%D9%85%D9%84%D9%8A%D9%86-%D8%A5%D9%84%D9%89-%D8%B9%D9%85%D9%84%D8%A7%D8%A1-%D8%B1%D8%A7%D8%A6%D8%B9%D9%8A%D9%86-r197/" rel="">عميل محتمل</a> عندما ينقر على رابط دعائي أو صورة منتج في نفس الموقع أو في مواقع أخرى ويقوده ذلك إلى هذه الصفحة. وحتى نقول أن صفحة ويب ما هي صفحة هبوط لا بد من توافر الميزات التالية فيها:
</p>

<ul>
	<li>
		أن تتمكن هذه الصفحة من الحصول على بيانات ومعلومات عن الزائر طواعية مقابل اطلاعه على العرض الذي تقدمه له، وقد يكون ذلك عن طريق ملء نموذج أو تنزيل استبيان والإجابة عليه ثم تحميله من جديد.
	</li>
	<li>
		أن يكون الغرض الوحيد من هذه الصفحة تحويل الزائر إلى عميل محتمل، لذلك لا بد من <a href="https://academy.hsoub.com/design/graphic/photoshop/%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D8%B5%D9%81%D8%AD%D8%A9-%D9%87%D8%A8%D9%88%D8%B7-landing-page-r41/" rel="">تصميم صفحة الهبوط</a> على هذا النحو دون أي تشويش على الهدف الرئيسي.
	</li>
</ul>

<h2 id="-1">
	كيف تعمل صفحات الهبوط
</h2>

<p>
	تبدأ العملية عندما يشاهد الزائر رابطًا إلى الصفحة ضمن موقع إلكتروني ما. قد يكون هذا الرابط صورة أو زر أو عبارة تدفع الزائر بأسلوب جذّاب للنقر عليه ويصل به الأمر إلى صفحة الهبوط (تُدعى هذه الصور أو الأزرار بمحفزات اتخاذ القرار Call Of Action). تضم صفحة الهبوط غالبًا شرحًا مقتضبًا عن الموضوع بخط جلي وأسلوب محفّز، مع وجود زر مميز يسترعي انتباه الزائر ويدفعه للنقر عليه. سيصل الأمر بالزائر بعد النقر إلى نموذج من حقول عدة يطلب منه ملؤها بالبيانات الشخصية، وقد تطلب منه الصفحة قبل النقر على الزر أن يضع بريده الإلكتروني، ولهذا الأمر أهميته لأنها تمكن صاحب الموقع من الحصول على البريد الإلكتروني للزائر إذا قرر لاحقًا عدم المتابعة في تقديم بياناته الشخصية.
</p>

<p>
	إن قدّم الزائر بياناته الشخصية أو بريده الإلكتروني على الأقل، فسترسل الصفحة هذه البيانات إلى التخزين ضمن قواعد بيانات العملاء والأدلاء lead database. وستكون الخطوة التالية استهداف هذا العميل المحتمل بعروض تتناسب مع بياناته، وخاصة عند تجميع معلومات عن نوع العروض التي تحفّز هذا الشخص. تُدعى هذه التقنية بتكوين العميل المحتمل lead nurture، والعميل المحتمل الذي هُيّئ بهذا الشكل، لن يستغرق وقتًا حتى يصبح عميلًا فعليًا وهذا ما سينعكس إيجابًا على أعمالك.
</p>

<p>
	ترى الفلسفة الكامنة وراء صفحات الهبوط أن تقديم لزائر بياناته طوعيًا للاطلاع على العرض المقدم في هذه الصفحة يدل على أهمية هذا المنتج أو الخدمة بالنسبة له، وهذه البيانات في المقابل قيّمة جدًا بالنسبة للمسوقين وستكون النتيجة ربحًا لكلا الطرفين.
</p>

<h2 id="-2">
	ما الفرق بين صفحات الهبوط والمواقع الإلكترونية
</h2>

<p>
	تتكون المواقع الإلكترونية مهما اختلفت أنواعها وحجومها والغاية منها من عدد محدود من <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%8A-%D8%B5%D9%81%D8%AD%D8%A7%D8%AA-%D8%A7%D9%84%D9%88%D9%8A%D8%A8%D8%9F-r2094/" rel="">صفحات الويب</a>، ولكل صفحة ويب هدف معين سواء كان عرض محتوى معين، أو التفاعل مع المستخدم، أو تقديم خدمة معينة. وصفحات الهبوط ليست استثناءً، فهي صفحات ويب تشبه تمامًا من ناحية التصميم والبرمجة بقية صفحات الويب لكنها تنفرد بوظيفة محددة وبالتالي يجب أن يراعي تصميمها هذه الميزة.
</p>

<p>
	تستخدم المواقع الإلكترونية وخاصة تلك التي تروّج للشركات والأعمال العديد من صفحات الهبوط، وعليك أن تفكّر بصفحات الهبوط في هذه الحالة بأنها جزء من الموقع قد يصله الزائرون دون الدخول إلى موقعك مباشرة بل عن طريق روابط خارجية لمتابعة عروضك الخاصة، فهي بمثابة بطاقات دعوة أو اشتراك من قبلك تقدمها لزوّارك بغية الحصول على بياناتهم <a href="https://academy.hsoub.com/entrepreneurship/ecommerce/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D9%88%D9%84%D8%A7%D8%A1-%D8%A7%D9%84%D8%B9%D9%85%D9%84%D8%A7%D8%A1-%D9%84%D9%84%D8%B9%D9%84%D8%A7%D9%85%D8%A9-%D8%A7%D9%84%D8%AA%D8%AC%D8%A7%D8%B1%D9%8A%D8%A9-r912/" rel="">وولائهم لعلامتك التجارية</a> ولمنتجاتك في مراحل قادمة.
</p>

<h2 id="-3">
	ما هي أنواع صفحات الهبوط
</h2>

<p>
	تنقسم صفحات الهبوط إلى ثلاثة أنواع رئيسية:
</p>

<ol>
	<li>
		صفحات هبوط مستقلة standalone كصفحات التمهيد click through وصفحات اصطياد العميل lead capture.
	</li>
	<li>
		المواقع المصغّرة microsites وهي مواقع صغيرة مكونة من عدة صفحات وتأتي عادة مكملة لموقع رئيسي.
	</li>
	<li>
		صفحات هبوط داخلية وهي صفحات هبوط تعريف بالمنتجات ضمن الموقع الإلكتروني نفسه.
	</li>
</ol>

<p>
	لنتعرف على أبرز مميزات الأنواع المختلفة لصفحات الهبوط والفرق بينها.
</p>

<h3 id="-4">
	صفحات التمهيد
</h3>

<p>
	تُعد صفحات التمهيد click through من أبسط أنواع صفحات الهبوط، وتكون غايتها الأساسية توضيح تفاصيل العرض المقدّم وميزاته بأسلوب قادر على إقناع الزائر اتخاذ قرار الشراء أو المشاركة. إذًا مهمتها فقط شرح العرض ثم النقر على الزر المخصص للانتقال بك إلى موقع الشركة لإكمال العملية.
</p>

<h3 id="-5">
	صفحات اصطياد العملاء
</h3>

<p>
	إن المهمة الأساسية لهذه الصفحات هي استخلاص بيانات الزوار وخاصة الاسم والبريد الإلكتروني لهذا تُعرف أحيانًا بصفحات العصر squeeze pages. تصمم هذه الصفحات بأسلوب يمنعك من التراجع إلى الصفحة السابقة ولا تضم أية روابط أو عناصر تنقل بل زر إرسال البيانات فقط. تستخدم الشركات هذا النمط من الصفحات لبناء قوائم بريد إلكتروني للعملاء المحتملين للعمل على تحويلهم إلى عملاء فعليين.
</p>

<h3 id="-6">
	صفحات الإعلانات
</h3>

<p>
	وهي بمثابة الأقنية الإعلامية لعالم التسويق الإلكتروني وتتميز بأنها مليئة بالإعلانات عن عروض كثيرة. إذ تستمر بالتمرير إلى الأسفل لتجد المزيد والمزيد من العروض وترى نفسك غارقًا في متابعة وقراءة شروحات ومزايا براقة تدفعك إلى معرفة المزيد عن هذا العرض. وحتى لو بدأت تشكك في مصداقيته، لكنك ستحاول معرفة نهاية العرض سواء لمجرد الفضول أو آملًا أن يكون العرض صحيحًا. قد تستخدم الشركات هذه النوع من الصفحات لكي تُعرف منتجاتها على أوسع نطاق.
</p>

<h3 id="-7">
	صفحات الهبوط سريعة الانتشار
</h3>

<p>
	تُستخدم صفحات الهبوط سريعة الإنتشار Viral land pages من قبل الشركات لنشر اسم الشركة ومنتجاتها ضمن أكبر قدر ممكن من المواقع. تضم هذه الصفحات عادة بعض الألعاب أو مقاطع الفيديو أو الطرائف الجميلة مع رابط إلى الشركة التي أنشأت هذه الصفحة على شكل شعار صغير أو مع عبارة تشير إلى دور الشركة في أسفل الصفحة. تنتشر هذه الصفحات بسرعة عن طريق تقديم محتوى خفيف ومميز ضمن مواقع يكثر متابعينها أو عن طريق إضافة روابط لمواقع التواصل الاجتماعي كي يتمكن معجبو هذه الصفحات بمشاركتها على أوسع نطاق ممكن.
</p>

<h3 id="-8">
	المواقع المصغرة
</h3>

<p>
	وهي مواقع جانبية تكمّل الموقع الرئيسي للشركة وتضم محتوىً خاصًا يتعلق بحملة إعلانية ولفترة محدودة. على الرغم من أنها تضم أكثر من صفحة لكنها تعد صفحات هبوط لأنها تستقطب الزوار والعملاء المحتملين من كل مكان ضمن شبكة ويب. وكمثال عليها صفحة هبوط لتعريف بمنتج جديد أو الدعاية لفرع محلي يقدم خدمات لعملاء الشركة وهكذا.
</p>

<p>
	تستخدم هذا النوع من صفحات الهبوط الكثير من الشركات المعروفة التي تهتم بتخصيص محتوى مميز لتسويق منتج أو خدمة.
</p>

<h3 id="-9">
	صفحات هبوط لعرض تفاصيل المنتج
</h3>

<p>
	وهي صفحات ويب نمطية ضمن موقع الويب تضم كل المعلومات المتعلقة بالمنتج الذي تسوّقه الشركة. فهي صفحات غير مخصصة كليًا للتعريف بالمنتج أو تقديم العرض بل هي جزء من الموقع لهذا لن تكلّف كثيرًا من ناحية التصميم لكنها ستضم بالتأكيد بعض المحتوى الذي يشتت تركيز الزائر كونها جزء من الموقع مثل الترويسة وأزرار التنقل.
</p>

<h2 id="-10">
	أفكار لتصميم وبناء صفحات هبوط ناجحة
</h2>

<p>
	إن الغاية الأساسية من صفحات الهبوط كما أسلفنا هي تحويل الزوار إلى عملاء، لهذا لا بد من الاهتمام ببعض التفاصيل عند بناء صفحات الهبوط نستعرضها في الفقرات القادمة.
</p>

<h3 id="1">
	1. استخدم عناوين ملفتة
</h3>

<p>
	لا بد من جذب انتباه الزائر مباشرة إلى العنوان الأساسي لصفحة الهبوط، فهو أول ما تقع عينا الزائر عليه عند وصوله إلى هذه الصفحة. فإن كان العنوان واضحًا ومشجعًا ومباشرًا سيدفع الزائر إلى إكمال قراءة العرض ليعرف التفاصيل ويزداد احتمال طلبه للعرض أو مشاركة الصفحة مع غيره. فإن كان عرضك هو حسم على منتج معين فاكتب عنوانًا ينص عن مقدار هذا الحسم وعلى أية منتج بخط كبير مستخدمًا لونًا يبرز العنوان بوضوح عن الخلفية مع بعض المساحات الفارغة حوله.
</p>

<h3 id="2">
	2. أعلم الزائر بفائدة عرضك مباشرة دون مواربة
</h3>

<p>
	عليك صياغة محتوى صفحة الهبوط صياغةً واضحةً تنقل فكرة عرضك والفوائد التي سيجنيها الزائر من المشاركة. لا تخبئ للزائر أية مفاجئات ولا تجعله يتخبط فيما يقرأ ولا تدع مجالًا للغموض في المفردات المستخدمة كأن تشير إلى تخفيضات مميزة دون ذكر قيمة هذه التخفيضات وأنواع المنتجات التي تُطبق عليها. حاول أن تستخدم قائمة من النقاط لتشرح عرضك باختصار لأن الزائر سيفقد اهتمامه بالصفحة إن وجد محتواها كثيفًا ولن يتابع القراءة بكل تأكيد.
</p>

<h3 id="3">
	3. فكر جيدا قبل تصميم نموذج استخلاص بيانات الزائر
</h3>

<p>
	النموذج هو مجموعة من الحقول التي يملؤها الزائر ببياناته ثم ينقر على زر الإرسال لتنقل هذه البيانات وتخزن في المكان المناسب. تأكد قبل كل شيء من نوع صفحة الهبوط، فإن كانت تمهيدية، لا تزد عدد حقول النموذج عن حقلين الأول للاسم والثاني للبريد الإلكتروني وإن استخدمت حقلًا واحدًا فقط للبريد الإلكتروني فهذا أفضل غالبًا. فإن قرر الزائر الانتقال إلى صفحة المشاركة في العرض، ليكن عدد حقول البيانات متناسبًا مع المرحلة التي وصل إليها الزائر في رحلة الشراء أو المشاركة. أي بعبارات أخرى لا تصدم الزائر بعدد كبير من الحقول التي عليه ملؤها، فسيؤدي ذلك إلى مغادرته دون المشاركة.
</p>

<h3 id="4">
	4. تحاشى استخدام قوائم التنقل والروابط إلى خارج الصفحة
</h3>

<p>
	قوائم التنقل هي أزرار تنقلك إلى الصفحة التالية أو السابقة، وبما أن الغاية الرئيسية من صفحات الهبوط هو أسر الزائر بالمحتوى أو العرض الذي توصله، لهذا فوجود مثل هذه القوائم ستشتت الزائر وقد تدفعه مباشرة إلى النقر عليها والخروج دون المشاركة. لا تضع مثل هذه القوائم أو أية روابط تسمح للزائر بالخروج من الصفحة سوى بالانتقال إلى المشاركة عن طريق النقر على زر أو رابط المشاركة CTA أو Call To Action وهذا ما يدفعه إلى قراءة العرض. فإما أن يتابع لأن العرض قد يعجبه، وإما أن يتابع ليجد طرقًا للخروج!
</p>

<h3 id="5">
	5. استخدم صور مناسبة
</h3>

<p>
	تأكد من استخدام صورة واضحة وملائمة لطبيعة العرض الذي تقدّمه كي تجذب انتباه الزائر. فأغلب الظن أن الزائر سيبقى أطول في صفحتك إن لفتت الصورة انتباهه وقدمت له تفاصيل سواء مرسومة أو مكتوبة بطريقة ملفتة.
</p>

<h3 id="6">
	6. استخدم أيقونات المشاركة على مواقع التواصل الاجتماعي
</h3>

<p>
	على الرغم من انها روابط بشكل أو بآخر إلا أنها مفيدة لمشاركة العرض مع آخرين ينشطون على مواقع التواصل الاجتماعي. لكن انتبه عند استخدام هذه الأيقونات بأن تفتح نافذة جديدة تقود مباشرة إلى مشاركة عرضك مع آخرين، لا أن تنقل الزائر من صفحتك إلى صفحة أخرى.
</p>

<h3 id="7">
	7. قد يفيدك استخدام شهادات الآخرين أو الإشارة إلى شركاء موثوقين
</h3>

<p>
	من الجيد أن تشتري شيئًا أو تترك بخدمة يشيد بها الآخرون بعد تجريبها، لهذا إن وجدت أن بعض الآراء التي تشيد ببعض مزايا منتجك مفيدة فافعل ذلك دون أن يكون الأمر فجًا. وإن كان منتجك قد حصل على جائزة ما أو شهادة جودة فمن الجي الإشارة إلى ذلك عن طريق صورة صغيرة معبرة أسفل العرض، كأن يكون منتجك قد حصل على شهادة ايزو للجودة مثلًا!
</p>

<h3 id="8">
	8. اجعل صفحة الهبوط متجاوبة واختبر صحة عملها
</h3>

<p>
	تأكد من أن الصفحة <a href="https://academy.hsoub.com/design/general/%D9%85%D9%82%D8%A7%D8%B1%D9%86%D8%A9-%D8%A8%D9%8A%D9%86-%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D8%A7%D9%84%D9%85%D8%AA%D9%83%D9%8A%D9%81-%D9%88%D8%A7%D9%84%D9%85%D8%AA%D8%AC%D8%A7%D9%88%D8%A8-r812/" rel="">متجاوبة مع الهواتف الجوالة</a> وأنها تعمل كما هو مطلوب وأن النقر على زر الدعوة لاتخاذ إجراء <a href="https://academy.hsoub.com/marketing/performance-marketing/%D9%85%D8%AC%D9%85%D9%88%D8%B9%D8%A9-%D9%88%D8%B5%D8%A7%D9%8A%D8%A7-%D9%84%D8%AA%D8%AD%D8%B3%D9%8A%D9%86-%D8%B9%D8%A8%D8%A7%D8%B1%D8%A7%D8%AA-%D8%A7%D9%84%D8%AF%D8%B9%D9%88%D8%A9-%D9%84%D8%A7%D8%AA%D8%AE%D8%A7%D8%B0-%D8%A5%D8%AC%D8%B1%D8%A7%D8%A1-cta-r506/" rel="">CTA</a> سينفّذ العمل المطلوب منه دون أخطاء فهو المفصل الأهم في صفحات الهبوط. من المهم أيضًا أن تبقى تفاصيل العرض كاملة واضحة ضمن صفحة واحدة كي لا يضطر الزائر إلى التنقل نحو الأسفل لمتابعة القراءة فهذا سيسبب إلهاءً له، ونستثني من ذلك صفحات الإعلانات فهي مخصصة لهذا الغرض. وأخيرًا، ابق صفحة الهبوط ظاهرة بأكملها على شاشة جهاز المستخدم لا أن يكون جزءًا منها فقط ظاهرًا. لهذا السبب لابد من تصميم صفحة الهبوط بشكل متجاوب أي أن تتمكن من عرضها جيدًا على أي جهاز قد يستخدمه الزائر سواء حاسوب أو هاتف محمول.
</p>

<h2 id="-11">
	كيف تصمم صفحة هبوط
</h2>

<p>
	يتعلق جواب هذا السؤال بك أولًا وأخيرًا، فإن كان هدفك استخدام قوالب جاهزة وتعديلها بما يناسبك حاجتك، ستجد ضالتك في الكثير من التطبيقات التي تساعدك على ذلك. أما إن أردت أن تحترف بناء صفحات الهبوط وتكون قادرًا على التعبير عن أفكارك بكل حرية وصولًا إلى مرحلة تصميم وبناء قوالب الصفحات وبيعها فعليك أن تتعلم تصميم صفحات الويب.
</p>

<h3 id="-12">
	استخدام تطبيقات لبناء صفحات الهبوط
</h3>

<p>
	ستجد الكثير من تطبيقات أو مواقع ويب أو تطبيقات سطح المكتب التي تساعدك على بناء صفحة هبوط تشمل:
</p>

<ul>
	<li>
		صفحات لترقب العروض.
	</li>
	<li>
		صفحات لعرض منتجات.
	</li>
	<li>
		صفحات لتنسيق المناسبات والمؤتمرات والأحداث.
	</li>
	<li>
		قوالب جاهزة لنماذج استخلاص بيانات الزوار.
	</li>
	<li>
		قوالب جاهزة لتحضير صفحات الهبوط التمهيدية.
	</li>
</ul>

<p>
	تأتي الكثير من هذه التطبيقات مع واجهة مستخدم سهلة التعلم والاستخدام وتتيح عروض مجانية لاستضافة هذه الصفحات لكنها بالطبع محدودة من ناحية عدد الصفحات أو حجمها.
</p>

<p>
	نذكر من هذه التطبيقات Wix و SITE123 و Jimdo و ConvertKit و Carrd و ConvertFlow و Canava وغيرها الكثير.
</p>

<h3 id="-13">
	تصميم وبناء صفحات الهبوط من الصفر
</h3>

<p>
	قد لا تتيح لك التطبيقات والقوالب الجاهزة جميع الإمكانات التي تتوقعها أو تطمح في تصميمها لإيصال أفكارك بالطريقة التي تريدها، لهذا لا بد من تعلم <a href="https://academy.hsoub.com/programming/html/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D9%88%D8%AA%D9%86%D8%B3%D9%8A%D9%82-%D8%B5%D9%81%D8%AD%D8%A9-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D8%A7%D9%84%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A9-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%AA%D8%B9%D9%84%D9%8A%D9%85%D8%A7%D8%AA-html-r1908/" rel="">تصميم وتنسيق صفحات الويب</a>. كما يتيح لك تعلم أساسيات <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D8%A3%D9%85%D8%A7%D9%85%D9%8A%D8%A9-frontend-web-development/" rel="">تطوير الواجهات الأمامية</a> لموقع الويب (واجهات المستخدم) الخبرات والأدوات اللازمة لتصمم وتبني أقوى وأفضل صفحات الهبوط ولن تجد بعدها صعوبة في تطبيق جميع الأفكار التصميمية التي تعزز عمل صفحاتك وتجعلها احترافية.
</p>

<h3 id="-14">
	تعلم تصميم صفحات الويب وصفحات الهبوط عبر أكاديمية حسوب
</h3>

<p>
	تقدم أكاديمية حسوب دورة تطوير واجهات المستخدم والموجّه إلى الراغبين في دخول عالم تصميم وبرمجة واجهات المستخدم من الصفر دون الحاجة لخبرة مسبقة على مدى 66 ساعة فيديو تدريبية مع متابعة مستمرة لتطور مسيرتك من قبل مشرفين مختصين وتحصل في نهاية مسارات الدورة على شهادة معتمدة من أكاديمية حسوب.
</p>

<p>
	تعتمد الدورة على التطبيق العملي لبناء مشاريع حقيقية حتى تصبح مؤهلًا كمطوّر واجهات مستخدم وصفحات ويب وصفحات هبوط ومتاجر إلكترونية محترف.
</p>

<p>
	تضم الدورة المسارات التالية:
</p>

<ul>
	<li>
		أساسيات تطوير ويب.
	</li>
	<li>
		بناء واجهة مستخدم متطورة تشبه واجهة موقع YouTube.
	</li>
	<li>
		بناء صفحات الهبوط.
	</li>
	<li>
		تطوير متجر إلكتروني.
	</li>
	<li>
		تطوير موقع شركة.
	</li>
	<li>
		تطوير لوحة تحكم بالموقع.
	</li>
</ul>

<p>
	فإن كنت لا تمتلك خبرة مسبقة في مجال تطوير المواقع وواجهات المستخدم وصفحات الهبوط وتريد الانطلاق بثقة، أو كنت تمتلك خبرة بسيطة وترغب في صقل مهاراتك بالتعلّم الذاتي فهذه الدورة هي الخيار المثالي لك.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="442" id="ips_uid_3017_5" src="https://academy.hsoub.com/applications/core/interface/index.html" title="دورة تطوير واجهات المستخدم UI - أكاديمية حسوب" width="786" data-embed-src="https://www.youtube.com/embed/habGCxz4LXs"></iframe>
</p>

<h2 id="-15">
	خاتمة
</h2>

<p>
	صفحات الهبوط هي صفحات ويب بميزات خاصة تساعد على ترويج منتجاتك التجارية وخدماتك من جهة وتوفير قاعدة بيانات تضم معلومات عن الزوار المهتمين بالعروض التي تقدمها وطبيعة ونوع هذه العروض وبالتالي ستتمكن من العمل بطريقة منهجية لكي تحولهم إلى عملاء.
</p>

<p>
	تحدثنا في هذا المقال عن أنواع صفحات الهبوط وكيف يعمل كل منها وتحدثنا عن أهم الممارسات التي يجب تعودها عند تصميم صفحات الهبوط والطرق المتاحة لتصميم صفحاتك سواء باستخدام تطبيقات جاهزة أو بتعلم تصميم صفحات الويب لتكون قادرًا على إيصال منتجاتك إلى أوسع شريحة من المهتمين وتزيد الوعي بعلامتك التجارية.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/design/general/9-%D9%85%D8%A8%D8%A7%D8%AF%D8%A6-%D9%84%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D8%B5%D9%81%D8%AD%D8%A9-%D9%87%D8%A8%D9%88%D8%B7-%D8%A7%D8%AD%D8%AA%D8%B1%D8%A7%D9%81%D9%8A%D8%A9-r74/" rel="">9 مبادئ لتصميم صفحة هبوط احترافية</a><span style="display: none;"> </span>
	</li>
	<li>
		<a href="https://academy.hsoub.com/marketing/email-marketing/%D9%84%D9%85%D8%A7%D8%B0%D8%A7-%D9%8A%D8%AC%D8%A8-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%B5%D9%81%D8%AD%D8%A7%D8%AA-%D8%A7%D9%84%D9%87%D8%A8%D9%88%D8%B7-%D9%81%D9%8A-%D8%A7%D9%84%D8%AA%D8%B3%D9%88%D9%8A%D9%82-%D8%B9%D8%A8%D8%B1-%D8%A7%D9%84%D8%A8%D8%B1%D9%8A%D8%AF-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A%D8%9F-r664/" rel="">لماذا يجب استخدام صفحات الهبوط في التسويق عبر البريد الإلكتروني؟</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/design/user-interface/%D9%85%D8%A7-%D8%A7%D9%84%D9%81%D8%B1%D9%82-%D8%A8%D9%8A%D9%86-%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D8%A7%D9%84%D9%85%D9%88%D8%A7%D9%82%D8%B9-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A%D8%A9-%D9%88%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%85%D9%88%D8%A7%D9%82%D8%B9-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A%D8%A9%D8%9F-r828/" rel="">ما الفرق بين تصميم المواقع الإلكترونية وتطوير المواقع الإلكترونية؟</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/marketing/inbound-marketing/%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D9%85%D9%88%D8%A7%D9%82%D8%B9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D9%88%D8%B5%D9%81%D8%AD%D8%A7%D8%AA-%D8%A7%D9%84%D9%87%D8%A8%D9%88%D8%B7-%D9%84%D8%A5%D9%86%D8%AC%D8%A7%D8%AD-%D8%A7%D9%84%D8%AA%D8%B3%D9%88%D9%8A%D9%82-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A-r581/" rel="">تصميم مواقع الإنترنت وصفحات الهبوط لإنجاح التسويق الإلكتروني</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2203</guid><pubDate>Fri, 22 Dec 2023 11:02:00 +0000</pubDate></item><item><title>&#x645;&#x642;&#x62F;&#x645;&#x629; &#x625;&#x644;&#x649; GraphQL</title><link>https://academy.hsoub.com/programming/general/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-graphql-r2208/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_12/--GraphQL.png.1d07e6ebcac70bb4e8ff06036410cb86.png" /></p>
<p>
	يزداد الاعتماد على <span ipsnoautolink="true">التطبيقات الذكية</span> في جوانب حياتنا يومًا بعد يوم، ومع هذا الانتشار يزداد تعقيدها، وتتشعب وظائفها، فتصبح الحاجة ملحةً أكثر لابتكار تقنيات جديدة تحسِّن التفاعل بين خوادم التطبيقات والعملاء، ولعل أبرزها في السنوات الأخيرة <span ipsnoautolink="true">GraphQL</span>، وهي لغة استعلام مفتوحة المصدر <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-api-r1314/" rel="">لواجهات برمجة التطبيقات APIs</a> وبيئة تشغيل لتنفيذ الاستعلامات، طورتها شركة فيسبوك Facebook في عام 2012 بهدف التغلب على نقاط الضعف في بنية REST التقليدية، وطرحتها للاستخدام العام في 2015، وأكثر ما يميز GraphQL جودة أدائها وكونها لغة تصريحية declarative وموجهة كليًا لتلبية طلبات العميل وما يحتاجه حقًا من معلومات.
</p>

<p>
	فما هي مفاهيم GraphQL الأساسية؟ وما أوجه التشابه والاختلاف بينها وبين REST؟
</p>

<h2 id="graphql">
	ما هي GraphQL؟
</h2>

<p>
	<a href="https://graphql.org/" rel="external nofollow">GraphQL</a> هي اختصار للعبارة Graph Query Language وتعني لغة استعلام بيانية، وهي مختلفة قليلًا عن لغات الاستعلام الأخرى مثل <a href="https://academy.hsoub.com/programming/sql/" rel="">SQL</a> وغيرها، فهي لا تتخاطب مع قاعدة بياناتك مباشرةً إنما تصف نموذج التواصل بين العميل وخادم واجهة برمجة التطبيقات <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-api-r1314/" rel=""><abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr></a>، ولديها <a href="https://spec.graphql.org/" rel="external nofollow">مجموعة مواصفات قياسية</a> بمثابة معيار موحد يحدد خصائصها وقواعد استخدامها، وبما أنك تتبع مواصفات GraphQL، فيمكنك استخدامها مع أي <a href="https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">لغة برمجة</a>، ومع أي <a href="https://academy.hsoub.com/devops/servers/databases/%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-database/" rel="">قاعدة بيانات</a>، ومع جميع أنواع العملاء إذا كانوا قادمين من تطبيق ويب أو تطبيق هاتف محمول، فهي كما ذكرنا مفتوحة المصدر لا تقتصر على أنواع معينة. يُعد <a href="https://www.apollographql.com/" rel="external nofollow">Apollo GraphQL</a> من أشهر تطبيقات خادم وعميل GraphQL التجارية وأكثرها انتشارًا بين المطورين، وستجد في <a href="https://academy.hsoub.com/programming/javascript/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D9%85%D9%83%D8%AA%D8%A8%D8%A9-graphql-%D9%88%D8%A7%D8%B3%D8%AA%D8%B9%D9%85%D8%A7%D9%84%D8%A7%D8%AA%D9%87%D8%A7-%D9%81%D9%8A-%D8%A8%D9%86%D8%A7%D8%A1-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D8%A7%D9%84%D8%AD%D8%AF%D9%8A%D8%AB%D8%A9-r1208/" rel="">هذا المقال</a> على أكاديمية حسوب مثالًا عمليًّا عن طريقة بنائه.
</p>

<h2 id="graphql-1">
	خصائص GraphQL
</h2>

<p>
	سنعرض بعضًا من خصائص GraphQL الأساسية، مثل: استعلاماتها التصريحية declarative والهرمية hierarchical، وكونها ذات قواعد صارمة في التعامل مع <a href="https://academy.hsoub.com/programming/general/%D8%AF%D9%84%D9%8A%D9%84%D9%83-%D8%A7%D9%84%D8%B4%D8%A7%D9%85%D9%84-%D8%A5%D9%84%D9%89-%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-r1726/" rel="">أنواع البيانات</a> strongly-typed، وأيضًا استقرائية introspective تسمح بالكشف عن مواصفات مخططاتها الداخلية Schema ليستفيد منها طالب الاستعلام.
</p>

<h3 id="declarative">
	تصريحية Declarative
</h3>

<p>
	تعني التصريحية أن العميل سيحدد أو يصرح عن الحقول التي يريد الاستعلام عنها فقط ويطلبها من الخادم، والخادم بدوره سيرجعها هي بالذات دون أي معلومات إضافية. ألقِ نظرةً على المثال التالي لإيضاح الأمر.
</p>

<p>
	لنفترض أنك تطلب <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-api-r1314/" rel="">واجهة برمجية <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr></a> للعبة ما وتستعلم عن حقول محددة لأحد شخصياتها، على سبيل المثال الاسم <code>name</code> والتصنيف <code>race</code> لشخصية المحارب <code>warrior</code> صاحب المعرف رقم <code>"1"</code>، فسيكون الطلب وفق الآتي:
</p>

<pre class="ipsCode" id="ips_uid_5836_17">{
  warrior(id: "1") {
    name
    race
  }
}</pre>

<p>
	ستعيد الاستجابة المُعادة من تنسيق <a href="https://academy.hsoub.com/programming/javascript/%D9%83%D9%8A%D9%81-%D8%AA%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-json-%D9%81%D9%8A-javascript-r548/" rel="">JSON </a> كائنًا لنسميه <code>data</code> يتضمن الحقلين المطلوبين فقط من بيانات المحارب رقم <code>"1"</code>:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_7711_7" style=""><span class="pun">{</span><span class="pln">
  </span><span class="str">"data"</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="str">"warrior"</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      </span><span class="str">"name"</span><span class="pun">:</span><span class="pln"> </span><span class="str">"Merlin"</span><span class="pun">,</span><span class="pln">
      </span><span class="str">"race"</span><span class="pun">:</span><span class="pln"> </span><span class="str">"HUMAN"</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span></pre>

<p>
	تتضمن هذه الاستجابة ما يطلبه العميل فقط دون زيادة أو نقصان وتمنح تطبيقك كفاءةً أعلى وأداءً أفضل على الشبكة موازنةً ببدائل GraphQL الأخرى مثل REST التي تُعيد للعميل كامل بيانات العنصر المُستَعلم عنه فتسبب ضغطًا على الشبكة.
</p>

<h3 id="hierarchical">
	هرمية Hierarchical
</h3>

<p>
	يمكنك طلب استعلامات هرمية من GraphQL أي الاستعلام عن أصل وفروعه، وستصلك البيانات المعادة من الخادم بنفس الهرمية التي طلبتها؛ فطلب الاستعلام يحدد شكل الاستجابة. لو عُدنا للمثال السابق واستبدلنا الاستعلام عن اسم المحارب وتصنيفه بالاستعلام عن اسمه وأسلحته<code>weapons</code> وبالتحديد عن اسم كل سلاح <code>name</code> ودرجة قوته الهجومية <code>attack</code>:
</p>

<pre class="ipsCode">{
  warrior(id: "1") {
    name
    weapons {
      name
      attack
    }
  }
}
</pre>

<p>
	ستتضمن الاستجابة الآن اسم المحارب ومصفوفة كائنات الأسلحة <code>weapons</code> مرتبةً كما طلبناها في الاستعلام <code>warrior</code>، وقد استطاعت GraphQL إحضارها بطلب استعلام واحد فقط، رغم أن بيانات الأسلحة ومقاتلي اللعبة تكون مخزنة غالبًا في جداول منفصلة ضمن قاعدة البيانات وهذه نقطة قوتها. نذكرك هنا أن GraphQL ليست معنية مطلقًا بطريقة تخزين البيانات في قاعدة البيانات إنما بتحديد نموذج الاستعلام فقط.
</p>

<p>
	ألقِ نظرةً على الاستجابة الهرمية لاستعلامنا:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_7711_9" style=""><span class="pun">{</span><span class="pln">
    </span><span class="str">"data"</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="str">"warrior"</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="str">"name"</span><span class="pun">:</span><span class="pln"> </span><span class="str">"Merlin"</span><span class="pun">,</span><span class="pln">
            </span><span class="str">"weapons"</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
                </span><span class="pun">{</span><span class="pln">
                    </span><span class="str">"name"</span><span class="pun">:</span><span class="pln"> </span><span class="str">"Sword"</span><span class="pun">,</span><span class="pln">
                    </span><span class="str">"attack"</span><span class="pun">:</span><span class="pln"> </span><span class="lit">4</span><span class="pln">
                </span><span class="pun">},</span><span class="pln">
                </span><span class="pun">{</span><span class="pln">
                    </span><span class="str">"name"</span><span class="pun">:</span><span class="pln"> </span><span class="str">"Bow"</span><span class="pun">,</span><span class="pln">
                    </span><span class="str">"attack"</span><span class="pun">:</span><span class="pln"> </span><span class="lit">3</span><span class="pln">
                </span><span class="pun">},</span><span class="pln">
                </span><span class="pun">{</span><span class="pln">
                    </span><span class="str">"name"</span><span class="pun">:</span><span class="pln"> </span><span class="str">"Axe"</span><span class="pun">,</span><span class="pln">
                    </span><span class="str">"attack"</span><span class="pun">:</span><span class="pln"> </span><span class="lit">2</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">]</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span></pre>

<h3 id="stronglytyped">
	صارمة في تحديد الأنواع Strongly-typed
</h3>

<p>
	توصف GraphQL بأنها صارمة في التعامل مع أنواع البيانات، ولديها نظام خاص لتحديد الأنواع يسمى <a href="https://spec.graphql.org/June2018/#sec-Type-System" rel="external nofollow">نظام النوع</a>، يصف إمكانات الخادم أي أنواع البيانات التي يقبلها، وتتدرج من البيانات المفردة Scalars وهي بيانات أولية، مثل: الأعداد الصحيحة والسلاسل النصية والقيم المنطقية، وصولًا إلى أنواع البيانات المعقدة مثل الكائنات التي تتكون من مجموعة حقول من البيانات الأولية.
</p>

<p>
	يبين المثال التالي إنشاء نوع في مخطط GraphQL اسمه <code>Weapon</code>، وهو كائن يمتلك حقولًا أولية من نوع نص <code>String</code> وعدد صحيح <code>Int</code>:
</p>

<pre class="ipsCode">type Weapon{
  name: String!
  attack: Int
  range: Int
}
</pre>

<p>
	إذًا، نظام النوع هو المسؤول عن صحة تعريف مخطط GraphQL، ويُقيّم الخادم بواسطته إذا كان طلب الاستعلام الذي كتبته مقبولًا أم لا قبل تنفيذه، ثم يُخضِعه <a href="https://spec.graphql.org/June2018/#sec-Validation" rel="external nofollow">للتحقق</a> للتأكد من سلامته قواعديًا وخلوه من الأخطاء.
</p>

<h3 id="selfdocumenting">
	ذاتية التوثيق Self-documenting
</h3>

<p>
	يدعم خادم GraphQL خاصية <a href="https://spec.graphql.org/June2018/#sec-Introspection" rel="external nofollow">الاستقراء Introspection</a>، وهذا يعطي عملاءه والبرامج المتصلة معه القدرة على استقراء مخططاته الداخلية والاستعلام عن بنيتها، ويُسهل أيضًا تطوير أدوات مساعدة للتعامل معه نحو <a href="https://github.com/graphql/graphiql" rel="external nofollow">GraphiQL</a> التي توفر بيئة تطوير متكاملة IDE وبيئة تجريبية Playground تعمل ضمن المتصفح، وغيرها من أدوات التوثيق الآلية.
</p>

<p>
	هذا مثال بسيط عن استخدام الاستقراء لاستكشاف معلومات إضافية عن النوع <code>Weapon</code> باستعمال الكلمة المفتاحية <code>schema__</code>:
</p>

<pre class="ipsCode">{
  __schema {
    types {
      name
      kind
      description
    }
  }
}
</pre>

<p>
	سيجيبك خادم GraphQL بصيغة JSON المعتادة وفق الآتي:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_7711_11" style=""><span class="pun">{</span><span class="pln">
  </span><span class="str">"data"</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="str">"__schema"</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      </span><span class="str">"types"</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
        </span><span class="pun">{</span><span class="pln">
          </span><span class="str">"name"</span><span class="pun">:</span><span class="pln"> </span><span class="str">"Weapon"</span><span class="pun">,</span><span class="pln">
          </span><span class="str">"kind"</span><span class="pun">:</span><span class="pln"> </span><span class="str">"OBJECT"</span><span class="pun">,</span><span class="pln">
          </span><span class="str">"description"</span><span class="pun">:</span><span class="pln"> </span><span class="str">"A powerful weapon that a warrior can use to defeat enemies."</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
      </span><span class="pun">]</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span></pre>

<h3 id="clientdriven">
	موجهة بطلبات العميل Client-driven
</h3>

<p>
	يتركز جُلّ عمل المطور عند بناء GraphQL <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr> في الواجهة الخلفية، فيُعرّف المخطط schema وينفّذه، ويهيئ نقطة الوصول الوحيدة endpoint مع الواجهة البرمجية التي تًميّز GraphQL عن غيره وتُعدّ نقطة قوته، أما من طرف العميل فيمكنه طلب البيانات التي يريدها بدقة عبر الاستعلامات التصريحية، ومهما تغيرت مواصفات الاستعلامات، يستطيع مطور الواجهة الأمامية مواكبتها وإنجاز تصاميم تكرارية سريعة لتطبيقه دون أي تعديل إضافي على الواجهة الخلفية.
</p>

<h2 id="graphql-2">
	بنية GraphQL
</h2>

<p>
	يعمل GraphQL في طبقة التطبيقات Application layer وسيطًا بين العميل والبيانات، إذ يصف خادم GraphQL إمكانات الاستعلام التي تتيحها الواجهة البرمجية <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr>، ويحدد العميل متطلبات طلب الاستعلام حسب احتياجه.
</p>

<h3 id="server">
	الخادم Server
</h3>

<p>
	يعمل GraphQL في طبقة التطبيق، وهو غير مرتبط ببروتوكول نقل محدد، لكنه يستخدم غالبًا بروتوكول <a href="https://academy.hsoub.com/programming/general/%d9%85%d8%af%d8%ae%d9%84-%d8%a5%d9%84%d9%89-http-r73/" rel="">HTTP</a>، ولديه نقطة اتصال وحيدة تسمى عادةً <code>graphql/</code> وتتيح الوصول لكل موارد الخادم.
</p>

<p>
	يمكنك برمجة خادم GraphQL بأي لغة برمجة، فعلى سبيل المثال تساعدك البرمجية الوسيطة <a href="https://github.com/graphql/express-graphql" rel="external nofollow">express-graphql</a> على إنشاء GraphQL <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr> على خادم Express HTTP في بيئة Node؛ وفيما يخص قواعد البيانات فلا يقتصر خادم GraphQL على نوعٍ محدد منها، إذ يمكنه التعامل مع البيانات المخزنة في <a href="https://academy.hsoub.com/devops/servers/databases/mysql/" rel="">MySQL</a> أو <a href="https://academy.hsoub.com/devops/servers/databases/postgresql/" rel="">PostgreSQL</a> أو <a href="https://academy.hsoub.com/devops/servers/databases/mongodb/" rel="">MongoDB</a> أو حتى القادمة من مصادر أخرى عبر نقاط اتصال لواجهات REST التقليدية، فالمهم في الأمر أن تُعرّف البيانات في مخطط GraphQL صحيح يبين الاستعلامات التي يستطيع العميل طلبها من الواجهة البرمجية <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr>.
</p>

<h3 id="client">
	العميل Client
</h3>

<p>
	تدعى الطلبات المرسلة من عميل GraphQL إلى الخادم بالمستندات documents، وقد تكون طلبات قراءة فقط أي استعلامات، أو طلبات كتابة تسبب تعديلًا على البيانات وهذه تسمى طفرات mutations.
</p>

<p>
	يمكنك توجيهها بطلب <a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest" rel="external nofollow"><code>XMLHttpRequest</code></a> بسيط، أو بعملية <a href="https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API" rel="external nofollow"><code>fetch</code></a> لجلب البيانات من متصفح الويب، أو بالاعتماد على أدوات عميل متقدمة نحو <a href="https://github.com/apollographql/apollo-client" rel="external nofollow">عميل Apollo</a> أو <a href="https://relay.dev/" rel="external nofollow">ريلي</a> فيسبوك التي تقدم لك مميزات مختلفة مثل التخزين المؤقت.
</p>

<p>
	إليك مثال لاستخدام الدالة <code>fetch</code> في جلب البيانات من نقطة الوصول <code>graphql/</code>، وقد مُرِّر مستند GraphQL بهيئة سلسلة نصية ضمن متن الطلب <code>POST</code>:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_5836_23" style=""><span class="kwd">async</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> fetchwarriors</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
  </span><span class="kwd">const</span><span class="pln"> response </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">await</span><span class="pln"> fetch</span><span class="pun">(</span><span class="str">'/graphql'</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    method</span><span class="pun">:</span><span class="pln"> </span><span class="str">'POST'</span><span class="pun">,</span><span class="pln">
    headers</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      </span><span class="str">'Content-Type'</span><span class="pun">:</span><span class="pln"> </span><span class="str">'application/json'</span><span class="pun">,</span><span class="pln">
    </span><span class="pun">},</span><span class="pln">
    body</span><span class="pun">:</span><span class="pln"> JSON</span><span class="pun">.</span><span class="pln">stringify</span><span class="pun">({</span><span class="pln">
      query</span><span class="pun">:</span><span class="pln"> </span><span class="pun">`{</span><span class="pln">
    warriors </span><span class="pun">{</span><span class="pln">
      id
      name
    </span><span class="pun">},</span><span class="pln">
  </span><span class="pun">}`,</span><span class="pln">
    </span><span class="pun">}),</span><span class="pln">
  </span><span class="pun">})</span><span class="pln">
  </span><span class="kwd">const</span><span class="pln"> warriors </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">await</span><span class="pln"> response</span><span class="pun">.</span><span class="pln">json</span><span class="pun">()</span><span class="pln">

  </span><span class="kwd">return</span><span class="pln"> warriors
</span><span class="pun">}</span><span class="pln">

fetchwarriors</span><span class="pun">()</span></pre>

<p>
	وهذه هي الاستجابة:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_7711_13" style=""><span class="pun">{</span><span class="pln">
  </span><span class="str">"data"</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="str">"warriors"</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
      </span><span class="pun">{</span><span class="pln"> </span><span class="str">"id"</span><span class="pun">:</span><span class="pln"> </span><span class="str">"1"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"name"</span><span class="pun">:</span><span class="pln"> </span><span class="str">"Merlin"</span><span class="pln"> </span><span class="pun">},</span><span class="pln">
      </span><span class="pun">{</span><span class="pln"> </span><span class="str">"id"</span><span class="pun">:</span><span class="pln"> </span><span class="str">"2"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"name"</span><span class="pun">:</span><span class="pln"> </span><span class="str">"Gandalf"</span><span class="pln"> </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">]</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span></pre>

<h2 id="graphqlrest">
	مقارنة بين GraphQL و REST
</h2>

<p>
	كلاهما يعملان للهدف نفسه، وهو تبادل البيانات بين تطبيقات مختلفة؛ إذ عرّفنا GraphQL في بداية المقال على أنها لغة استعلام بيانية وبيئة تشغيل لتنفيذ الاستعلامات؛ أما REST فهي اختصارٌ للعبارة Representational State Transfer وهي معمارية شهيرة لمشاركة البيانات عبر الويب، و <a href="https://academy.hsoub.com/programming/general/%D8%B4%D8%B1%D8%AD-%D9%81%D9%84%D8%B3%D9%81%D8%A9-restful-%D8%AA%D8%B9%D9%84%D9%85-%D9%83%D9%8A%D9%81-%D8%AA%D8%A8%D9%86%D9%8A-%D9%88%D8%A7%D8%AC%D9%87%D8%A7%D8%AA-rest-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-r635/" rel="">RESTful <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr></a> هي واجهة برمجة تطبيقات تتبع معايير REST، مثل: انعدام الحالة stateless، وقابلية التخزين في ذاكرة التخزين المخبئية <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%88-%D8%A7%D9%84%D9%83%D8%A7%D8%B4-cache%D8%9F-r2050/" rel="">Cache</a>، واستقلال التقنيات المستخدمة في جانبي العميل والخادم عن بعضها، إضافةً إلى الواجهة المعيارية الموحدة التي تستخدم معرفات فريدة مثل عناوين URIs وغيرها.
</p>

<p>
	تُعد GraphQL أحدث من REST وقد بُنيت في الأساس لمعالجة نقاط ضعفها بإنشاء واجهة <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr> عالية الكفاءة وموجهة للعميل. لنبدأ الآن الموازنة بينهما لنعرف مزايا وعيوب كل تقنية:
</p>

<ul>
	<li>
		<p>
			<strong>البنية</strong>: تحتوي بنية REST نقاط وصول متعددة للتخاطب مع الخادم، أما GraphQL فتستخدم نقطة وصول وحيدة، وستعطيك مخططًا للبيانات التي طلبتها باستعلام واحد مهما كانت معقدة ومتشعبة، أما في REST فستحتاج عددًا من الاستعلامات للحصول على البيانات المتشعبة نفسها. إذًا، تتفوق GraphQL على REST في تخفيف الضغط على الشبكة.
		</p>
	</li>
	<li>
		<p>
			<strong>جلب البيانات</strong>: عندما تستعلم عن تفصيل ما من واجهة REST تجيبك بأكثر مما طلبت، وترسل لك مجموعة البيانات المرتبطة بهذا التفصيل كاملةً كما هي معرفة على الخادم، حتى لو كنت تحتاج رقمًا واحدًا منها فقط، وفي حالاتٍ أخرى لا تكون استجابتها كافية، فعلى سبيل المثال قد لا تعطيك نقطة الوصول الخاصة بقائمة ما على الخادم جميع الخصائص التي تريد معرفتها عن القائمة فستحتاج نقاط أخرى معها أيضًا، بينما تخلصك GraphQL باستعلاماتها التصريحية من هذا الإفراط أو التقصير في جلب البيانات، وتحضرها لك بالهيكلية التي يحددها العميل دون زيادة أو نقصان.
		</p>
	</li>
	<li>
		<p>
			<strong>التعامل مع الأخطاء</strong>: لا ينحصر استخدام GraphQL مع بروتوكول <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-http-r73/" rel="">HTTP</a> فقط، بل يمكنها الاعتماد على غيره أيضًا، لذا فهي لا تعتمد على <a href="https://academy.hsoub.com/programming/general/%D8%B1%D9%85%D9%88%D8%B2-%D8%A7%D9%84%D8%A5%D8%AC%D8%A7%D8%A8%D8%A9-%D9%81%D9%8A-http-r75/" rel="">رموز استجابة HTTP</a> لعرض أخطاء طلباتها للعميل، فمعظم الطلبات العائدة من نقاط وصول GraphQL ستحمل الرمز <code>200</code> سواء كانت صحيحة أو خاطئة، وستجد ضمن استجابة الطلبات الخاطئة رسائل واضحة عن أخطائك جنبًا إلى جنب مع البيانات <code>data</code> وهذا بفضل خاصية الأخطاء <code>errors</code>، أما واجهة RESTful <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr> فتعتمد كليًا على رموز استجابة HTTP، فيشير الرمز <code>200</code> دومًا للطلبات الصحيحة، وتعبّر رموز <code>400</code> عن الطلبات الخاطئة دون أي تفاصيل عن طبيعة الخطأ.
		</p>
	</li>
	<li>
		<p>
			<strong>الإصدارات</strong>: تسعى GraphQL في جميع تعديلاتها لتجنب التغيرات الجذرية breaking changes، التي من المحتمل أن تسبب أخطاء في جانب العميل، ويحاول مطوروها الحفاظ على التوافقية مع الإصدارات السابقة، فهي توفر إمكانية زيادة ميزات جديدة على الواجهة بإضافة أنواع بيانات جديدة وحقول جديدة بدون الحاجة لإنشاء إصدار جديد، على عكس REST التي تتعامل مع أي تعديل على أنه إصدار جديد لنقاط الوصول، ويُشار للإصدارات صراحةً في عناوين URL، فتجد فيها رموزًا مثل: <code>V1/</code> أو <code>V2/</code>، ولهذه الآلية أيضًا مشكلاتها. يمكنك عمومًا التعامل مع تغيُّر الإصدارات في التقنيتين وإن كانت طريقة REST أكثر تقليدية.
		</p>
	</li>
	<li>
		<p>
			<strong>التخبئة Caching</strong>: تُعد التخبئة مبدأ من <a href="https://en.wikipedia.org/wiki/Representational_state_transfer#Architectural_constraints" rel="external nofollow">مبادئ REST</a>، ولكونها تعتمد على توابع HTTP لجلب البيانات من نقاط وصولها المتعددة، فبوسعها الاستفادة من ميزة التخبئة -إحدى أساسيات HTTP- وعدم إعادة جلب الموارد نفسها من الخادم في كل مرة يحتاجها العميل. بالمقابل لا تستفيد GraphQL من ميزة التخبئة المُضمّنة في HTTP، لأنها تستخدم نقطة وصول وحيدة لجميع الطلبات، وكل طلب من طلباتها مخصص وفريد عن غيره، ومع ذلك يستطيع عملاء GraphQL استخدام التخبئة بصورة مبسطة باستعمال <a href="https://graphql.org/learn/global-object-identification/" rel="external nofollow">المُعرّف العمومي للكائن</a>.
		</p>
	</li>
</ul>

<p>
	لنختتم الفقرة الآن بجدول يلخص أوجه الشبه والاختلاف بين GraphQL و REST، واضعًا في حسبانك إمكانية استخدامهما معًا في مشروع واحد، فتكون GraphQL مثل بوابة أو نقطة تجميع تتلقى البيانات الواردة من خدمات REST.
</p>

<table>
	<thead>
		<tr>
			<th>
				الميزة
			</th>
			<th>
				GraphQL
			</th>
			<th>
				REST
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				الوصف
			</td>
			<td>
				GraphQL هي لغة استعلام لواجهات برمجة التطبيقات، ووقت تشغيل من جانب الخادم لتنفيذ الاستعلامات
			</td>
			<td>
				REST هي نمط معماري لتصميم خدمات الويب
			</td>
		</tr>
		<tr>
			<td>
				جلب البيانات
			</td>
			<td>
				عبر نقطة وصول وحيدة تستقبل طلبات الاستعلام المحددة بدقة من طرف العميل والمنقولة ببروتوكول HTTP
			</td>
			<td>
				عبر عدة نقاط وصول HTTP تعيد للعميل مجموعة بيانات محددة مسبقًا من قبل الخادم
			</td>
		</tr>
		<tr>
			<td>
				الإصدارات
			</td>
			<td>
				غير شائعة
			</td>
			<td>
				شائعة
			</td>
		</tr>
		<tr>
			<td>
				رموز استجابة HTTP
			</td>
			<td>
				كافة الاستجابات حتى الخاطئة منها تعود بالرمز <code>200</code>
			</td>
			<td>
				تطبق رموز استجابة HTTP بدلالتها المعروفة
			</td>
		</tr>
		<tr>
			<td>
				التحقق
			</td>
			<td>
				التحقق من البيانات الوصفية مضمن في GraphQL
			</td>
			<td>
				المطور يجري عمليات التحقق بنفسه يدويًا
			</td>
		</tr>
		<tr>
			<td>
				التوثيق
			</td>
			<td>
				التوثيق ذاتي بفضل وجود نظام النوع وميزة الاستقراء
			</td>
			<td>
				لا يوجد توثيق ذاتي لكن يمكنك الاستفادة من أدوات خاصة مثل OpenAPI
			</td>
		</tr>
		<tr>
			<td>
				التخبئة
			</td>
			<td>
				غير متاح
			</td>
			<td>
				متاح
			</td>
		</tr>
		<tr>
			<td>
				أساليب الطلب
			</td>
			<td>
				جميع الطلبات سواء كانت استعلامات أو طفرات أو اشتراكات تُرسل بأسلوب <code>POST</code> عبر بروتوكول HTTP
			</td>
			<td>
				تستخدم كل أساليب HTTP مثل <code>GET</code> و <code>POST</code> و <code>PUT</code> و <code>PATCH</code> و <code>DELETE</code> وغيرها
			</td>
		</tr>
		<tr>
			<td>
				صيغة الاستجابة
			</td>
			<td>
				JSON
			</td>
			<td>
				بأي صيغة مثل JSON و XML و HTML وغير ذلك
			</td>
		</tr>
	</tbody>
</table>

<h2 id="">
	الخاتمة
</h2>

<p>
	كان هذا المقال الأول من سلسلة مقالات تتناول <a href="https://academy.hsoub.com/tags/%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9%20%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA%20%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85%20graphql/" rel="">إدارة البيانات باستخدام GraphQL</a>، وقد تعرفنا فيه على GraphQL لغة الاستعلام مفتوحة المصدر الخاصة بواجهات برمجة التطبيقات، هذه اللغة التي طورتها فيسبوك موجهةً إياها كليًا لتلبية طلبات العميل، عبر كتابة استعلامات تصريحية يوضح فيها ما يحتاجه فعلًا، لتتجاوز بذلك مشكلات REST التقليدية، مثل الإفراط أو التقصير في جلب البيانات، إضافةً إلى انخفاض الكفاءة على الشبكة.
</p>

<p>
	لا يعتبر المقال GraphQL بديًلا لواجهات REST، فلكلٍ منهما تطبيقات خاصة تتميز فيها عن الأخرى، وأيضًا طريقة خاصة في إدارة البيانات المتبادلة بين العميل والخادم، وقد عرضنا هنا طريقة GraphQL في عرض البيانات، تابع معنا بقية مقالات السلسلة لتطلع على المزيد.
</p>

<p>
	ترجمة -وبتصرف- للمقال <a href="https://www.digitalocean.com/community/tutorials/an-introduction-to-graphql" rel="external nofollow">An Introduction to GraphQL</a> لصاحبته Tania Rascia.
</p>

<h2 id="-1">
	اقرأ المزيد
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/javascript/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D9%85%D9%83%D8%AA%D8%A8%D8%A9-graphql-%D9%88%D8%A7%D8%B3%D8%AA%D8%B9%D9%85%D8%A7%D9%84%D8%A7%D8%AA%D9%87%D8%A7-%D9%81%D9%8A-%D8%A8%D9%86%D8%A7%D8%A1-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D8%A7%D9%84%D8%AD%D8%AF%D9%8A%D8%AB%D8%A9-r1208/" rel="">مدخل إلى المكتبة GraphQL واستعمالاتها في بناء تطبيقات الويب الحديثة</a>.
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%B4%D8%B1%D8%AD-%D9%81%D9%84%D8%B3%D9%81%D8%A9-restful-%D8%AA%D8%B9%D9%84%D9%85-%D9%83%D9%8A%D9%81-%D8%AA%D8%A8%D9%86%D9%8A-%D9%88%D8%A7%D8%AC%D9%87%D8%A7%D8%AA-rest-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-r635/" rel="">شرح فلسفة RESTful - تعلم كيف تبني واجهات REST البرمجية</a>.
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA/" rel="">دليلك الشامل إلى برمجة التطبيقات</a>.
	</li>
</ul>
]]></description><guid isPermaLink="false">2208</guid><pubDate>Thu, 21 Dec 2023 16:05:04 +0000</pubDate></item><item><title>&#x62A;&#x639;&#x631;&#x641; &#x639;&#x644;&#x649; &#x623;&#x641;&#x636;&#x644; &#x643;&#x62A;&#x628; &#x628;&#x631;&#x645;&#x62C;&#x629; &#x644;&#x644;&#x645;&#x628;&#x62A;&#x62F;&#x626;&#x64A;&#x646;</title><link>https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D9%81%D8%B6%D9%84-%D9%83%D8%AA%D8%A8-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-r2187/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_12/1645444178_.png.c4a72149da1b5a2ad15f524ed08747c7.png" /></p>
<p>
	نعرفك في مقال اليوم على كتب برمجة عربية مميزة تصلح لتكون مراجع مفيدة تساعدك في دراسة البرمجة وفهمها بطريقة منهجية ومنظمة، ونتعرف على مميزات كل كتاب منها، ونوضح لك ماذا ستتعلم من كل كتاب ونوفر رابط لتحميله.
</p>

<p>
	فكما تعرف فإن مصادر وطرق تعلم البرمجة اليوم كثيرة ومتنوعة، ولكل منا طريقة تناسبه في التعلم فإذا كنت من معشر المبرمجين أو الطلاب الذين يفضلون القراءة المنظمة ويجدون أن أسلوب التعلم من كتب برمجة متخصصة أكثر فائدة من طرق التعلم الأخرى كمقاطع الفيديو أو متابعة الدروس المتفرقة هنا وهناك فهذا المقال لك.
</p>

<h2 id="">
	أهمية كتب تعلم البرمجة
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="139351" href="https://academy.hsoub.com/uploads/monthly_2023_12/1288929801_.png.3bb85e6fe9b37f9df0b5f54efcf1d754.png" rel=""><img alt="كتب البرمجة" class="ipsImage ipsImage_thumbnailed" data-fileid="139351" data-unique="h9d44mbhu" style="width: 500px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2023_12/.thumb.png.fdce8a18b93bdb92b056330c7b642684.png"> </a>
</p>

<p>
	لا شك أن <a href="https://academy.hsoub.com/programming/general/%D9%81%D9%88%D8%A7%D8%A6%D8%AF-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">فوائد تعلم البرمجة</a> كثيرة، وأيًا كان الأسلوب الذي تفضله في تعلم البرمجة فإن قرار تعلمها بحد ذاته خيار رائع وذكي، لكن التعلم من كتب البرمجة يتميز عن غيره من طرائق التعلم بعدة مميزات وفوائد ومن أبرزها:
</p>

<ul>
	<li>
		تعرض كتب البرمجة المفاهيم والمعلومات بالتدريج من الأسهل للأصعب، وتوزعها في صفحات مرقمة ومرتبة ضمن فصول متعددة ما يساعدك على تنظيم دراستك بحيث تدرس يوميًا عددًا محددًا من الصفحات أو الفصول.
	</li>
	<li>
		تعرض الكتب المعلومات بطريقة شاملة ومفصلة من الألف للياء ما بجنبك التشتت في كثرة المصادر لتكتمل لك الصورة الكاملة لما تتعلمه.
	</li>
	<li>
		تفهرس الكتب محتوياتها بطريقة محكمة ما يسهل عليك العثور على أي معلومات تريدها ويمكنك من العودة لها عند الحاجة.
	</li>
	<li>
		توفر الكتب معلومات مفصلة وواضحة عن المفاهيم والتقنيات التي تشرحها، وهذا سيساعدك على استيعاب هذه المفاهيم بشكل أفضل من مصادر التعلم الأخرى.
	</li>
	<li>
		يعزز التعلم من كتب البرمجة القدرة على التعلم الذاتي وقراءة المحتوى بالسرعة التي تناسبك.
	</li>
	<li>
		تسمح لك كتب البرمجة الإلكترونية بنسخ الشيفرات أو الأكواد البرمجية لتجربتها وتعديلها بسهولة.
	</li>
	<li>
		تتميز الكتب بجودة وموثوقية المعلومات التي توفرها فقد خضعت للتحرير والمراجعة والتدقيق أكثر من مرة.
	</li>
</ul>

<p>
	لا يعني هذا أن الكتب هي أفضل طريقة لتعلم البرمجة بالنسبة للجميع، فما يناسبك قد لا يناسب غيرك، المهم أن تختار الأسلوب المناسب لك والذي تشعر بأنك تستطيع من خلاله فهم ما تتعلمه بالطريقة المثلى، كما يمكنك الدمج بين عدة أساليب تعلم إن كنت تشعر أن كل أسلوب يقدم لك فائدة مختلفة، لكن انبته لأن تنظم وقتك في التعلم ولا تشتت نفسك في كثرة المصادر.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="450" id="ips_uid_6808_5" src="https://academy.hsoub.com/applications/core/interface/index.html" title="كيف تنظم وقتك عند تعلم البرمجة" width="800" data-embed-src="https://www.youtube.com/embed/CGNNUIvjmpw"></iframe>
</p>

<p>
	إن كنت مهتمًا بالتعلم من كتب تعلم برمجة عربية شاملة، فقد وفرت لك <a href="https://academy.hsoub.com" rel="external">أكاديمية حسوب</a> مجموعة من أفضل كتب البرمجة المجانية باللغة العربية يمكنك تحميلها واعتمادها كمصادر موثوقة ومنهجية لتعلم لغات البرمجة والتقنيات المختلفة.
</p>

<h2 id="10">
	أفضل كتب برمجة بالعربية
</h2>

<p>
	مهما كان التخصص أو <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AC%D8%A7%D9%84%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">مجال البرمجة</a> الذي تنوي تعلمه واحترافه فستجد في قائمة كتب أكاديمية حسوب العديد من الكتب المساعدة التي يمكنك اعتمادها كمراجع موثوقة لتعلم هذا التخصص، وفي فقراتنا التالية سنسلط الضوء على قائمة بمجموعة منتقاة لكتب برمجية اخترناها لتناسب المبتدئين الذين بدأوا للتو رحلتهم في تعلم البرمجة.
</p>

<ol>
	<li>
		<span ipsnoautolink="true">كتاب تعلم البرمجة للمبتدئين</span>
	</li>
	<li>
		<span ipsnoautolink="true">البرمجة بلغة بايثون</span>
	</li>
	<li>
		<span ipsnoautolink="true">البرمجة بلغة سي</span>
	</li>
	<li>
		<span ipsnoautolink="true">نحو فهم أعمق لتقنيات HTML5</span>
	</li>
	<li>
		<span ipsnoautolink="true">ملاحظات للعاملين بلغة CSS</span>
	</li>
	<li>
		<span ipsnoautolink="true">دليل JavaScript الشامل - الجزء الأول</span>
	</li>
	<li>
		<span ipsnoautolink="true">البرمجة بلغة جافا سكربت</span>
	</li>
	<li>
		<span ipsnoautolink="true">تصميم قواعد البيانات</span>
	</li>
	<li>
		.<span ipsnoautolink="true">هياكل البيانات للمبرمجين</span>
	</li>
	<li>
		.<span ipsnoautolink="true">البرمجة بلغة رست</span>
	</li>
	<li>
		<span ipsnoautolink="true">ملاحظات للعاملين بلغة SQL</span>
	</li>
	<li>
		<span ipsnoautolink="true">الدليل العملي إلى قواعد بيانات PostgreSQL</span>
	</li>
</ol>

<p>
	لنتعرف في الفقرات التالية على شرح موجز لكل كتاب من هذه الكتب وأهم المواضيع والتقنيات التي يتناولها.
</p>

<h3 id="1">
	1. كتاب تعلم البرمجة للمبتدئين
</h3>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed2013164864" src="https://academy.hsoub.com/files/35-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/?do=embed" style="overflow: hidden; height: 470px; max-width: 500px;margin: auto;"></iframe>

<p>
	هذا الكتاب هو ترجمة عريبة لكتاب <a href="http://www.alan-g.me.uk/l2p2/" rel="external nofollow" target="_blank">Learning to Program</a> للمبرمج آلان جولد Alan Gauld وهو أحد المراجع الممتازة التي اختارتها أكاديمية حسوب بعناية ويصلح ليكون كتاب تعلم البرمجة من الصفر والتعرف على النظريات والتقنيات الأساسية لبرمجة الحواسيب، يفترض هذا الكتاب وجود معرفة مسبقة لديك بأحد <a href="https://academy.hsoub.com/apps/operating-systems/%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84/" rel="">أنظمة التشغيل</a> مثل ويندوز أو ماك أو لينكس ومعرفة ببعض المفاهيم الرياضية الأساسية، وهو يعتمد في الشرح على لغة البرمجة بايثون Python التي تعد من <a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D9%87%D9%84-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أسهل لغات البرمجة</a> وأكثرها قوة وتفضيلًا بين أوساط المبرمجين وقد اعتمدها الكاتب كمثال لتعلم البرمجة مع التأكيد على أن فهم <a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أساسيات البرمجة</a> بأي لغة يمكنك من الانتقال لتعلم أي لغة برمجة أخرى بسهولة وسلاسة.
</p>

<p>
	فإذا كنت ترغب بدخول عالم البرمجة وتبحث عن كتاب مناسب يبين لك أهمية تعلم البرمجة ويمكنك من التفكير بطريقة تشابه طريقة تفكير الحاسوب لحل المشكلات البرمجية ويوضح لك أنواع لغات البرمجة والتعامل مع قواعد البيانات وكيف تكتب البرامج الحاسوبية بحيث تكون سهلة الاستخدام وغيرها من المفاهيم البرمجية التي يحتاجها أي مبرمج لمعرفتها فهذا الكتاب بداية جيدة لك.
</p>

<h3 id="2">
	2. كتاب البرمجة بلغة بايثون
</h3>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed3234742320" src="https://academy.hsoub.com/files/15-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D9%84%D8%BA%D8%A9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86/?do=embed" style="overflow: hidden; height: 470px; max-width: 500px;margin: auto;"></iframe>

<p>
	إذا كنت تبحث عن لغة مريحة وممتعة وسهلة لتعلم البرمجة فيمكن أن تختار تعلم لغة البرمجة بايثون <a href="https://wiki.hsoub.com/Python" rel="external">Python</a> فهي لغة شهيرة وتتميز بسهولة كتابة وقراءة أكوادها البرمجية كما ذكرنا سابقًا، كما أنها تعد الخيار الأول للمؤسسات الأكاديمية والتدريبية لتعليم البرمجة للطلاب والمبتدئين وما يميز لغة بايثون أيضًا هو أنها لغة متعددة الاستخدامات ولها العديد من <a href="https://academy.hsoub.com/programming/python/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D9%84%D8%BA%D8%A9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86/" rel="">التطبيقات في مجال علوم الحاسوب</a> من أبرزها <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D9%84%D9%85-%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D9%8A%D8%A8/" rel="">تطوير الويب</a> <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">والذكاء الصناعي</a> وتعلم الآلة و<a href="https://academy.hsoub.com/programming/general/%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">علوم البيانات</a> وهي لغة مطلوبة بشدة في سوق العمل.
</p>

<p>
	يتميز هذا الكتاب المترجم للعربية عن كتاب <a href="https://www.digitalocean.com/community/books/digitalocean-ebook-how-to-code-in-python" rel="external nofollow" target="_blank">How to code in Python</a> للمؤلفة ليزا تاغليفيري Lisa Tagliaferri بأنهيشرح لك كافة المفاهيم البرمجية الأساسية في بايثون بدءًا من كتابة أول برنامج لك وصولًا لمفاهيم برمجية مثل البرمجة كائنية التوجه <a href="https://academy.hsoub.com/programming/python/%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%83%D8%A7%D8%A6%D9%86%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%88%D8%AC%D9%87-object-oriented-programming-%D9%81%D9%8A-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-%D8%A7%D9%84%D8%AC%D8%B2%D8%A1-%D8%A7%D9%84%D8%A3%D9%88%D9%84-r309/" rel=""><abbr title="Object-Oriented Programming | البرمجة كائنية التوجه"><abbr title="Object-Oriented Programming | البرمجة كائنية التوجه">OOP</abbr></abbr></a> وشرح طريقة إنشاء الأصناف الكائنات في بايثون بأسلوب سهل وواضح.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="450" id="ips_uid_6808_6" src="https://academy.hsoub.com/applications/core/interface/index.html" title="لماذا تتعلم بايثون في 2023" width="800" data-embed-src="https://www.youtube.com/embed/5-RvmxCYQVQ"></iframe>
</p>

<h3 id="3c">
	3. كتاب البرمجة بلغة سي C
</h3>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed3947123760" src="https://academy.hsoub.com/files/37-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D9%84%D8%BA%D8%A9-%D8%B3%D9%8A/?do=embed" style="overflow: hidden; height: 470px; max-width: 500px;margin: auto;"></iframe>

<p>
	تعد لغة البرمجة سي <a href="https://academy.hsoub.com/programming/c/" rel="">C</a> من لغات البرمجة المشهورة والمناسبة للمبتدئين والمحترفين في تعلم البرمجة على حد سواء، فهي تتميز بسرعتها وسهولة تعلمها وتوافقها مع مختلف المنصات وأنظمة التشغيل إلى جانب قوتها وكفاءتها وتنوع استخدامها، فهي تمكن المبرمج من تطوير مختلف أنواع البرامج والأنظمة وتتيح له التحكم الكامل والوصول إلى الموارد والتعامل مع هياكل البيانات ولا تقيده بقواعد صارمة.
</p>

<p>
	هذا الكتاب مترجم من كتاب <a href="https://publications.gbdirect.co.uk/c_book/" rel="external nofollow" target="_blank">The C Book</a> للمؤلفين الثلاثة مايك باناهان Mike Banahan وديكلان برادي Declan Brady ومارك دوران Mark Doran وهو كتاب برمجة شامل يستهدف المبتدئين والمحترفين على حد سواء حيث يشرح كافة المواضيع التي تحتاج لتعلمها حول لغة سي بدءًا من طريقة كتابة البرنامج الأول بلغة سي ويشرح أساسيات اللغة كالمتغيرات وأنماط المعطيات وبنى التحكم والدوال البرمجية والمصفوفات والمؤشرات وهياكل البيانات والمكتبات وغيرها من المفاهيم النظرية، وصولًا للتطبيقات العملية التي تعزز كل ما تعلمته من مفاهيم.
</p>

<p>
	فإذا كنت مهتمًا بتعلم لغة سي C وتبحث عن كتاب لتعلم البرمجة يساعدك على فهم كافة المبادئ البرمجية وتطوير البرامج بطريقة شاملة وتسلسل منهجي فهذا الكتاب ملائم جدًا للبدء.
</p>

<h3 id="4html5">
	4. كتاب نحو فهم أعمق لتقنيات HTML5
</h3>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed4960946245" src="https://academy.hsoub.com/files/13-%D9%86%D8%AD%D9%88-%D9%81%D9%87%D9%85-%D8%A7%D9%94%D8%B9%D9%85%D9%82-%D9%84%D8%AA%D9%82%D9%86%D9%8A%D8%A7%D8%AA-html5/?do=embed" style="overflow: hidden; height: 470px; max-width: 500px;margin: auto;"></iframe>

<p>
	يحتاج أي شخص يرغب في برمجة أو <a href="https://sndian.com/" rel="external">تطوير موقع ويب</a> إلى تعلم <a href="https://wiki.hsoub.com/HTML" rel="external" target="_blank">لغة HTML</a> فلغة HTML هي اللغة المستخدمة لتوصيف وإنشاء الهيكل الأساسي لموقع الويب، وفي حال كان مهتمًا بالبدء بتعلم تطوير الويب فهذا الكتاب سيكون مرجعًا مفيدًا بالتأكيد.
</p>

<p>
	هذا الكتاب هو الترجمة العربية لكتاب <a href="https://diveinto.html5doctor.com/" rel="external nofollow" target="_blank">Dive Into HTML5</a> للمؤلف مارك بيلجرم Mark Pilgrim وهو مرخص <a href="https://academy.hsoub.com/freelance/general/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D8%A7%D9%84%D8%AA%D8%B1%D8%A7%D8%AE%D9%8A%D8%B5-%D8%A7%D9%84%D8%AD%D8%B1%D8%A9-%D8%A7%D9%84%D8%AA%D9%8A-%D8%AA%D8%B3%D9%85%D8%AD-%D9%84%D9%83-%D8%A8%D8%A8%D9%8A%D8%B9-%D8%A7%D9%84%D9%85%D9%88%D8%A7%D8%AF-%D8%A8%D8%B4%D9%83%D9%84-%D8%AA%D8%AC%D8%A7%D8%B1%D9%8A-r43/" rel="">برخصة المشاع الإبداعي </a>CC BY 3.0 وقد نشرته دار نشر O’Reilly لاحقًا باسم HTML5: Up and Running، ستجد في هذا الكتاب شرحًا وافيًا لكل ما تحتاج لمعرفته حول أساسيات HTML5 وهو أحدث إصدار من HTML فقد دعم هذا الإصدار العديد من الوسوم والتقنيات التي لم تكن في الإصدارات السابقة.
</p>

<p>
	كما ستجد في فصول الكتاب شرحًا معمقًا لأهم تقنيات ومفاهيم HTML5 مثل تقنيات الرسم على صفحة الويب وترميز وتشغيل مقاطع الفيديو، وبناء النماذج، وتحديد الموقع الجغرافي، وإنشاء التطبيقات التي تعمل دون اتصال، وتضمين البيانات الوصفية microdata و metadata التي تعزز <a href="https://academy.hsoub.com/files/28-%D8%AF%D9%84%D9%8A%D9%84%D9%83-%D8%A5%D9%84%D9%89-%D8%AA%D8%AD%D8%B3%D9%8A%D9%86-%D9%85%D8%AD%D8%B1%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%AD%D8%AB-seo/" rel="">تحسين محركات البحث SEO</a> مع توضيح الاستخدامات الأساسية لهذه المفاهيم بأمثلة علمية داعمة.
</p>

<h3 id="5css">
	5. كتاب ملاحظات للعاملين بلغة CSS
</h3>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed8572246637" src="https://academy.hsoub.com/files/31-%D9%85%D9%84%D8%A7%D8%AD%D8%B8%D8%A7%D8%AA-%D9%84%D9%84%D8%B9%D8%A7%D9%85%D9%84%D9%8A%D9%86-%D8%A8%D9%84%D8%BA%D8%A9-css/?do=embed" style="overflow: hidden; height: 470px; max-width: 500px;margin: auto;"></iframe>

<p>
	لغة <a href="https://wiki.hsoub.com/CSS" rel="external" target="_blank">CSS</a> هي لغة تنسيق صفحات الويب ويحتاج أي مطور إلى تعلمها إلى جانب لغة HTML كي يتمكن من إنشاء صفحات ويب ذات مظهر جميل واحترافي، وهي تتكامل مع لغة HTML المستخدمة لتوصيف مواقع الويب، وعلى الرغم من أن لغة CSS بسيطة وسهلة التعلم إلا أن احترافها يتطلب الكثير من الممارسة والتجريب لاسيما عندما تزداد العناصر في صفحة الويب التي تنسقها، لذا ستحتاج لامتلاك فهم عميق لكيفية تنسيق وترتيب العناصر باستخدام CSS كي تنسق مظهر الموقع بالصورة المطلوبة.
</p>

<p>
	وهذا ما يحاول أن يوفره لك هذا الكتاب فهو مترجم عن كتاب <a href="https://books.goalkicker.com/CSSBook/" rel="external nofollow" target="_blank">CSS Notes For Professionals</a> المبني على <a href="https://archive.org/details/documentation-dump.7z" rel="external nofollow" target="_blank">توثيق موقع StackOverflow</a> وقد شارك في إعداده عدد كبير من المساهمين في موقع ستاك أوفرفلو StackOverflow المشهور بين أوساط المبرمجين وبقراءته ستمتلك أهم المهارات التي تساعدك على التعامل مع لغة CSS كالمحترفين.
</p>

<p>
	يبدأ الكتاب من شرح أساسيات لغة CSS ويوضح مفهوم النموذج الصندوقي <a href="https://academy.hsoub.com/programming/css/%D8%AF%D9%84%D9%8A%D9%84-%D9%85%D8%AE%D8%AA%D8%B5%D8%B1-%D8%A5%D9%84%D9%89-%D9%86%D9%85%D9%88%D8%B0%D8%AC-%D8%A7%D9%84%D8%B5%D9%86%D8%AF%D9%88%D9%82-box-model-%D9%81%D9%8A-%D8%AA%D9%86%D8%B3%D9%8A%D9%82%D8%A7%D8%AA-css-r2126/" rel="">Box Model</a> في CSS كما يعلمك كيف تنسق العناصر المختلفة، وكيف تتحكم في تخطيط الصفحة وتضبط محاذاة عناصرها، وكيف تجعل موقعك متجاوب مع أجهزة الجوال باستخدام استعلامات الوسائط Media Queries، وكيف تضيف انتقالات وحركات تفاعلية في صفحات الموقع، وغيرها الكثير من المواضيع المتقدمة المفيدة والشيفرات البرمجية المفيدة التي كتبها محترفون يمتلكون خبرة واسعة في استخدام CSS.
</p>

<h3 id="6javascript">
	6. دليل JavaScript الشامل - الجزء الأول
</h3>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed942399038" src="https://academy.hsoub.com/files/33-%D8%AF%D9%84%D9%8A%D9%84-javascript-%D8%A7%D9%84%D8%B4%D8%A7%D9%85%D9%84-%D8%A7%D9%84%D8%AC%D8%B2%D8%A1-%D8%A7%D9%84%D8%A3%D9%88%D9%84/?do=embed" style="overflow: hidden; height: 470px; max-width: 500px;margin: auto;"></iframe>

<p>
	لغة البرمجة جافا سكريبت <a href="https://wiki.hsoub.com/JavaScript" rel="external" target="_blank">JavaScript</a> هي لغة البرمجة التي ستفكر بتعلمها بعد الانتهاء من تعلم HTML وCSS فإذا قررت تعلم تطوير الويب لجعل صفحات الويب تفاعلية. تعد لغة جافا سكريبت JavaScript من لغات البرمجة سهلة التعلم والاستخدام للمبتدئين مقارنة بلغات برمجة أخرى مثل جافا أو ++C لكن تعلمها سيكون أصعب قليلًا من تعلم HTML و CSS فهي لغة برمجة فعلية وليست لغة توصيف أو تنسيق وتتضمن عمليات برمجية ومنطقية مثل التحقق من مدخلات المستخدم ومعالجة البيانات وغيرها من المفاهيم التي ستكون جديدة عليك إذا لم تكن على دراية بلغة برمجة سابقة.
</p>

<p>
	فإذا كنت تبحث عن كتاب برمجة مناسب للبدء بتعلم لغة جافا سكريبت فهذا الكتاب يناسبك تمامًا فهو يعد مرجعًا تعليميًا ممتازًا للتعلم وهو ترجمة عربية لكتاب <a href="https://javascript.info/" rel="external nofollow" target="_blank">The JavaScript Language: Part 1</a> لكاتبه إيليا كانتور Ilya Kantor وهو مقسم إلى عدة أقسام ويتناول مواضيع متنوعة حول لغة جافا سكريبت JavaScript، بدءًا من الأساسيات ويشرح العديد من المفاهيم مثل أنواع البيانات في جافا سكريبت، والتعامل مع الأخطاء وتصحيحها ومفهوم الدوال والتعامل معها، إلى جانب مفهوم البرمجة كائنية التوجه <abbr title="Object-Oriented Programming | البرمجة كائنية التوجه"><a href="https://academy.hsoub.com/programming/general/%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%83%D8%A7%D8%A6%D9%86%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%88%D8%AC%D9%87-r1375/" rel=""><abbr title="Object-Oriented Programming | البرمجة كائنية التوجه">OOP</abbr></a></abbr> والأصناف Classes والوحدات Modules وكيفية استيرادها واستخدامها في البرامج، كما يتضمن العديد من الأكواد والتطبيقات العملية التي تساعدك في تطبيق ما تتعلمه من مفاهيم.
</p>

<p>
	وهناك جزء ثانٍ لهذا الكتاب يتحدث عن استعمال جافا سكريبت في المتصفحات، وجزء ثالث يتحدث عن مواضيع متفرقة ومتقدمة عن جافا سكريبت ليكمل الجزأين السابقين ويتمم الحديث عن لغة جافا سكريبت ليكون الكتاب بأجزائه الثلاثة مرجعًا كاملًا عن لغة جافا سكريبت متعددة المجالات والتطبيقات.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="450" id="ips_uid_6808_7" src="https://academy.hsoub.com/applications/core/interface/index.html" title="ماذا يمكنك أن تفعل مع لغة JavaScript" width="800" data-embed-src="https://www.youtube.com/embed/13wL3IMDaHo"></iframe>
</p>

<h3 id="7">
	7. كتاب البرمجة بلغة جافا سكريبت
</h3>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed9627572266" src="https://academy.hsoub.com/files/27-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D9%84%D8%BA%D8%A9-%D8%AC%D8%A7%D9%81%D8%A7%D8%B3%D9%83%D8%B1%D8%A8%D8%AA/?do=embed" style="overflow: hidden; height: 470px; max-width: 500px;margin: auto;"></iframe>

<p>
	هذا الكتاب هو كتاب آخر من أفضل كتب تعلم البرمجة بلغة جافا سكريبت باللغة العربية وهو نسخة مترجمة لكتاب <a href="https://eloquentjavascript.net/" rel="external nofollow" target="_blank">Eloquent JavaScript</a> لصاحبه مارين هافربيك Marijn Haverbeke يبدأ معك من الصفر تمامًا ويشرح كافة مبادئ البرمجة الأساسية بلغة جافا سكريبت JavaScript.
</p>

<p>
	يقسم هذا الكتاب إلى ثلاثة أجزاء رئيسية تتناول مواضيع متعددة في البرمجة باستخدام <a href="https://academy.hsoub.com/programming/javascript/%D9%85%D8%A7-%D9%87%D9%8A-%D8%AC%D8%A7%D9%81%D8%A7-%D8%B3%D9%83%D8%B1%D9%8A%D8%A8%D8%AA-%D8%9F-r524/" rel="">جافا سكريبت</a> إذ يناقش الجزء الأول أساسيات لغة جافا سكريبت، ويركز الجزء الثاني على استخدام جافا سكريبت في متصفحات الويب، ويتطرق الجزء الثالث لشرح بيئة <a href="https://academy.hsoub.com/programming/javascript/nodejs/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-nodejs-r1463/" rel="">Node.js</a> التي تمكنك من تشغيل جافا سكرببت خارج بيئة المتصفح.
</p>

<p>
	وأخيرًا يقدم لك الكتاب عدة مشاريع تطبيقية عملية تعزز ما تعلمته مثل مشروع بناء رجل آلي أو روبوت عبر جافا سكريبت، وبرنامج رسم بالبكسلات، ومشروع بناء موقع ديناميكي، وغيرها من المشاريع المنوعة التي تجعل تعلم البرمجة بجافا سكربيت أكثر متعة.
</p>

<p>
	وإذا كنت قد أنهيت تعلم جافا سكريبت وتبحث عن كتب برمجة أكثر تقدمًا تشرح <a href="https://academy.hsoub.com/programming/general/%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-framework/" rel="">أطر عمل</a> ومكتبات جافا سكريبت فيمكنك تحميل كتاب <a href="https://academy.hsoub.com/files/22-%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%A7%D9%84%D8%B9%D9%85%D9%84-vuejs/" rel="">أساسيات إطار العمل Vue.js</a> الذي يشرح بالتفضيل طريقة التعامل مع إطار العمل فيو جي إس Vue.js المخصص لبناء الواجهات الأمامية لمواقع وتطبيقات الويب، وكتاب <a href="https://academy.hsoub.com/files/32-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-nodejs/" rel="">البرمجة باستخدام Node.js</a> الذي يساعدك في تعلم تطوير الواجهات الخلفية back-end أو مجال التطوير الشامل full-stack باستخدام لغة جافاسكريبت.
</p>

<h3 id="8">
	8. كتاب تصميم قواعد البيانات
</h3>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed3607750519" src="https://academy.hsoub.com/files/26-%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/?do=embed" style="overflow: hidden; height: 470px; max-width: 500px;margin: auto;"></iframe>

<p>
	يعد هذا الكتاب من الكتب المهمة التي يحتاج أي مبرمج أو مطور يريد استخدام قواعد بيانات في تطبيقاته إلى تعلمها، فهو يوفر للقارئ شرحًا شاملًا ووافيًا عن عملية تصميم قواعد البيانات التي تعد مرحلة أساسية وحاسمة في تطوير أي نظام برمجي يتعامل مع البيانات وينبغي التفكير فيها وتخطيطها بعناية قبل البدء بتنفيذها برمجيًا.
</p>

<p>
	يتناول الكتاب شرح كافة المفاهيم الأساسية المتعلقة بقواعد البيانات فهو يبدأ أولًا بتغطية كل المفاهيم المتعلقة بقواعد البيانات بدءًا من شرح فكرة <a href="https://academy.hsoub.com/devops/servers/databases/%D9%85%D9%83%D9%88%D9%86%D8%A7%D8%AA-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">ما هي قاعدة البيانات وما مكوناتها</a> وما الفرق بينها وبين أي نظام تخزين بيانات، ثم يشرح عمليات نمذجة البيانات وتصميم الجداول والعلاقات بينها وطريقة رسم مخطط نموذج الكيان والعلاقة ER الذي يصف قاعدة البيانات ويوضح كافة جداولها والعلاقات فيما بينها، كما يشرح طريقة تحويل هذا المخطط إلى قاعدة بيانات فعلية باستخدام لغة الاستعلام البنيوية <a href="https://wiki.hsoub.com/SQL" rel="external" target="_blank">SQL</a> إلى جانب التطرق لأشهر أنظمة إدارة قواعد البيانات DBMS.
</p>

<p>
	هذا الكتاب مترجم عن كتاب <a href="https://opentextbc.ca/dbdesign01/" rel="external nofollow" target="_blank">Database Design - 2nd Edition</a> لصاحبيه إيدرين وات Adrienne Watt ونيلسون إنج Nelson Eng وهو مبني في الأصل على عدة مصادر ركيزتها كتاب Database Design للمؤلف الأول إيدرين وات، وهو كتاب مرجعي مهم تعتمده بعض الجامعات لتدريس مادة تصميم قواعد البيانات في قسم علوم الحاسوب، فإذا كنت مهتمًا في تعلم المزيد عن تصميم قواعد البيانات وكيفية تنفيذها برمجيًا أنصحك بتحميل هذا الكتاب فسوف يفيدك بكل تأكيد.
</p>

<h3 id="9">
	9. كتاب هياكل البيانات للمبرمجين
</h3>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed9361751828" src="https://academy.hsoub.com/files/38-%D9%87%D9%8A%D8%A7%D9%83%D9%84-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-%D9%84%D9%84%D9%85%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D9%86/?do=embed" style="overflow: hidden; height: 470px; max-width: 500px;margin: auto;"></iframe>

<p>
	يعد هذا الكتاب من كتب البرمجة الممتازة لأي مبرمج أو مطور راغب بتعلم هياكل البيانات والخوارزميات بأسلوب واضح وبسيط ويركز على الجانب العملي وهو عبارة عن ترجمة لكتاب البرمجة الشهير <a href="https://greenteapress.com/wp/think-data-structures/" rel="external nofollow" target="_blank">Think Data Structures</a> لمؤلفه Allen B. Downey والذي يعد مرجعًا عمليًا في شرح موضوعي هياكل البيانات والخوارزميات.
</p>

<p>
	يبدأ هذا الكتاب بمقدمة عن هياكل البيانات والخوارزميات، ثم ينتقل إلى شرح أهم هياكل البيانات المركبة التي تحتاج لاستخدامها عند كتابة البرامج الحاسوبية، مثل المصفوفات، والقوائم والمكدسات، والأشجار كما يشرح الكتاب أيضًا مفهوم <a href="https://academy.hsoub.com/programming/advanced/%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA/" rel="">الخوارزميات</a> ويشرح أبرز أنواع الخوارزميات مثل خوارزميات الترتيب والبحث، كما يقدم الكتاب أيضًا بعض الأساسيات التي تحتاجها في تخصص هندسة البرمجيات مثل التعرف على مفهوم <a href="https://academy.hsoub.com/programming/workflow/git/%D9%81%D9%87%D9%85-%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D8%A8%D8%A7%D9%84%D8%A5%D8%B5%D8%AF%D8%A7%D8%B1%D8%A7%D8%AA-git-%D9%88%D8%A3%D9%87%D9%85%D9%8A%D8%A9-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85%D9%87-%D9%81%D9%8A-%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-r2034/" rel="">نظم التحكم بالإصدارات version controls</a>، واختبار الوحدات unit testing وغيرها من المفاهيم المفيدة لأي مبرمج.
</p>

<h3 id="10-1">
	10. كتاب البرمجة بلغة رست
</h3>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed3932538816" src="https://academy.hsoub.com/files/40-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D9%84%D8%BA%D8%A9-%D8%B1%D8%B3%D8%AA/?do=embed" style="overflow: hidden; height: 470px; max-width: 500px;margin: auto;"></iframe>

<p>
	يأخذ هذا الكتاب بيدك لتعلم لغة البرمجة رست <a href="https://academy.hsoub.com/programming/rust/" rel="">Rust</a> من الصفر حتى الاحتراف، حيث تتميز هذه اللغة بقدرتها على كتابة برمجيات أسرع وأكثر وثوقيّة وتحقق للمبرمج تحكمًا كبيرًا بالتفاصيل منخفضة المستوى مثل استخدام الذاكرة بمرونة كبيرة وهو مترجم عن الكتاب <a href="https://doc.rust-lang.org/stable/book/title-page.html#the-rust-programming-language" rel="external nofollow" target="_blank">The Rust Programming Language</a> لكاتبيه ستيف كلابنيك Steve Klabnik وكارول نيكلز Carol Nichols ويتميز بسهولته ولغته البسيطة التي تساعدك على التعلم بسهولة، لكنه يفترض أنك على دراية بالبرمجة وبكتابة أكواد برمجية بإحدى <a href="https://academy.hsoub.com/programming/general/%D8%A3%D9%87%D9%85%D9%8A%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A3%D9%87%D9%85-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">لغات البرمجة</a> الأخرى وهو يدمج بين المفاهيم النظرية، والمشاريع العملية ليحقق تجربة تعلم شاملة ومتكاملة.
</p>

<p>
	ستتعلم من خلال هذا الكتاب مواضيع مختلفة في لغة البرمجة رست، بداية من توضيح مبادئ البرمجة الأساسية مثل المتغيرات وأنواع البيانات وكتابة الدوال ثم يشرح مفهوم الملكية وكيفية استخدام الهياكل لتنظيم البيانات ومبادئ البرمجة كائنية التوجه <abbr title="Object-Oriented Programming | البرمجة كائنية التوجه"><abbr title="Object-Oriented Programming | البرمجة كائنية التوجه">OOP</abbr></abbr> والأنماط patterns، كما يشرح مواضيع متقدمة مثل الأنواع المعممة والسمات ومفاهيم البرمجة غير الآمنة Unsafe Rust والماكرو Macros، كما يعرفك على كيفية كتابة الاختبارات الآلية والتعامل مع الأخطاء البرمجية، ويقدم لمحة عن أداة Cargo وهي أداة لإدارة المشاريع في Rust، ويتعمق في مفهوم المؤشرات الذكية والبرمجة المتزامنة الآمنة، ويختتم بفصول عملية تشرح بناء <a href="https://academy.hsoub.com/devops/servers/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%AE%D8%A7%D8%AF%D9%85-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-r574/" rel="">خادم ويب</a> متعدد المهام باستخدام لغة رست Rust.
</p>

<h3 id="11sol">
	11. كتاب ملاحظات للعاملين بلغة SOL
</h3>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed8329065407" src="https://academy.hsoub.com/files/16-%D9%85%D9%84%D8%A7%D8%AD%D8%B8%D8%A7%D8%AA-%D9%84%D9%84%D8%B9%D8%A7%D9%85%D9%84%D9%8A%D9%86-%D8%A8%D9%84%D8%BA%D8%A9-sql/?do=embed" style="overflow: hidden; height: 470px; max-width: 500px;margin: auto;"></iframe>

<p>
	هذا الكتاب من كتب برمجة قواعد البيانات التي لا غنى عنها لأي مبرمج أو متخصص في علوم الحاسوب مهتم بتعلم لغة SQL أو لغة الاستعلامات البنيوية Structured Query Language التي تعد لغة برمجة قياسية تستخدم في معالجة وإدارة قواعد البيانات، وتعتمدها كافة <a href="https://academy.hsoub.com/devops/servers/databases/%D8%A7%D9%84%D9%85%D9%81%D8%A7%D9%87%D9%8A%D9%85-%D8%A7%D9%84%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A9-%D9%81%D9%8A-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-%D9%88%D8%AA%D8%B5%D9%85%D9%8A%D9%85%D9%87%D8%A7-r519/" rel="">أنظمة إدارة قواعد البيانات </a>RDBMS فمن خلال تعليمات SQL يمكنك إجراء عمليات مباشرة على البيانات، مثل تخزينها في قاعدة بيانات أو جلبها منها أو التعديل على البيانات المخزنة أو نسخها احتياطيًا وغيرها من المهام.
</p>

<p>
	وقد اعتمد هذا الكتاب على أحد أفضل كتب برمجة SQL وهو كتاب <a href="https://goalkicker.com/SQLBook/" rel="external nofollow">SQL Notes For Professionals</a> من موقع <a href="https://goalkicker.com/" rel="external nofollow" target="_blank">GoalKicker</a> المبني بدوره على <a href="https://archive.org/details/documentation-dump.7z" rel="external nofollow" target="_blank">توثيق موقع StackOverflow</a> وساهم في إعداده عدد كبير من المساهمين على موقع ستاك أوفر فلو StackOverflow الشهير وهو يغطي المفاهيم الأساسية والمتقدمة للغة SQL بدءًا من كتابة استعلامات بسيطة لجلب البيانات، وتنفيذ تعليمات شرطية على البيانات، وتعليمات إدراج وحذف البيانات، وأهم دوال التعامل مع البيانات، وجلب البيانات من عدة جداول، وإدارة المستخدمين، وتنظيم وتأمين شيفرات SQL، وغيرها من المفاهيم المتنوعة، كما أنه يجمع بين الشرح النظري والأمثلة العملية لضمان فهم جيد لهذه المفاهيم.
</p>

<h3 id="12postgresql">
	12. كتاب الدليل العملي إلى قواعد بيانات PostgreSQL
</h3>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed9612890603" src="https://academy.hsoub.com/files/18-%D8%A7%D9%84%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%B9%D9%85%D9%84%D9%8A-%D8%A5%D9%84%D9%89-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-postgresql/?do=embed" style="overflow: hidden; height: 470px; max-width: 500px;margin: auto;"></iframe>

<p>
	ستحتاج في رحلة تعلم البرمجة وقواعد البيانات إلى تعلم استخدام أحد أنظمة إدارة قواعد البيانات DBMS كي تنظم ملفات قاعدة البيانات الخاصة بك وتوفر طريقة فعالة لإنشاء هذه الملفات وتحريرها ومعالجة البيانات الموجودة فيها، ومن أهم الأنظمة المستخدمة لإدارة قواعد البيانات نظام بوست غريس PostgreSQL وهو نظام إدارة قواعد بيانات علائقي Relational DBMS أي أنه يخزن البيانات في جداول مترابطة مع بعضها وهو يستخدم في العديد من تطبيقات الويب والهواتف المحمولة وتطبيقات تحليل البيانات.
</p>

<p>
	يبدأ هذا الكتاب من الصفر تمامًا إذ يشرح طريقة تثبيت PostgreSQL على جهازك وكيفية إدارة قواعد البيانات باستخدامه، كما يشرح أساسيات استعمال لغة SQL في PostgreSQL ويتطرق أيضًا لشرح مواضيع متقدمة في إدارة قواعد البيانات مثل النسخ الاحتياطي، وإدارة الأداء، وإدارة استخدام الذاكرة في PostgreSQL، كما يوضح أهم أوامر التعامل مع قواعد البيانات من خلال صدفة psql كالاتصال بقاعدة بيانات، واستعراض الفهارس، وتنسيق المخرجات، وغيرها من الأوامر المفيدة الأخرى.
</p>

<p>
	هذا الكتاب هو ترجمة عربية بتصرف للدليل <a href="http://postgresguide.com/" rel="external nofollow" target="_blank">PostgresGuide</a> لمؤلفه كريج كيرستينز Craig Kerstiens إلى جانب عدة مواضيع إضافية تعزز محتوى الكتاب وتسد النقص في الدليل الأصلي، وهو يتميز بدمج التعلم النظري مع العملي، فإذا كنت تبحث عن كتاب برمجة قواعد بيانات يناسب المبتدئين ويساعدك في الوصول إلى مستوى متقدم في التعامل مع قواعد البيانات أنصحك بقراءة هذا الكتاب القيم.
</p>

<h2 id="-1">
	الخلاصة
</h2>

<p>
	تعرفنا في مقال اليوم على أفضل كتب برمجة للمبتدئين باللغة العربية، وإذا كنت من محبي القراءة  وتريد المزيد من الكتب فستجد في قسم <a href="https://academy.hsoub.com/files/" rel="">كتب أكاديمية حسوب</a> مجموعة كتب برمجة متنوعة أخرى أكثر تقدمًا، كما ستجد العديد من الكتب المفيدة في تخصصات أخرى مثل كتب التصميم وريادة الأعمال والتسويق والعمل الحر وكتب تخصص <a href="https://academy.hsoub.com/devops/general/%D8%AA%D8%B9%D9%84%D9%85-devops/" rel="">DevOps</a><span style="display: none;">         </span> وغيرها لذا أنصحك أن تطلع على هذا القسم وتحمل الكتب التي تناسب اهتمامك وميولك وتضع خطة لإتمام قراءتها والاستفادة من معلوماتها القيمة.<br>
	وحبذا لو تشاركنا في قسم التعليقات أسفل المقال ما هو أفضل كتاب لتعلم البرمجة استفدت منه، وهل هناك كتب برمجة جيدة تنصح الآخرين بقراءتها؟
</p>

<h2 id="-2">
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r662/" rel="">دليلك الشامل لتعلم البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%83%D9%8A%D9%81-%D8%AA%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%86%D8%B5%D8%A7%D8%A6%D8%AD-%D9%88%D8%A3%D8%AF%D9%88%D8%A7%D8%AA-%D9%84%D8%B1%D8%AD%D9%84%D8%AA%D9%83-%D9%81%D9%8A-%D8%B9%D8%A7%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r206/" rel="">كيف تتعلم البرمجة: نصائح وأدوات لرحلتك في عالم البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%8A-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">اكتشف ما هي البرمجة وما أهمية تعلمها</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D9%87%D9%84-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أسهل لغات البرمجة</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2187</guid><pubDate>Wed, 06 Dec 2023 11:05:00 +0000</pubDate></item><item><title>&#x644;&#x63A;&#x629; &#x633;&#x643;&#x631;&#x627;&#x62A;&#x634;: &#x62A;&#x639;&#x631;&#x641; &#x639;&#x644;&#x649; &#x627;&#x644;&#x628;&#x631;&#x645;&#x62C;&#x629; &#x627;&#x644;&#x633;&#x647;&#x644;&#x629;</title><link>https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A9-%D8%B3%D9%83%D8%B1%D8%A7%D8%AA%D8%B4-scratch/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_11/2-----.png.5ca1416f6d8422fb740acbc28d989ee5.png" /></p>
<p>
	سكراتش Scratch هي لغة برمجة مرئية صممت أساسًا لأغراض تعليميّة كان هدفها تقديم مفهوم البرمجة للطلاب في أعمار مبكرة ومساعدتهم في إنشاء قصص ورسوم متحركة ومواضيع تفاعلية تعليمية بطريقة مبتكرة. ونظرًا لسهولة المبادئ التي تعمل وفقها سكراتش، بدأ استخدامها لأغراض برمجية وتقنية أخرى مثل كتابة بعض برمجيات الأنظمة المدمجة.
</p>

<p>
	نتحدث في هذا المقال عن ماهية لغة سكراتش وكيفية البرمجة باستخدامها وأهم المجالات التي نستفيد فيها من إمكانات هذه اللغة.
</p>

<h2 id="">
	نظرة أقرب إلى لغة سكراتش
</h2>

<p>
	صُممت لغة سكراتش في مخابر معهد ماساتشوستس للتكنولوجيا (<a href="https://en.wikipedia.org/wiki/MIT_Media_Lab" rel="external nofollow">MIT Media Lab</a>) لتكون لغة برمجة عالية المستوى ومرئية. ويُقصد بلغة البرمجة المرئية -ببساطة- أنها لغة تقدم التعليمات البرمجية على شكل كتل يجري سحبها أو نقلها إلى نافذة البرمجة دون أن تكتب أية شيفرة، ثم ترتب هذه الكتل بالشكل الصحيح لبناء البرنامج.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="138765" href="https://academy.hsoub.com/uploads/monthly_2023_11/01_scratch_blocks.png.8ba31b618eda6232dd3648bdf049adaf.png" rel=""><img alt="لغة سكراتش" class="ipsImage ipsImage_thumbnailed" data-fileid="138765" data-ratio="142.02" data-unique="2x5ji6003" style="width: 307px; height: auto;" width="307" src="https://academy.hsoub.com/uploads/monthly_2023_11/01_scratch_blocks.png.8ba31b618eda6232dd3648bdf049adaf.png"> </a>
</p>

<p>
	تُعد هذه الطريقة ملائمة للأطفال دون الخوض بتفاصيل الصياغة القواعدية والدلالية للغة البرمجة. فإن أردت أن تعرض عبارة ما على الشاشة يمكنك سحب كتلة "قل" ثم تضعها في نافذة بناء البرنامج وتكتب العبارة التي تريدها أن تظهر ضمن هذه الكتلة وسيُنفّذ الأمر.
</p>

<p>
	لقد لاحظ العديد من المطورين هذه الميزة البديهية -إن جاز لنا التعبير- واستعملوها في بناء مكتبات تساعد في موضوع الحوسبة الفيزيائية أو في برمجة الأنظمة المدمجة والروبوتات وقد حققت بالفعل هذه المكتبات نجاحات مهمة.
</p>

<p>
	يمكن استخدام بيئة عمل سكراتش من خلال تحميل البرنامج مباشرة عبر الإنترنت وتثبيته على حاسوبك، إذ تتوفر لسكراتش إصدارات مختلفة لدعم أنظمة تشغيل ويندوز و ماك أو إس و أندرويد و كروم أو إس (انظر <a href="https://scratch.mit.edu/download" rel="external nofollow">صفحة التنزيل</a>، كما يمكن العمل على نظام لينكس (بنسخ غير مدعومة مباشرة من المصنِّع الأساسي) وكذلك عبر <a href="https://scratch.mit.edu/projects/editor/?tutorial=getStarted" rel="external nofollow">موقع الإنترنت</a> كتطبيق ويب مباشرة.
</p>

<p>
	تعتمد فكرة سكراتش على تحريك شخصيات رسومية تُدعى sprite تظهر ضمن نافذة تُدعى المسرح stage، ثم تُبنى برامج للتحكم بهذه الشخصيات. وبإمكان المبرمج النقر على كل شخصية وبرمجتها بشكل منفصل عن الأخرى ثم تشغيل هذه الشخصيات معًا أو وفق تسلسل محدد لبناء القصة أو الاستعراض أو اللعبة المطلوبة. يمكنك اختيار هذه الشخصيات من المكتبة الافتراضية التي تٌثبّت مع البرنامج أو من خلال تصميمها بنفسك.
</p>

<h2 id="-1">
	بيئة عمل سكراتش
</h2>

<p>
	تتكون واجهة عمل سكراتش من الأقسام التالية:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="138764" href="https://academy.hsoub.com/uploads/monthly_2023_11/02_scrach_screen.png.74aa1ffefa929d89c092842f0caf8200.png" rel=""><img alt="واجهة لغة سكراتش" class="ipsImage ipsImage_thumbnailed" data-fileid="138764" data-ratio="62.56" data-unique="cmde5uhme" style="width: 900px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2023_11/02_scrach_screen.thumb.png.556043d539c345722ba5758b6c1993cb.png"></a>
</p>

<ol>
	<li>
		<strong>فئات الكتل البرمجية code</strong>: تضم هذه الشيفرة أنواعًا مختلفة من الكتل البرمجية التي تؤدي وظائف محددة. صمم شكل هذه الكتل بطريقة هندسية يمكنك خلالها أن تقدر إن كانت الكتلة البرمجية ملائمة لأن توضع ضمن كتلة أخرى أو تحتها أم لا. وتصنف الكتل البرمجية إلى عدة أقسام:

		<ul>
			<li>
				<strong>كتل الحركة motion</strong>: لوّنت هذه الكتل باللون الأزرق وتضم مجموعة تعليمات برمجية لتحريك الشخصية أو تدويرها.
			</li>
			<li>
				<strong>كتل الأحداث Events</strong>: لوّنت هذه الكتل بالبني الفاتح وتضم تعليمات برمجية للتفاعل مع الأحداث كأن تنفّذ شيئًا ما عند النقر على الشخصية أو الخلفية بزر الفأرة.
			</li>
			<li>
				<strong>كتل الهيئة Looks</strong>: لوّنت هذه الكتل بالبنفسجي وتضم كتل برمجية تتحكم بمظهر الشخصية من ناحية الشكل والحجم، كما تساعد على التحكم بمظهر خلفية المسرح إضافة إلى تعليمات أخرى كعرض كلمات تقولها الشخصية وهكذا.
			</li>
			<li>
				<strong>كتل الأصوات Sound</strong>: لوّنت هذه الكتل باللون النهدي (موف) وتضم تعليمات تشغيل سلسلة من الأصوات الجاهزة أو المسجّلة.
			</li>
			<li>
				<strong>كتل التحكم Control</strong>: لوّنت هذه الكتل باللون البرتقالي الغامق وتضم تعليماتٍ تتحكم بتدفق بمسار التعليمات كالحلقات والتكرار والعبارات الشرطية.
			</li>
			<li>
				<strong>كتل الاستشعار Sensing</strong>: لوّنت هذه الكتل باللون السماوي وتضم تعليمات التحكم بطريقة تفاعل الشخصية كأن تنفّذ عملًا ما عند ضغط زر معين من أزرار لوحة المفاتيح.أو استخدام مؤقتات زمنية.
			</li>
			<li>
				<strong>كتل المتغيرات Variables</strong>: لوّنت باللون البني وتضم التعليمات التي تعرّف المتغيرات وتعليمات استخدامها.
			</li>
			<li>
				<strong>كتل العمليات Operators</strong>: لوّنت بالأخضر وتضم تعليمات إجراء العمليات الرياضية الأساسية وعمليات الموازنة بين الكميات العددية (أكبر وأصغر ويساوي).
			</li>
			<li>
				<strong>لبناتي Myblocks</strong>: لوّنت بالزهري وهي سلسلة من الكتل التي ترتبها بنفسك لأداء وظيفة معينة متكررة ضمن مشروعك بدلًا من إعادة كتابة هذه السلسلة كل مرة تحتاجها.
			</li>
		</ul>
	</li>
	<li>
		<strong>نافذة الكتل البرمجية</strong>: عند النقر على أي فئة من فئات الكتل البرمجية مثل "المظهر" تُعرض في هذه النافذة جميع الكتل التي تضمها هذه المجموعة.
	</li>
	<li>
		<strong>نافذة بناء البرنامج</strong>: تُسحب الكتل المطلوبة لبناء البرنامج إليها انطلاقًا من نافذة الكتل البرمجية، وتساعدك هذه النافذة على ضبط محاذاة الكتل وتلميحات إلى الأماكن التي تصلح أن توضع فيها عن طريق تظليل هذه الأماكن.
	</li>
	<li>
		<strong>المسرح</strong>: وهي النافذة التي يُنفَّذ البرنامج ضمنها وفي أعلاها أيقونة "علم أخضر" لبدء التنفيذ وأيقونة "دائرة حمراء" لإيقافه.
	</li>
	<li>
		<strong>نافذة الشخصيات</strong>: يمكنك ضمن هذه النافذة اختيار شخصيات البرنامج من خلال عدد من الشخصيات المتاحة، كما يمكنك اختيار عدة أوضاع مختلفة للشخصية إن أردت أن تحرّكها. ولاختيار شخصية انقر على الأيقونة الزرقاء أسفل ويمين النافذة.
	</li>
	<li>
		<strong>نافذة خلفيات المسرح</strong>: وتضم قائمة بجميع الخلفيات التي ستستخدمها في برنامجك. يمكنك اختيار خلفية بالنقر على الأيقونة الزرقاء أسفل النافذة.
	</li>
</ol>

<h2 id="-2">
	البرمجة باستخدام سكراتش
</h2>

<p>
	سنوضح الأمر من خلال مثال غاية في البساطة، لكن إن أردت أن تتعمق أكثر ننصحك بالاطلاع على مقال <a href="https://academy.hsoub.com/programming/os-embedded-systems/%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%B3%D9%83%D8%B1%D8%A7%D8%AA%D8%B4-scratch-r1407/" rel="">البرمجة باستخدام سكراتش</a> في أكاديمية حسوب الذي سيساعدك على فهم الترابط بين الكتل البرمجية المختلفة واستخدامها في بناء البرامج.
</p>

<h3 id="-3">
	برنامج "مرحبا أيها العالم!"
</h3>

<p>
	تقول الأسطورة أن كل مبرمج ينفّذ برنامج "مرحبًا أيها العالم!" عندما يبدأ تعلم لغة برمجة جديدة سيكون محظوظًا! لهذا سيكون أول برنامج نبنيه في سكراتش هو هذا البرنامج.
</p>

<p>
	المبدأ بسيط: سنكتب برنامجًا يطبع عبارة "مرحبًا أيها العالم!" على مسرح سكراتش، لكننا سنجعل شخصية القط تقول هذه الجملة وهي تتحرك من طرف إلى طرف.
</p>

<ul>
	<li>
		انقر بداية على أيقونة الفئة "أحداث Events" ثم انتقل إلى نافذة الكتل البرمجية وانقر على الكتلة <a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="138760" href="https://academy.hsoub.com/uploads/monthly_2023_11/when_clicked_block.png.1694a5ee6c7ed5369b1ec25c32a3a906.png" rel=""><img alt="when clicked block" class="ipsImage ipsImage_thumbnailed" data-fileid="138760" data-ratio="70.69" data-unique="u3bbdzehk" style="width: 58px; height: auto;" width="58" src="https://academy.hsoub.com/uploads/monthly_2023_11/when_clicked_block.png.1694a5ee6c7ed5369b1ec25c32a3a906.png"> </a> ثم اسحبها وافلتها في نافذة بناء البرنامج.
	</li>
	<li>
		انقر بعد ذلك على أيقونة الفئة "حركة Motion" ثم اختر الكتلة<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="138762" href="https://academy.hsoub.com/uploads/monthly_2023_11/move_block.png.131a34aaa6c83dc15bfebe3aa75921d2.png" rel=""><img alt="move block" class="ipsImage ipsImage_thumbnailed" data-fileid="138762" data-unique="x7rkqwcgg" src="https://academy.hsoub.com/uploads/monthly_2023_11/move_block.png.131a34aaa6c83dc15bfebe3aa75921d2.png"> </a>وضعها أسفل الكتلة السابقة وستلاحظ أنها ستأخذ مكانها. عدّل الرقم الموجود قبل كلمة "خطوة" إلى 200 لتظهر الحركة على الشاشة بوضوح.
	</li>
	<li>
		انقر بعد ذلك على أيقونة الفئة "هيئة Looks" ثم اختر الكتلة <a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="138761" href="https://academy.hsoub.com/uploads/monthly_2023_11/say_block.png.3830d6033a61595c730416e8340bee32.png" rel=""><img alt="say block" class="ipsImage ipsImage_thumbnailed" data-fileid="138761" data-unique="1xu8qm0gr" src="https://academy.hsoub.com/uploads/monthly_2023_11/say_block.png.3830d6033a61595c730416e8340bee32.png"> </a> وضعها تاليًا. اكتب عبارة "مرحبًا أيها العالم!" ضمن الكتلة في المكان المخصص واضبط زمن عرض العبارة على "3 ثوان" كي تبقى العبارة فترة أطول من الزمن قبل أن تختفي.
	</li>
	<li>
		عد بعد ذلك إلى الفئة "حركة Motion" ثم اختر الكتلة <a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="138762" href="https://academy.hsoub.com/uploads/monthly_2023_11/move_block.png.131a34aaa6c83dc15bfebe3aa75921d2.png" rel=""><img alt="move block" class="ipsImage ipsImage_thumbnailed" data-fileid="138762" data-unique="x7rkqwcgg" src="https://academy.hsoub.com/uploads/monthly_2023_11/move_block.png.131a34aaa6c83dc15bfebe3aa75921d2.png"> </a>وضعها في الأسفل لتتابع الشخصية المشي بعد الترحيب بك، وعدّل الرقم الموجود قبل كلمة "خطوة" إلى 200 أيضًا.
	</li>
</ul>

<p>
	هذا هو البرنامج! ماعليك الآن سوى النقر على أيقونة "الراية الخضراء" أعلى نافذة المسرح لترى نتيجة عملك.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="138763" href="https://academy.hsoub.com/uploads/monthly_2023_11/03_hello_world.png.ff5c810b13ec3dec1b3ac94706d0e0e2.png" rel=""><img alt="برنامج بلغة سكراتش" class="ipsImage ipsImage_thumbnailed" data-fileid="138763" data-ratio="45.11" data-unique="6u9o6hvcy" style="width: 900px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2023_11/03_hello_world.thumb.png.15e5267304fefda6b58a0d3d23e8a0ce.png"> </a>
</p>

<p>
	ينبغي عليك طبعًا قبل البدء بتثبيت سكراتش على حاسوبك، لهذا عليك زيارة موقع البرنامج واختيار النسخة التي تناسب نظام التشغيل لديك. إن لم تكن على دراية كافية بالعمل على الحاسوب وأنظمة تشغيله المختلفة ننصحك بالاطلاع على <a href="https://academy.hsoub.com/learn/computer-science/" rel="">دورة علوم الحاسوب</a> التي تقدمها <a href="https://www.hsoub.com/" rel="external">أكاديمية حسوب</a>، فهي دورة باللغة العربية أعدها مختصون محترفون تأخذ بيدك من الصفر وحتى إتقان أفكار التقنيات المتعلقة بالحواسيب وأنظمة تشغيلها وغيرها الكثير من مواضيع تكنولوجيا المعلومات.
</p>

<h3 id="-4">
	مجالات استخدام لغة سكراتش
</h3>

<p>
	يعتقد الكثير من المبرمجين المبتدئين أو الراغبين بتعلم البرمجة أن سكراتش موجّهة للأطفال واليافعين فقط وبالتالي فهي محدودة الإمكانات. لا يخلو هذا الكلام من الصحة فلن تتمكن من استخدام سكراتش لبناء برمجيات وتطبيقات كلاسيكية لكنها مناسبة جدًا في المجالات التالية:
</p>

<ul>
	<li>
		تعليم اليافعين مبادئ الخوارزميات وأساسيات البرمجة.
	</li>
	<li>
		تصميم رسوم متحركة وعروض تفاعلية.
	</li>
	<li>
		تصميم الألعاب ثنائية البعد.
	</li>
	<li>
		البرمجة الفيزيائية لمكوّنات بعض الأنظمة المدمجة.
	</li>
	<li>
		برمجة بعض أنواع الروبوتات.
	</li>
</ul>

<h4 id="-5">
	تعليم اليافعين مبادئ الخوارزميات وأساسيات البرمجة
</h4>

<p>
	عندما تريد حل أي مشكلة أو تنفيذ أي عملية، لا بد من تقسيمها إلى خطوات متسلسلة تسلسلًا منطيًا يفضي إلى النتيجة المطلوبة، تُدعى هذه المنهجية بالخوارزمية وهي أساس بناء البرمجيات. تعزز الطبيعة المرئية للغة سكراتش مفهوم التسلسل المنطقي للتعليمات من خلال ربط الكتل البرمجية المتناسبة مع بعضها البعض لتنفييذ البرنامج المطلوب. يُحفّز عرض الشيفرة على شكل كتل مترابطة ومتسلسلة (بشكل يماثل ألعاب الأحجيات Puzzle) المتعلّم على التفكير والتجريب والاستكشاف دون مواجهة أخطاء الشيفرة المكتوبة التي قد تكون مرهقة ومملة. فإن أخذت كتلة برمجية مكانها الصحيح فتسلسل برنامجك صحيح سواء أعمل كما تتوقع أم لا! للاطلاع على مزيد من الأفكار واستكشاف إمكانيات سكراتش في تعليم البرمجة للمبتدئين ننصحك بقراة مقال <a href="https://academy.hsoub.com/programming/os-embedded-systems/%D8%A8%D8%B1%D9%85%D8%AC-%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%AA%D9%83-%D8%A7%D9%84%D8%A3%D9%88%D9%84%D9%89-%D8%B9%D8%A8%D8%B1-%D8%B3%D9%83%D8%B1%D8%A7%D8%AA%D8%B4-scratch-r1619/" rel="">برمج خوارزميتك الأولى عبر سكراتشScratch</a>، فستجد فيه الأساسيات التي يحتاجها المبتدئ.
</p>

<h4 id="-6">
	تصميم رسوم متحركة وعروض تفاعلية
</h4>

<p>
	يعتمد سكراتش أساسًا على تحريك شخصيات باستخدام كتل برمجية مختلفة وبالتالي يمكن بقليل من الجهد وكثير من الخيال أن تؤلف قصة كرتونية انطلاقًا من تحريك هذه الشخصيات وجعلها تنطق أو تفكر واستخدام خلفيات مبتكرة لكل مشهد فالأمر تمامًا كما لو كنت تؤدي عملًا مسرحيًا!
</p>

<h4 id="-7">
	تصميم الألعاب ثنائية البعد
</h4>

<p>
	الألعاب ثنائية البعد هي قصص كرتونية بالفعل لكنها تتيح للمتابع أن يكون جزءًا منها. تتيح الكتل البرمجية في فئتي الحركة والاستشعار أن يتفاعل مع البرنامج بنقر زر الفأرة أو الضغط على أحد أزرار لوحة المفاتيح وهذا بالضبط ما يجعل استخدام سكراتش في بناء الألعاب أمرًا ممتعًا! إن وجدت أن الأمر يستحق التجربة فعليك الاطلاع على مقال <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%84%D8%B9%D8%A8%D8%A9-%D8%AA%D9%81%D8%A7%D8%B9%D9%84%D9%8A%D8%A9-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%B3%D9%83%D8%B1%D8%A7%D8%AA%D8%B4-r1697/" rel="">برمجة لعبة تفاعلية باستخدام سكراتش</a> ومقال <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%84%D8%B9%D8%A8%D8%A9-%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A%D8%A9-%D9%85%D9%86-%D9%85%D9%86%D8%B8%D9%88%D8%B1-%D8%A7%D9%84%D9%84%D8%A7%D8%B9%D8%A8-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%B3%D9%83%D8%B1%D8%A7%D8%AA%D8%B4-r1662/" rel="">برمجة لعبة إلكترونية من منظور اللاعب باستخدام سكراتش</a> اللذان يقدمان لك أساسيات استخدام سكراتش في تصميم الألعاب ويعرض خطوات بناء عدد منها. كما يمكنك الاطلاع على مقالات أخرى بهذا الخصوص ضمن قسم <a href="https://academy.hsoub.com/tags/%D8%B3%D9%83%D8%B1%D8%A7%D8%AA%D8%B4/" rel="">سكراتش</a> في موقع أكاديمية حسوب.
</p>

<h4 id="-8">
	البرمجة الفيزيائية لمكونات بعض الأنظمة المدمجة
</h4>

<p>
	يُقصد بالبرمجة الفيزيائية التحكم ببعض التجهيزات الإلكترونية المرتبطة بالحاسوب وخاصة حواسيب اللوحة الواحدة مثل راسبيري باي وأوردوينو. إن الطبيعة المرئية للغة سكراتش جعلت من الممتع والسهل في آن معًا التحكم بتشغيل الأضواء أو الأصوات أو استشعار البيئة المحيطة من خلال تجهيزات خاصة مرتبطة بهذه الحواسيب. يقدّم لك مقال <a href="https://academy.hsoub.com/programming/os-embedded-systems/%D8%B1%D8%A8%D8%B7-%D8%B1%D8%A7%D8%B3%D8%A8%D9%8A%D8%B1%D9%8A-%D8%A8%D8%A7%D9%8A-%D8%A8%D8%B9%D9%86%D8%A7%D8%B5%D8%B1-%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A%D8%A9-%D9%88%D8%A8%D8%B1%D9%85%D8%AC%D8%AA%D9%87%D8%A7-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%B3%D9%83%D8%B1%D8%A7%D8%AA%D8%B4-%D9%88%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-r1496/" rel="">ربط راسبيري باي بعناصر إلكترونية وبرمجتها باستخدام سكراتش وبايثون</a> أساسيات استخدام سكراتش في كتابة برامج تتحكم بالعناصر الإلكترونية المرتبطة بحاسوب راسبيري باي، كما يساعدك مقال <a href="https://academy.hsoub.com/programming/os-embedded-systems/%D8%A7%D9%84%D8%AD%D9%88%D8%B3%D8%A8%D8%A9-%D8%A7%D9%84%D9%81%D9%8A%D8%B2%D9%8A%D8%A7%D8%A6%D9%8A%D8%A9-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%B1%D8%A7%D8%B3%D8%A8%D9%8A%D8%B1%D9%8A-%D8%A8%D8%A7%D9%8A-%D9%85%D8%B9-%D9%84%D9%88%D8%AD%D8%A9-%D8%B3%D9%86%D8%B3-%D9%87%D8%A7%D8%AA-sense-hat-r1600/" rel="">الحوسبة الفيزيائية: برمجة راسبيري باي مع لوحة سنس هات Sense HAT</a> على فهم طريقة ربط الحساسات التي تستشعر البيئة المحيطة مع حاسوب راسبيري باي وطريقة برمجتها والاستفادة من قراءاتها.
</p>

<p>
	ستجد أيضًا في أكاديمية حسوب مجموعة من المقالات التي تساعدك على بناء ألعاب إلكترونية باستخدام سكراتش وراسبيري باي مثل مقال <a href="https://academy.hsoub.com/programming/os-embedded-systems/%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D9%84%D8%B9%D8%A8%D8%A9-%D8%A7%D9%84%D8%B3%D9%84%D9%83-%D9%88%D8%A7%D9%84%D8%AD%D9%84%D9%82%D8%A9-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC-%D8%B3%D9%83%D8%B1%D8%A7%D8%AA%D8%B4-%D9%88%D8%AD%D8%A7%D8%B3%D9%88%D8%A8-%D8%B1%D8%A7%D8%B3%D8%A8%D9%8A%D8%B1%D9%8A-%D8%A8%D8%A7%D9%8A-r1495/" rel="">تصميم لعبة السلك والحلقة باستخدام برنامج سكراتش وحاسوب راسبيري باي</a>.
</p>

<h4 id="-9">
	برمجة الروبوتات
</h4>

<p>
	تقدّم سكراتش مجموعة من البرمجيات الإضافية التي تُدعى "موسّعات Extensions" وتهدف إلى زيادة وظائفية اللغة في مجال برمجة التطبيقات والتحكم بالعتاد الصلب. تُعد هذه الموسّعات مفيدة جدًا في التحكم ببعض الألعاب الروبوتية والروبوتات التعليمية مثل Lego Education WeDo لتلقي إشارات الحساسات في روبوت Lego WeDo و Text To Speech لجعل الشخصية تتكلم.
</p>

<h2 id="-10">
	خاتمة
</h2>

<p>
	استفاد مصممو لغة سكراتش من أسلوب البرمجة المرئية في تطوير لغة تفاعلية سهلة التعلم وواضحة الأغراض في نفس الوقت، كما تؤمن معظم التقنيات البرمجية التي تتمتع بها أي لغة عالية المستوى. وقد وجدت هذه اللغة استخدامات كثيرة في نطاق برمجة النظم المدمجة بعيدًا عن الغاية الأساسية من تصميمها وهي تعليم اليافعين أصول البرمجة. يدل هذا الأمر على الإمكانات التي تتمتع بها هذه اللغة على الرغم من محدوديتها، ولا أحد يدري ما ستؤول إليه الأحداث في المستقبل، لهذا من الجيد أن يطلع عليها من يرغب في تعلم البرمجة، وسيجد أنها تعزز الكثير من المفاهيم البرمجية التي يصادفها لاحقًا إن قرر تعلم أي لغة برمجة نصية.
</p>

<h2 id="-11">
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/os-embedded-systems/%D8%A8%D8%B1%D9%85%D8%AC-%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%AA%D9%83-%D8%A7%D9%84%D8%A3%D9%88%D9%84%D9%89-%D8%B9%D8%A8%D8%B1-%D8%B3%D9%83%D8%B1%D8%A7%D8%AA%D8%B4-scratch-r1619/" rel="">برمجة خوارزميتك الأولى عبر سكراتش</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%AA%D9%86%D9%81%D9%8A%D8%B0-%D9%85%D8%B4%D8%B1%D9%88%D8%B9-%D8%AD%D8%A7%D9%81%D9%84%D8%A9-%D9%85%D8%AF%D8%B1%D8%B3%D8%A9-%D9%85%D8%AA%D8%AD%D8%B1%D9%83%D8%A9-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC-%D8%B3%D9%83%D8%B1%D8%A7%D8%AA%D8%B4-r1550/" rel="">تنفيذ مشروع حافلة مدرسة متحركة باستخدام برنامج سكراتش</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">تعلم أساسيات البرمجة</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2175</guid><pubDate>Mon, 13 Nov 2023 13:00:00 +0000</pubDate></item><item><title>&#x627;&#x644;&#x637;&#x631;&#x64A;&#x642;&#x629; &#x627;&#x644;&#x623;&#x645;&#x62B;&#x644; &#x644;&#x62F;&#x631;&#x627;&#x633;&#x629; &#x62A;&#x62E;&#x635;&#x635; &#x647;&#x646;&#x62F;&#x633;&#x629; &#x627;&#x644;&#x628;&#x631;&#x645;&#x62C;&#x64A;&#x627;&#x62A;</title><link>https://academy.hsoub.com/programming/general/%D8%AF%D8%B1%D8%A7%D8%B3%D8%A9-%D8%AA%D8%AE%D8%B5%D8%B5-%D9%87%D9%86%D8%AF%D8%B3%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_11/2034516636_.png.a96907d4e600aeabde402b8f3781a87a.png" /></p>
<p>
	نوضح في هذا المقال الأسلوب الأمثل لدراسة تخصص هندسة البرمجيات، ونجيب على السؤال المهم حول إمكانية دراسة البرمجة بشكل ذاتي. ونسلط الضوء على أهم المميزات والتحديات التي ستواجهك إذا اخترت الدراسة الذاتية للبرمجة أو الدراسة الأكاديمية لها، ونختم المقال بجملة من النصائح التي تساعدك لتتعلم البرمجة باحترافية وكفاءة.
</p>

<h2 id="">
	هل يناسبني تخصص هندسة البرمجيات؟
</h2>

<p>
	لا شك أن البرمجة مهارة مميزة في عصرنا الحالي سريع التطور، وقرار تعلم البرمجة أو هندسة البرمجيات هو خيار ممتاز وخطوة صائبة، ويعد <a href="https://academy.hsoub.com/programming/general/%D9%87%D9%86%D8%AF%D8%B3%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA/" rel="">تخصص هندسة البرمجيات</a> واحدًا من أسرع المجالات نموًا في العالم ويوفر للمرء فرص عمل متعددة ذات أجر مرتفع ويضمن له مستقبلًا مشرقًا، فكل الأعمال اليوم تحتاج لمن يطور لها البرامج والمواقع ويقوم بصيانتها وتحديثها بصورة مستمرة.
</p>

<p style="text-align: center;">
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" id="ips_uid_3600_6" src="https://academy.hsoub.com/applications/core/interface/index.html" title="YouTube video player" width="560" data-embed-src="https://www.youtube.com/embed/DhlBban1w6Q?si=5vvAabJBJGvFnHWJ"></iframe>
</p>

<p>
	إضافة لكونه مجالًا إبداعيًا ودائم التطور يمنح المتخصص فيه قدرة إبداعية ويحسّن طريقة تفكيره المنطقي ويمكّنه من تطوير برامج وتطبيقات بأفكار مميزة ونافعة، فإذا كنت مهتمًا بمجال البرامج الحاسوبية ولغات البرمجة ولديك رغبة دائمة في تطوير نفسك وصبر على تعلم الكثير من المفاهيم والأدوات والاطلاع على كل جديد في مجال التقنيات واستعداد لمواجهة التحديات وحل المشكلات وإتمام المهام وانتباه جيد للتفاصيل فدراسة تخصص هندسة البرمجيات خيار مناسب لك بكل تأكيد ويحقق لك الكثير من الفوائد والمميزات وأهمها:
</p>

<ol>
	<li>
		توفير العديد من فرص العمل في مختلف المجالات والقطاعات، فالطلب على المبرمجين ومهندسي البرمجيات في تزايد مستمر.
	</li>
	<li>
		الحصول على أجور مرتفعة مقارنة بالتخصصات والوظائف الأخرى.
	</li>
	<li>
		تعزيز القدرة على التفكير التحليلي والمنطقي وحل المشكلات بسهولة ومرونة.
	</li>
	<li>
		مرونة في اختيار ساعات ومكان العمل حيث يمكن العمل عن بعد من داخل المنزل أو أي مكان وخلال أي وقت تفضله.
	</li>
	<li>
		حرية العمل بشكل مستقل أو بدء عملك الخاص أو العمل في شركة مع فريق متكامل.
	</li>
	<li>
		القدرة على تحويل الأفكار إلى تطبيقات ومشاريع مبتكرة تفيد البشر وتسهّل عملهم.
	</li>
	<li>
		مواكبة التطور التقني وفهم طريقة التعامل مع التقنيات الحديثة بسرعة وسهولة.
	</li>
	<li>
		اكتساب مهارة التطوير الذاتي والقدرة على تعلم مهارات جديدة باستمرار.
	</li>
</ol>

<h2 id="-1">
	كيفية تعلم تخصص هندسة البرمجيات
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="138757" href="https://academy.hsoub.com/uploads/monthly_2023_11/192206272_.png.b7aa763759cfaae879a3a081384c397f.png" rel=""><img alt="دراسة تخصص هندسة البرمجيات" class="ipsImage ipsImage_thumbnailed" data-fileid="138757" data-ratio="66.83" data-unique="5pvm5pp2w" style="width: 600px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2023_11/.thumb.png.e6f01c78802b60b7fb246eb460f259a3.png"></a>
</p>

<p>
	إذا قررت التخصص في مجال البرمجة وهندسة البرمجيات فسوف تجد أمامك خيارين أو نهجين متاحين للتعلم الأول هو الطريق الأكاديمية أي سيتوجب عليك الالتحاق بجامعة أو كلية تقنية متخصصة في هندسة البرمجيات أو علوم الحاسوب أو أي اختصاص مشابه، وهذا الخيار يمنحك تعليمًا شاملًا للبرمجة وفق منهج منظم ومحدد لكنه طريق طويل يلزمك بدراسة الكثير الكثير من المقررات ويمتد لفترة زمنية طويلة.
</p>

<p>
	الخيار الثاني هو الطريق المهني حيث يتوجب عليك دراسة تخصص هندسة البرمجيات بشكل ذاتي مستفيدًا من مصادر التعلم الكثيرة والمتنوعة من كتب ومقالات ودروس ومقاطع فيديو ودورات تدريبية متاحة عبر الإنترنت لتعلم لغات البرمجة والتقنيات وغيرها من الأدوات والمهارات المطلوبة لإتقان التخصص وهذا الخيار يمكّنك من التركيز على تخصصك واحترافه بوقت أقل.
</p>

<p>
	سنناقش في الفقرات التالية أبرز المميزات والعيوب لكل طريقة من هذه الطرق لنساعدك على اختيار الطريقة الأفضل والأنسب لك.
</p>

<h2 id="-2">
	الدراسة الجامعية لتخصص هندسة البرمجيات
</h2>

<p>
	إذا قررت دراسة هندسة البرمجيات من خلال الالتحاق بإحدى الجامعات الأكاديمية حيث تستغرق الدراسة في هذا التخصص وسطيًا أربع سنوات وقد يختلف عدد السنوات والمواد من جامعة لأخرى. وهذا الخيار سيوفر لك عدة مميزات وسيضع أمامك جملة من العوائق والتحديات، لنناقش كلًا منها على حدا في فقراتنا التالية.
</p>

<h3>
	مميزات الدراسة الجامعية لتخصص هندسة البرمجيات
</h3>

<p>
	من أهم المميزات والإيجابيات التي ستحصل عليها عند دراسة تخصص هندسة البرمجيات في الجامعة ما يلي:
</p>

<ul>
	<li>
		الحصول على تعليم منهجي ومنظم وفق جدول زمني محدد فالمناهج الجامعية موضوعة بعناية ومرتبة وفق ترتيب منطقي يتدرج في تعليمك كافة الأساسيات التي تحتاجها والتي يمكنك من خلال تعلمها تطوير نفسك في أي مجال لاحقًا.
	</li>
	<li>
		الحصول على شهادة جامعية معترف بها تعزز مصداقيتك وتساعدك على الحصول على فرصة عمل.
	</li>
	<li>
		توفر دراسة البرمجة في الجامعة جو تعلّم جماعي وتمكّنك من التفاعل مع زملاء لهم نفس الاهتمامات وتنفيذ مشاريع جماعية ومناقشات مثمرة.
	</li>
	<li>
		توفر الجامعات مختبرات حواسيب ومكتبات ضخمة تضم الكثير من الكتب والمصادر البرمجية القيّمة التي تساعدك في عملية التعلم.
	</li>
</ul>

<h3 id="-3">
	صعوبات وتحديات الدراسة الجامعية لتخصص هندسة البرمجيات
</h3>

<p>
	لا يخلو التعليم الجامعي في تخصص هندسة البرمجيات من بعض العوائق والصعوبات التي تحتاج لأن تأخذها بعين الاعتبار عند اختيار المسار الأفضل بالنسبة لك ومن أبرز هذه الصعوبات نذكر:
</p>

<ul>
	<li>
		تحتاج دراسة هندسة البرمجيات في الجامعة لمدة زمنية طويلة تستغرق 4 سنوات أو أكثر وتختلف المدة حسب كل جامعة.
	</li>
	<li>
		المقاعد الجامعية محدودة فقد لا تحصل على فرصة في دراسة هندسة البرمجيات في الجامعة التي تطمح لها وتضطر لدراسة تخصص آخر.
	</li>
	<li>
		يعتبر التعليم الجامعي مرتفع التكلفة مقارنة بالتعلم الذاتي حيث ستضطر لدفع تكاليف الرسوم الجامعية والكتب وأجور المواصلات وغيرها.
	</li>
	<li>
		ستضطر خلال فترة دراسة تخصص هندسة البرمجيات في الجامعة إلى تعلم الكثير من المواد النظرية المملة التي لن تفيد مطلقًا في سوق العمل.
	</li>
	<li>
		لا زال أسلوب تعليم البرمجة وتقييم معلومات الطالب في بعض الكليات معتمدًا على الأساليب التقليدية القديمة التي تختبر الحفظ بدل الفهم ولا تقيم مهارات الطالب تقييمًا صحيحًا، وهذا الأسلوب يناسب التخصصات النظرية لكنه لا يناسب تخصص هندسة البرمجيات والحاسوب الذي يعتمد على الفهم والإبداع والمنطق.
	</li>
	<li>
		لا تواكب بعض المناهج الجامعية التطور السريع في مجال البرمجة وتقنياتها أولًا بأول، وقد تعتمد لسنوات على نفس المناهج القديمة التي عفا عليها الزمن فإذا اكتفيت بما تعلمك إياه الجامعة ستخرج إلى سوق العمل وتفاجأ بالفجوة الكبيرة بين ما تعلمته في أروقة الجامعات وبين ما هو مستخدم في سوق العمل.
	</li>
</ul>

<h2 id="-4">
	الدراسة الذاتية لتخصص هندسة البرمجيات
</h2>

<p>
	هل تعلم أن معظم المبرمجين الناجحين لم يكونوا خريجي كليات تقنية وليس لديهم شهادات جامعية في أحد التخصصات البرمجية بل اتبعوا أسلوب التعلم الذاتي وأثبتوا جدارتهم من خلال العمل على تطوير مشاريعهم البرمجية الخاصة حيث توفر الدراسة الذاتية لتخصص هندسة البرمجيات جملة من الفوائد والمميزات التي قد لا يوفرها لك خيار التعلم الجامعي التقليدي، وإذا كنت ترغب بالاطلاع على قصص نجاح لأشخاص تمكنوا من تحقيق النجاح والتميز من خلال دراسة هندسة البرمجيات بشكل ذاتي أنصحك بمطالعة <a href="https://academy.hsoub.com/success-stories/" rel="">قصص نجاح طلاب أكاديمية حسوب</a> ففيها تجارب ملهمة حقًا.
</p>

<p>
	لكن الدراسة الذاتية لتخصص هندسة البرمجيات تتضمن أيضًا جوانب إيجابية وأخرى سلبية سنتعرف عليها في الفقرات التالية.
</p>

<h3 id="-5">
	مميزات الدراسة الذاتية لتخصص هندسة البرمجيات
</h3>

<p>
	من أبرز الفوائد التي ستعود عليك في حال قررت دراسة هندسة البرمجيات بشكل ذاتي ما يلي:
</p>

<ul>
	<li>
		مرونة التعلم في أي وقت وتحديد عدد ساعات التعلم وجدول الدارسة وفق ما يناسب ظروفك.
	</li>
	<li>
		تعلم البرمجة من المنزل أو أي مكان يناسبك بدل تكبد عناء الذهاب لمقر الجامعة الذي قد يكون موجودًا في مكان بعيد عنك أو خارج مدينتك.
	</li>
	<li>
		التعلم بتكلفة بالمجّان أو دفع تكلفة منخفضة مقارنة بتكاليف التعليم الجامعي.
	</li>
	<li>
		التعلم بصورة أسرع من خلال التركيز على تعلم لغات البرمجة والتقنيات التي تفيدك في تخصصك البرمجي فقط.
	</li>
	<li>
		التعلم من مصادر حديثة ما يبقيك على اطلاع بأحدث التقنيات في تخصصك البرمجي بدل دراسة معلومات قديمة عفا عليها الزمن.
	</li>
	<li>
		توفر مصادر تعلم عديدة ومتنوعة تمكّنك من تحديد الأسلوب الذي تفضلّه وتحقيق أفضل استفادة.
	</li>
	<li>
		التركيز على التطبيق العملي وتنفيذ المشاريع المطلوبة في سوق العمل بدل التعلم النظري الممل.
	</li>
	<li>
		تعلم التنظيم وإدارة الوقت وتحديد أولويات التعلم يما يحقق أهدافك من التعليم.
	</li>
	<li>
		تطوير مهارة التواصل الفعال مع المجتمعات البرمجية عبر الإنترنت.
	</li>
	<li>
		زيادة الاعتماد على النفس واكتساب مرونة في مواجهة التحديات وحل أي مشكلات تواجهك بمفردك.
	</li>
</ul>

<h2 id="-6">
	صعوبات وتحديات الدراسة الذاتية لتخصص هندسة البرمجيات
</h2>

<p>
	بالرغم مما توفره الدراسة الذاتية للبرمجة من مميزات ونقاط قوة إلا أنها لا تخلو من بعض الصعوبات والتحديات وإن لم تتعامل معها بشكل صحيح فقد تصاب بالإحباط وتفشل في تحقيق أهدافك، وإليك قائمة بأبرز هذه الصعوبات:
</p>

<ul>
	<li>
		التعلم الفوضوي وغير المنضبط فقد تشتتك كثرة المصادر ولا تعرف من أين تبدأ وما هي الخطوات الصحيحة التي عليك اتباعها.
	</li>
	<li>
		عدم وجود أستاذ يقيّمك ويمكّنك من تحديد مستواك ومعرفة نقاط ضعفك والعمل على تحسينها.
	</li>
	<li>
		عدم تنظيم الوقت والمماطلة وفقدان التركيز والانضباط والتحفيز.
	</li>
	<li>
		لا تحصل على شهادة أكاديمية تثبت ما تعلمته لكن يمكن حل هذه النقطة ببناء معرض أعمال قوي يثبت كفاءتك وهو الأهم حاليًا في سوق العمل والكل يبحث عنه بدلًا من الشهادة.
	</li>
	<li>
		إذا كنت شخصًا اجتماعيًا فقد يشعرك التعلم الذاتي بنوع من العزلة لعدم وجود زملاء أو فريق يشاركك التعلم ويتعاون معك في المشاريع، والانضمام للمجتمعات والمنتديات عبر الانترنت يساعدك في تخطي هذه الصعوبة.
	</li>
</ul>

<h2 id="-7">
	هل أتعلم البرمجة عبر الجامعة أم ذاتيًا؟
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="138758" href="https://academy.hsoub.com/uploads/monthly_2023_11/--.png.69638bd510889772ffd39bc64bf77d8a.png" rel=""><img alt="تعلم البرمجة وهندسة البرمجيات" class="ipsImage ipsImage_thumbnailed" data-fileid="138758" data-ratio="67.00" data-unique="dalotn6lz" style="width: 600px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2023_11/--.thumb.png.1f268c45e9cc3254cc764be82ef46269.png"></a>
</p>

<p>
	سواء اخترت تعلم البرمجة بشكل ذاتي أو في كلية أو جامعة فيجب أن تضع في الحسبان أن تعلم البرمجة ليس بالأمر اليسير بل يحتاج للكثير من الصبر والمثابرة وبذل الجهد والتعلم المستمر من مصادر حديثة والتطبيق العملي، ستحتاج إلى قضاء وقت كبير في البرمجة والعمل على مشاريع لتحسين مهاراتك لكن حلاوة الإنجاز ستهون عليك التعب.
</p>

<p>
	وختاًا إليك بعض النصائح لتصبح مهندس برمجيات ناجح:
</p>

<ul>
	<li>
		ابدأ بتعلم <a href="https://academy.hsoub.com/programming/advanced/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-r1282/" rel="">الخوارزميات</a> و<a href="https://academy.hsoub.com/programming/general/%D8%A3%D9%87%D9%85%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%81%D9%83%D9%8A%D8%B1-%D8%A7%D9%84%D9%85%D9%86%D8%B7%D9%82%D9%8A-%D9%81%D9%8A-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r2095/" rel="">التفكير المنطقي</a> قبل أن تبدأ في <a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">تعلم أساسيات البرمجة</a>، ففهم هذه المواضيع أمر بالغ الأهمية لك كمبرمج أو مهندس برمجيات.
	</li>
	<li>
		تعرف على أهم <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AC%D8%A7%D9%84%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">مجالات البرمجة</a> وأكثر <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D8%B9%D9%84%D9%89-%D8%AA%D8%AE%D8%B5%D8%B5%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A3%D8%AC%D8%B1%D9%8B%D8%A7-r1939/" rel="">التخصصات البرمجية</a> المطلوبة في سوق العمل الذي تود التوجه له، وحدد بناءً على ذلك ما هو التخصص البرمجي الذي تود متابعة دراسته واحترافه، ثم ضع قائمة بأهم لغات البرمجة والتقنيات التي عليك تعلمها لتتقنها وضع خطة محكمة لتعلمها.
	</li>
	<li>
		طبق كل ما تتعلمه فكلما كتبت أكوادًا أكثر كلما استوعبت المفاهيم البرمجية بشكل أفضل، وتأكد أنك مهمًا قرأت من دروس وشاهدت من مقاطع فيديو فلن تصبح مبرمجًا كفؤًا إلا إذا مارست ما تتعلمه بشكل عملي وتدربت على حل المشكلات وتصحيح الأخطاء التي ستظهر عند تنفيذ الكود.
	</li>
	<li>
		فكّر ثم برمج ولا تكتب أي كود برمجي قبل أن تخطط وتحلل مشروعك بشكل جيد وتفهم الوظائف والمهام المطلوبة بوضوح ثم تنفذها من خلال الأكواد البرمجية.
	</li>
	<li>
		حدّث معلوماتك باستمرار فمهما كان مستوى خبرتك فهناك دومًا معلومات وتقنيات جديدة تحتاج لتعلمها.
	</li>
	<li>
		شارك في المنتديات والمجتمعات البرمجية وتبادل معلوماتك وتجاربك مع المبرمجين والمطورين الآخرين.
	</li>
	<li>
		من الجيد أن تتعلم أكثر من تقنية أو لغة لتطوير مشاريعك البرمجية فهذا يجعلك قابلًا للتكيف مع سوق العمل والتغير الكبير في المتطلبات.
	</li>
	<li>
		إذا كنت تشعر بالتشتت ولا تملك القدرة على تنظيم تعلمك وتقييم معلوماتك فإن اتباعك لدورات تدريبية منهجية في التخصص البرمجي الذي تحبه سيمكنك من اتباع الخطوات الصحيحة ويساعدك في التعلم بشكل أفضل وأسرع.
	</li>
</ul>

<h2 id="-8">
	كيف تساعدك دورات أكاديمية حسوب على دراسة هندسة البرمجيات
</h2>

<p>
	تساعدك أكاديمية حسوب على تخطي العقبات التي قد تواجهها في في دراستك الذاتية لتخصص هندسة البرمجيات من خلال توفير تعلم منهجي منظم فهي توفر لك الكثير من مصادر التعلم المجانية لتعلم البرمجة من <a href="https://academy.hsoub.com/files/" rel="">كتب</a> و<a href="https://academy.hsoub.com/programming/" rel="">دروس ومقالات</a> وسلاسل تعليمية تناسب كافة المستويات، كما توفر الأكاديمية <a href="https://academy.hsoub.com/store/c1-%d8%af%d9%88%d8%b1%d8%a7%d8%aa-%d8%aa%d8%b9%d9%84%d9%8a%d9%85%d9%8a%d8%a9/" rel="">دورات تعليمة</a> متنوعة في أشهر التخصصات البرمجية المطلوبة في سوق العمل كما تضمن لك حداثة المحتوى التعليمي فالأكاديمية تضيف تحديثات مستمرة لمختلف الدورات لتواكب أحدث التطورات والاتجاهات. أضف إلى ذلك أنها توفر <a href="https://academy.hsoub.com/questions/c3-programming/" rel="">قسم الأسئلة والأجوبة</a> كمجتمع برمجي فاعل يساعدك خلال رحلتك التعليمية.
</p>

<p>
	وعند اشتراكك في إحدى دورات أكاديمية حسوب ستضمن الحصول على شروحات برمجية ذات جودة عالية تدمج بين التعليم النظري والتطبيق العملي حيث تشمل دورات الأكاديمية العديد من المشاريع التطبيقية التي تمنحك خبرة عملية وتقيم مستواك البرمجي بشكل صحيح وتساعدك على بناء معرض أعمال احترافي.
</p>

<p>
	كما توفر لك دعمًا تفاعليًا حيث يمكنك التواصل مع فريق متخصص من المدربين المستعدين لشرح ما يصعب عليك خلال دراستك وإجابتك على على أي تساؤل تطرحه، والأهم أنك ستتمكن من خوص امتحان يقيّم ما تعلمته خلال الدورة لتتمكن من الحصول على شهادة معتمدة من أكاديمية حسوب في حال نجاحك فيه الأمر الذي يعزز فرصتك في الحصول على فرصة عمل مناسبة.
</p>

<p>
	وفي الختام تذكّر أن رحلة تعلم البرمجة قد لا تكون سهلة لكنها بالتأكيد ستكون رحلة مليئة بالتحديات والتشويق والمتعة إذا سلكتها بالطريقة المناسبة واتبعت الخطوات الصحيحة، لذا من المهم أن توازن إيجابيات وسلبيات كل طريقة من طرق تعلم تخصص هندسة البرمجيات وتختار الطريقة التي تناسب ظروفك ومتطلباتك وتلتزم بالنصائح التي ذكرتها لك، وستنجح بإذن الله في تحقيق كل أهدافك والتغلب على كل التحديات والصعوبات التي تواجهك.
</p>

<h2 id="httpsacademyhsoubcomquestionsc3programming">
	الخلاصة
</h2>

<p>
	تعرفنا في مقال اليوم على أبرز الطرق التي يمكنك من خلالها دراسة تخصص هندسة البرمجيات ومميزات وتحديات كل طريقة منها، ويمكن أن نخلص في نهاية المقال بأن الدراسة الذاتية للبرمجة هي الخيار الأفضل لك إذا كنت شخصأ يسعى لدخول سوق العمل وكسب المال بسرعة وتريد أن تحافظ على حداثة معلوماتك وتبقى مطّلعًا على كل جديد لكن هذا يتطلب منك الكثير من الجهد والتنظيم والالتزام واعتماد مصادر تعلم جيدة والتحفيز الذاتي المتواصل لتجنب الفشل والإخفاق.
</p>

<p>
	أما الدراسة الجامعية فهي الأنسب لك إذا كان هدفك هو الحصول على شهادة جامعية والدراسة ضمن بيئة تعلم منظمة ومنهجية وإذا تمكنت من الجمع بين التعليم الجامعي والتعلم الذاتي فسيكون هذا أمرًا رائعًا بإمكانه تجاوز القصور الذي تعاني منه مناهج التعليم التقليدي.
</p>

<h2 id="-9">
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r662/" rel="">تعلم البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%81%D9%88%D8%A7%D8%A6%D8%AF-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">ما هي فوائد تعلم البرمجة؟</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D9%87%D9%84-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أسهل لغات البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA/" rel="">مدخل إلى تطوير البرمجيات Software Development</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2174</guid><pubDate>Mon, 06 Nov 2023 13:00:00 +0000</pubDate></item><item><title>&#x643;&#x64A;&#x641; &#x62A;&#x635;&#x628;&#x62D; &#x645;&#x628;&#x631;&#x645;&#x62C; &#x62A;&#x637;&#x628;&#x64A;&#x642;&#x627;&#x62A; &#x645;&#x62D;&#x62A;&#x631;&#x641;</title><link>https://academy.hsoub.com/programming/general/%D9%85%D8%A8%D8%B1%D9%85%D8%AC-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_10/-.png.7936ac57395f6db13b45d7484f11a615.png" /></p>
<p>
	يعد مجال برمجة التطبيقات أحد التخصصات المربحة والمطلوبة بكثرة في سوق العمل التقني، فإذا كنت مهتمًا بأن تصبح مبرمج تطبيقات محترف وترغب بالتعرف على كافة أنواع التطبيقات سواء تطبيقات الجوال أو تطبيقات الويب أو تطبيقات سطح المكتب وتتساءل عن المهارات والتقنيات التي عليك تعلمها للعمل في هذا التخصص وضمان مستقبل وظيفي واعد فتابع قراءة المقال حتى النهاية.
</p>

<h2>
	من هو مبرمج التطبيقات
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="136885" href="https://academy.hsoub.com/uploads/monthly_2023_10/app_developer.png.5f9ba878ca763089a9a059feda716a5c.png" rel=""><img alt="كيف تصبح مبرمج تطبيقات" class="ipsImage ipsImage_thumbnailed" data-fileid="136885" data-ratio="62.50" data-unique="hxij0e8bc" style="width: 600px; height: auto;" width="600" src="https://academy.hsoub.com/uploads/monthly_2023_10/app_developer.png.5f9ba878ca763089a9a059feda716a5c.png"> </a>
</p>

<p>
	قبل أن نشرح من هو مبرمج التطبيقات دعنا نوضح بداية ما معنى كلمة تطبيق application أو ما يعرف بالبرنامج التطبيقي application program، إن كلمة تطبيق تعني ببساطة برنامجًا مصممًا لأداء مهمة محددة أو ربما مجموعة متنوعة من المهام من خلال جهاز الحاسوب أو الهاتف الجوال أو الجهاز اللوحي أو غيرها من الأجهزة القابلة للبرمجة فكل مهمة محددة تقوم بها على أحد أجهزتك تلك لها تطبيق محدد يساعدك على أدائها.
</p>

<p>
	وبالتالي مبرمج التطبيقات applications programmer أوما يعرف بمطور التطبيقات application developer هو الشخص المسؤول عن كتابة كافة الشيفرات البرمجية الضرورية لعمل التطبيق واختبارها وضمان تنفيذها بشكل صحيح خالٍ من أية أخطاء،كما أنه مسؤول عن تعديل التطبيقات وتطويرها عند الحاجة لتتوافق مع متطلبات المستخدمين واحتياجات العمل المتغيرة وقد يتولى مبرمج التطبيقات كذلك مسؤولية رفع التطبيقات إلى المتاجر المتخصصة والالتزام بكافة الشروط والإرشادات المطلوبة لقبول التطبيقات فيها.
</p>

<h2>
	أنواع مبرمجي التطبيقات
</h2>

<p>
	عندما تنوي العمل كمبرمج تطبيقات ستلاحظ وجود تنوع كبير التخصصات وفي أنواع التطبيقات التي يمكنك تعلم تطويرها وأبرز هذه الأنواع هي:
</p>

<ul>
	<li>
		مبرمج تطبيقات سطح المكتب
	</li>
	<li>
		مبرمج تطبيقات الويب
	</li>
	<li>
		مبرمج تطبيقات الجوال والأجهزة المحمولة
	</li>
	<li>
		مبرمج تطبيقات الويب التقدمية
	</li>
	<li>
		مبرمج تطبيقات الأجهزة الملبوسة
	</li>
</ul>

<p>
	لنتعرف على طبيعة عمل كل تخصص من هذه التخصصات والتقنيات التي تحتاج إلى تعلمها للعمل فيه.
</p>

<h3>
	مبرمج تطبيقات سطح المكتب
</h3>

<p>
	هو المبرمج المسؤول عن تطوير البرامج والتطبيقات التي تعمل على أجهزة الحاسوب المكتبية والحواسيب المحمولة والتي تعمل على نظام التشغيل مباشرةً وتستخدم موارده حيث تكون هذه التطبيقات مخصصة للعمل على نظام تشغيل محدد مثل ويندوز أو لينكس أو ماك أو إس،
</p>

<p>
	بالرغم من أن تطبيقات الويب وتطبيقات الجوال أخذت تنتشر بكثرة في الآونة الأخيرة إلا أن تطبيقات سطح المكتب لازالت مطلوبة في سوق العمل لاسيما في المؤسسات والشركات التي تحتاج إلى تطبيقات محلية التي لا تشترط الاتصال بالإنترنت لتعمل أو تلك التي تتطلب درجة أمان كبيرة أو سرعة تنفيذ عالية.
</p>

<p>
	تطور تطبيقات سطح المكتب باستخدام لغات برمجة متخصصة مثل بايثون <a href="https://wiki.hsoub.com/Python" rel="external">Python</a> أو جافا <a href="https://academy.hsoub.com/programming/java/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D9%85%D8%A7-%D9%87%D9%8A%D8%A9-%D8%AC%D8%A7%D9%81%D8%A7-java-r1515/" rel="">java</a> أو <a href="https://academy.hsoub.com/programming/cpp/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-c-r802/" rel="">C++‎</a>، وللاطلاع على مزيد من التفاصيل حول هذا التخصص وتقنياته المختلفة أنصح بمطالعة مقال <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%B3%D8%B7%D8%AD-%D8%A7%D9%84%D9%85%D9%83%D8%AA%D8%A8/" rel="">برمجة تطبيقات سطح المكتب</a>.
</p>

<h3>
	مبرمج تطبيقات الويب
</h3>

<p>
	هو المطور المسؤول عن برمجة التطبيقات المصممة للعمل عبر أحد متصفحات الإنترنت مثل جوجل كروم أو فايرفوكس والتي يتم الوصول إليها من خلال <a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%B9%D9%86%D9%88%D8%A7%D9%86-url-%D9%88%D8%A3%D9%86%D9%88%D8%A7%D8%B9%D9%87-r1435/" rel="">عنوان URL</a> محدد خاص بكل تطبيق.
</p>

<p>
	تطور هذه التطبيقات عادة على مرحلتين أو مستويين هما الواجهة الأمامية frontend التي يطورها مطور الواجهات الأمامية باستخدام تقنيات الويب الأساسية وهي <a href="https://wiki.hsoub.com/HTML" rel="external">HTML</a> و <a href="https://wiki.hsoub.com/CSS" rel="external">CSS</a> و<a href="https://wiki.hsoub.com/JavaScript" rel="external">جافا سكريبت</a> والواجهة الخلفية backend التي يطورها مطور الواجهات الخلفية باستخدام لغات برمجة مثل <a href="https://wiki.hsoub.com/PHP" rel="external">PHP</a> أو بايثون <a href="https://wiki.hsoub.com/Python" rel="external">Python</a> أو <a href="https://wiki.hsoub.com/JavaScript" rel="external">جافا سكريبت</a> مع <a href="https://academy.hsoub.com/programming/javascript/nodejs/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-nodejs-r1463/" rel="">بيئة Node.js</a>
</p>

<p>
	ويمكن للشخص بالطبع التخصص في تطوير الواجهتين معًا وتعلم كافة التقنيات المطلوبة لكل منهما وفي هذه الحالة يطلق عليه اسم مطور كامل full stack developer.
</p>

<p>
	ولمطالعة المزيد من المعلومات حول تطوير تطبيقات الويب وأهم المسؤوليات التي عليك القيام بها والتقنيات التي عليه تعلمها لتصبح مطور ويب محترف أنصحك بمشاهدة هذا الفيديو:
</p>

<p style="text-align: center;">
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="450" id="ips_uid_4398_6" src="https://academy.hsoub.com/applications/core/interface/index.html" title="كيف أصبح مطور Full Stack" width="800" data-embed-src="https://www.youtube.com/embed/XqhWutUP5qY"></iframe>
</p>

<p>
	كما يمكن أيضًا الرجوع إلى مقال <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D8%A3%D9%85%D8%A7%D9%85%D9%8A%D8%A9-frontend-web-development/" rel="">تطوير الواجهة الأمامية لمواقع الويب Frontend Web Development</a> ومقال <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D8%AE%D9%84%D9%81%D9%8A%D8%A9-backend-web-development/" rel="">تطوير الواجهة الخلفية لمواقع الويب Backend Web Development</a>.
</p>

<h3>
	مبرمج تطبيقات الجوال
</h3>

<p>
	مبرمج تطبيقات الجوال هو المسؤول عن تصميم وبرمجة تطبيقات مصممة للعمل على الأجهزة المحمولة باختلاف أنواعها سواء الهواتف الذكية أو الأجهزة اللوحية والتي ترفع عادةً على متاجر التطبيقات الرسمية مثل جوجل بلاي Google Play ومتجر تطبيقات آبل App Store كي يتمكن المستخدمون من تثبيتها على أجهزتهم.
</p>

<p>
	تعد برمجة تطبيقات الجوال مجال عمل مربح ومطلوب بكثرة في سوق العمل نظرًا للاعتماد المتزايد على الهواتف الذكية والأجهزة المحمولة لأداء مختلف المهام، وكي تصبح مطور تطبيقات جوال عليك قبل كل شيء تحديد المنصات أو الأنظمة التي تريد تطوير تطبيقات لها وأبرز هذه المنصات هي أندرويد Android و أي أو إس iOS.
</p>

<p>
	يمكنك بعدها تطوير تطبيقات الجوال الأصيلة native mobile apps المخصصة للعمل على إحدى هذه المنصات أو تطوير تطبيقات جوال عابرة للمنصات cross-platform mobile apps والبدء بتعلم لغات البرمجة وأطر العمل اللازمة النوع الذي اخترته من هذه التطبيقات.
</p>

<p>
	على سبيل المثال لتطوير تطبيقات أندرويد أصيلة يمكنك تعلم لغة البرمجة جافا ولتطوير تطبيقات iOS أصيلة يمكنك تعلم لغة سويفت swift أو Objective-C ولتطوير تطبيقات جوال عابرة للمنصات فيمكنك استخدام نفس التقنيات المستخدمة في تطوير تطبيقات الويب.
</p>

<p>
	ولمطالعة المزيد من التفاصيل حول هذا الاختصاص وأهميته ومنصاته المختلفة أنصح بمطالعة مقال <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%AC%D9%88%D8%A7%D9%84-r1801/" rel="">برمجة تطبيقات الجوال</a> كما أنصح بمشاهدة الفيديو التالي:
</p>

<p style="text-align: center;">
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="450" id="ips_uid_4398_7" src="https://academy.hsoub.com/applications/core/interface/index.html" title="أساليب تطوير تطبيقات الجوال" width="800" data-embed-src="https://www.youtube.com/embed/Rn2F9bLC5UU"></iframe>
</p>

<h3>
	مبرمج تطبيقات الويب التقدمية Progressive Web Apps
</h3>

<p>
	مبرمج تطبيقات الويب التقدمية أو ما يعرف اختصارًا PAWs هو المطور المسؤول عن تطوير نوع مخصص من تطبيقات الويب التي تعمل بطريقة مشابهة لتطبيقات الأجهزة المحمولة فهي تثبت على جهاز المستخدم بنفس طريقة تثبيت تطبيقات الجوال لكن الفرق بينها وبين تطبيقات الجوال هو أنها تعمل داخل نافذة المتصفح وتعتمد على واجهات برمجة تطبيقات الويب Web APIs للوصول إلى موارد الجهاز ويمكنها العمل حتى دون وجود اتصال بالانترنت.
</p>

<p>
	يجمع هذا النوع من التطبيقات بين مميزات تطبيقات الجوال وتطبيقات الويب وتكون متوافقة مع كافة أنواع الأجهزة وأنظمة التشغيل كما أنها تعمل بنفس الكفاءة سواء على أجهزة سطح المكتب أو الأجهزة المحمولة وتستخدم في برمجتها نفس التقنيات المستخدمة في تطوير تطبيقات الويب أيضًا.
</p>

<p>
	وللاطلاع على مزيد من التفاصيل حول هذا النوع من التطبيقات وأهميتها والتقنيات المستخدمة في برمجتها أنصحك بمطالعة مقال <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%8A-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D8%A7%D9%84%D8%AA%D9%82%D8%AF%D9%85%D9%8A%D8%A9-pwa%D8%9F-r1480/" rel="">ما هي تطبيقات الويب التقدمية PWA</a>.
</p>

<h3>
	مطور تطبيقات الأجهزة الملبوسة
</h3>

<p>
	هو المبرمج الذي يتخصص في تطوير تطبيقات مخصصة للعمل على الأجهزة القابلة للارتداء مثل الساعات الذكية وسماعات الرأس الذكية والنظارات الذكية وغيرها وتعتمد هذه التطبيقات في عملها على تقنية <a href="%5Bhttps://academy.hsoub.com/programming/os-embedded-systems/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D9%81%D9%8A-%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A7%D9%84%D8%A3%D8%B4%D9%8A%D8%A7%D8%A1-iot-r1514/%5D(https://academy.hsoub.com/programming/os-embedded-systems/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D9%81%D9%8A-%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A7%D9%84%D8%A3%D8%B4%D9%8A%D8%A7%D8%A1-iot-r1514/)" rel="">إنترنت الأشياء IoT</a> وهي تتميز بتأدية وظائف محدودة مقارنة بتطبيقات الهاتف المحمول كما أنها تتطلب الحصول على مدخلات أقل من المستخدم.
</p>

<p>
	يتوقع أن يزداد الطلب على تطوير تطبيقات الأجهزة الملبوسة نظرًا للسهولة والسرعة التي توفرها في أداء المهام مقارنة بالهواتف المحمولة وأجهزة الحاسوب، ولتعلم تطوير هذا النوع من التطبيقات عليك تحديد الجهاز المحدد الذي تريد تطوير تطبيق مخصص له هل هو ساعة ذكية أو نظارة أو جهاز طبي أو غير ذلك كما يتوجب عليك تحديد نظام التشغيل الخاص المستهدف على سبيل المثال تستخدم الساعات الذكية لآبل نظام watchOS في حين تستخدم ساعات Galaxy الذكية نظام Wear OS وبعدها عليه تحديد التقنيات اللازمة لتطوير هذا التطبيق حيث أن لكل نظام تقنيات خاصة به.
</p>

<h2>
	مزايا مطور التطبيقات
</h2>

<p>
	إذا كنت ترغب بأن تصبح مبرمج تطبيقات لكنك لا تزال متردد بشأن هذا الأمر دعنا نستعرض لك العديد من الفوائد والإيجابيات التي يوفرها لك الاختصاص:
</p>

<ul>
	<li>
		تعد برمجة التطبيقات مهنة ذات طلب مرتفع وسريع النمو في سوق العمل نظرًا لشهرة التطبيقات وازدياد الاعتماد عليها لأداء المهام المختلفة.
	</li>
	<li>
		يضمن مبرمج التطبيقات المحترف الحصول على راتب مرتفع مقارنة ببقية المهن.
	</li>
	<li>
		يمكن لمبرمج التطبيقات الاستفادة من ميزة العمل عن بعد إذا كان يفضل العمل ضمن ساعات عمل مرنة لا يلتزم بمكان محدد.
	</li>
	<li>
		يمكن تطبيق المهارات التي تتعلمها كمبرمج تطبيقات في مجالات متعددة، مثلًا يمكنك من خلال <a href="https://academy.hsoub.com/programming/python/%D8%A7%D9%84%D9%85%D8%B1%D8%AC%D8%B9-%D8%A7%D9%84%D8%B4%D8%A7%D9%85%D9%84-%D8%A5%D9%84%D9%89-%D8%AA%D8%B9%D9%84%D9%85-%D9%84%D8%BA%D8%A9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-r735/" rel="">تعلم لغة البرمجة بايثون</a> لتطوير تطبيقات سطح المكتب وتطبيقات الويب وتطبيقات الأجهزة الملبوسة.
	</li>
</ul>

<h2>
	لغات برمجة التطبيقات
</h2>

<p>
	ذكرنا في الفقرات السابقة العديد من التقنيات واللغات التي يمكن لمبرمج التطبيقات تعلمها للتخصص في برمجة كل نوع من أنواع التطبيقات، وفي هذه الفقرة نطلعك على قائمة بأبرز اللغات وأطر العمل المستخدمة في تطوير التطبيقات:
</p>

<ul>
	<li>
		لغة بايثون Python: من أشهر لغات البرمجة متعددة الأغراض التي تصلح <a href="https://academy.hsoub.com/programming/python/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D9%84%D8%BA%D8%A9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86/" rel="">لمختلف التطبيقات</a> حيث يمكنك من خلال تعلمها تطوير تطبيقات متنوعة سواء تطبيقات سطح المكتب أو تطبيقات الويب أو تطبيقات إنترنت الأشياء كما توفر بايثون العديد من أطر العمل مثل العمل <a href="https://academy.hsoub.com/programming/python/django/" rel="">جانغو Django</a> و<a href="https://academy.hsoub.com/programming/python/flask/" rel="">فلاسك Flask</a> التي تسهل عليك عملية التطوير وتسرع إنتاجيتك بشكل كبير.
	</li>
	<li>
		لغة جافا سكريبت JavaScript: التي تستخدم بشكل أساسي لتطوير تطبيقات الويب سواءً في برمجة الواجهات الأمامية للتطبيقات والمواقع أو برمجة الواجهات الخلفية من خلال استخدام بيئة التشغيل <a href="https://wiki.hsoub.com/Node.js" rel="external">Node.js</a>.
	</li>
	<li>
		لغة جافا: تعد جافا إحدى لغات البرمجة القوية ومتعددة الاستخدامات التي تمكن المطورين من إنشاء العديد من التطبيقات القوية والآمنة والمتوافقة مع مختلف المنصات وأنظمة التشغيل سواء <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%A3%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF-r1802/" rel="">تطبيقات الأندرويد Android</a> أو تطبيقات IOS أو تطبيقات سطح المكتب.
	</li>
	<li>
		C#‎: هي لغة برمجة عامة الأغراض تستخدم بشكل أساسي لإنشاء تطبيقات سطح المكتب لنظام التشغيل ويندوز و<a href="https://academy.hsoub.com/programming/game-development/" rel="">صناعة الألعاب</a> بالاستعانة بمحرك تطوير الألعاب يونيتي Unity وتطوير تطبيقات الويب الديناميكية بالاعتماد على منصة دوت نت .NET.
	</li>
	<li>
		لغة C++‎: لغة برمجة قوية ومتعددة الأغراض تستخدم بشكل أساسي لتطوير أنظمة التشغيل وتطبيقات سطح المكتب.
	</li>
	<li>
		لغة PHP هي لغة برمجة نصية تستخدم بشكل أساسي لتطوير الواجهات الخلفية لتطبيقات الويب.
	</li>
	<li>
		لغة HTML5 و CSS3: وهما تستخدمان بشكل أساسي إلى جانب لغة جافا سكريبت لتطوير الواجهات الأمامية لتطبيقات الويب.
	</li>
</ul>

<p>
	كما يحتاج مبرمج التطبيقات إلى فهم <a href="https://academy.hsoub.com/devops/servers/databases/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">أنواع قواعد البيانات</a> ومميزات كل منها وأنظمة إدارة قواعد البيانات المختلفة مثل <a href="https://academy.hsoub.com/devops/servers/databases/mysql/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC-%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-mysql-r28/" rel="">MySQL</a> و MongoDB لتخزين بيانات التطبيقات والتعامل معها بكفاءة.
</p>

<p>
	ويحتاج مبرمج التطبيقات كذلك إلى فهم أنظمة التشغيل المختلفة التي يريد استهدافها في تطبيقاته مثل أنظمة تشغيل سطح أندرويد Android و iOS عند التخصص في برمجة تطبيقات الجوال.
</p>

<p>
	كانت هذه قائمة بأبرز التقنيات المستخدمة في تطوير التطبيقات ولست بحاجة إلى معرفة كل هذه اللغات والتقنيات بالطبع لتكون مبرمج تطبيقات ناجح، بل ينبغي أن تركز على تعلم مجموعة التقنيات التي تناسبك حسب أهدافك واهتماماتك وطبيعة التطبيقات التي ترغب بتطويرها.
</p>

<h2>
	نصائح لتصبح مبرمج تطبيقات محترف
</h2>

<p>
	أيًا كان نوع التطبيقات التي تقوم بتطويرها إليك أهم النصائح التي عليك اتباعها لتعلم برمجة التطبيقات باحترافية والنجاح في سوق العمل:
</p>

<ol>
	<li>
		حدد نوع التطبيقات التي تفضل تطويرها وركز على تعلم لغات البرمجة وأطر العمل اللازمة لتطوير هذا النوع من التطبيقات ولا تشتت نفسك بكثرة التقنيات.
	</li>
	<li>
		طور مهاراتك في <a href="https://academy.hsoub.com/programming/general/%D8%A3%D9%87%D9%85%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%81%D9%83%D9%8A%D8%B1-%D8%A7%D9%84%D9%85%D9%86%D8%B7%D9%82%D9%8A-%D9%81%D9%8A-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r2095/" rel="">التفكير المنطقي</a> وحل المشكلات فهذا يساعدك على برمجة التطبيقات بصورة أسرع وأكثر احترافية وحل أي أخطاء برمجية تحدث خلال عملية التطوير.
	</li>
	<li>
		تعلم منهجيات تطوير التطبيقات مثل <a href="https://academy.hsoub.com/entrepreneurship/business/%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-%D9%84%D9%85%D9%86%D9%87%D8%AC%D9%8A%D8%A9-%D8%A3%D8%AC%D8%A7%D9%8A%D9%84-agile-r1047/" rel="">تقنية آجايل Agile</a> التي تساعدك على تحليل متطلبات التطبيق والتخطيط له وتنفيذه بشكل أسرع لا سيما في المشاريع البرمجية الضخمة.
	</li>
	<li>
		طور عدة تطبيقات تقوم بمهام متنوعة فهذا يعزز من قدرتك على كتابة الشيفرات وحل المشكلات البرمجية وأنشئ من خلالها معرض أعمالك الخاص.
	</li>
	<li>
		تعلم مهارات التواصل فغالبًا ما يعمل مبرمجو التطبيقات ضمن فرق عمل ويحتاجون للتواصل مع باقي أعضاء الفريق كما أنهم سيحتاجون للتواصل مع العملاء وفهم متطلباتهم بشكل دقيق.
	</li>
	<li>
		إذا كنت تفضل العمل الحر المعتمد على المشاريع يمكنك عرض خدماتك كمبرمج تطبيقات في مواقع العمل الحر مثل <a href="https://mostaql.com/" rel="external">مستقل</a> و<a href="https://khamsat.com/" rel="external">خمسات</a> وإذا كنت تفضل العمل ضمن فريق متعاون يمكنك أن تتقدم لفرص العمل التي توفرها الشركات المتخصصة.
	</li>
</ol>

<h2>
	الخلاصة
</h2>

<p>
	تعرفت في هذا المقال على الخطوات التي ينبغي عليك اتباعها وأهم التقنيات واللغات التي عليك تعلمها كي تصبح مبرمج تطبيقات محترف وناجح في سوق العمل، ووضحنا أهم المسؤوليات التي تقع على عاتقك عند التخصص في هذا المجال.
</p>

<p>
	هل أنت متحمس للعمل في مجال برمجة التطبيقات وتجد أن لقب مطور التطبيقات مناسب لك؟ شاركنا في التعليقات ما هي التطبيقات التي ترغب بالتخصص في تطويرها.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA/" rel="">دليلك الشامل إلى برمجة التطبيقات</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-r1827/" rel="">تطوير التطبيقات</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D9%84%D9%85-%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D9%8A%D8%A8/" rel="">المدخل الشامل لتعلم تطوير الويب وبرمجة المواقع</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2145</guid><pubDate>Fri, 27 Oct 2023 13:07:03 +0000</pubDate></item><item><title>&#x62E;&#x637;&#x648;&#x627;&#x62A; &#x628;&#x631;&#x645;&#x62C;&#x629; &#x62A;&#x637;&#x628;&#x64A;&#x642; &#x644;&#x644;&#x645;&#x628;&#x62A;&#x62F;&#x626;&#x64A;&#x646;</title><link>https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_10/--.png.9f16fdc58e5b080a5aab3d7e09903aa6.png" /></p>
<p>
	هل أنت مهتم بتطوير التطبيقات وتريد تعلم برمجة تطبيق احترافي لكنك لا تعلم كيف تبدأ وما هي الخطوات التي عليك اتباعها كي تطور تطبيقك بأفضل صورة ممكنة؟ هذا المقال يضعك في بداية الطريق ويوضح لك أنواع التطبيقات المختلفة وأبرز مميزاتها ويعرفك على لغات برمجة التطبيقات التي عليك تعلمها بأسلوب بسيط وسهل
</p>

<h2>
	ما معنى برمجة تطبيق؟
</h2>

<p>
	تعني برمجة التطبيق القيام بمجموعة من العمليات والإجراءات الضرورية لكتابة برنامج يعمل على جهاز الحاسوب أو الجوال أو غيرها من الأجهزة القابلة للبرمجة ويؤدي مهمة معينة تفيد مستخدم هذا الجهاز.
</p>

<p>
	كي تتمكن من برمجة تطبيق ما يجب أن تضع في الحسبان عدة اعتبارات مثل تحديد نوع التطبيق الذي ستقوم بإنشائه والمنصة أو نظام التشغيل الذي سيعمل تطبيقك عليه والتقنيات التي سوف تستخدمها لتطوير التطبيق وطريقة نشر التطبيق وإتاحته للمستخدمين وغيرها من الأمور التي سنتطرق لشرحها في الفقرات التالية.
</p>

<h2>
	أهمية برمجة التطبيقات في سوق العمل
</h2>

<p>
	تأتي أهمية برمجة التطبيقات من أهمية التطبيقات نفسها والاعتماد الكبير عليها لأداء المهام المختلفة في العمل والحياة اليومية. فالأشخاص اليوم ينجزون معظم أعمالهم اليومية من تسوق ودفع وفواتير ولعب وتواصل مع الأصدقاء عبر تطبيقات على هواتفهم أو حواسيبهم، كما تعتمد شركات الأعمال اليوم التطبيقات بشكل أساسي للتسويق لعلامتها التجارية وتسيير أعمالها والتفاعل مع عملائها.
</p>

<p>
	لذا تعد برمجة التطبيقات من <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D8%B9%D9%84%D9%89-%D8%AA%D8%AE%D8%B5%D8%B5%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A3%D8%AC%D8%B1%D9%8B%D8%A7-r1939/" rel="">تخصصات البرمجة الأعلى أجرًا</a> والأكثر طلبًا في سوق العمل، فمعظم الشركات اليوم تحتاج إلى مطورين لبرمجة تطبيقات خاصة بها أو تحسين التطبيقات الحالية وصيانتها والتأكد من أنها تعمل بشكل صحيح، كما أن تطوير التطبيقات يوفر لك فرصة العمل بشكل مستقل وتقديم خدماتك في مواقع العمل الحر العربية والعالمية، كما يمكنك كذلك تطوير تطبيقاتك الخاصة ورفعها على متاجر التطبيقات وتحقيق الربح منها.
</p>

<h2>
	ما نوع التطبيق الذي يمكنك برمجته؟
</h2>

<p style="text-align: center;">
	<img alt="نوع-التطبيق" class="ipsImage ipsImage_thumbnailed" data-fileid="136945" data-unique="40mvnqe1r" style="width: 800px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2023_10/-.thumb.png.3831efc9fcb93eedafcb3ca5c033588c.png">
</p>

<p>
	قبل أن تبدأ ببرمجة أي تطبيق عليك تحديد نوع التطبيق الذي تنوي برمجته فأنواع التطبيقات كثيرة ومتنوعة وتختلف باختلاف أنواع الأجهزة التي ستعمل عليها وأنظمة التشغيل التي تتوافق معها، وتشمل الأنواع الرئيسية التالية:
</p>

<ul>
	<li>
		<p>
			<strong>تطبيق الجوال</strong> <strong>Mobile App</strong> وهو عدة أنواع:
		</p>

		<ul>
			<li>
				<p>
					<strong>تطبيق جوال أصيل Native Mobile App</strong>: هو تطبيق مصمم خصيصًا لنظام تشغيل الجوال الذي يعمل عليه، على سبيل المثال هناك تطبيقات جوال مخصصة لنظام أندرويد Android وأخرى مخصصة لنظام iOS ولا يمكنك استخدام تطبيق iOS أصيل على جهاز أندرويد أو العكس.
				</p>
			</li>
			<li>
				<p>
					<strong>تطبيق جوال هجين Hybrid Mobile App</strong>: هو تطبيق قادر على العمل على كافة أنواع المنصات والأجهزة ويبرمج من خلال تقنيات الويب <a href="https://wiki.hsoub.com/HTML" rel="external">HTML</a> و <a href="https://wiki.hsoub.com/CSS" rel="external">CSS</a> و <a href="https://wiki.hsoub.com/JavaScript" rel="external">JavaScript</a> ثم يحول بتقنيات معينة ليتناسب كل منصة.
				</p>
			</li>
			<li>
				<p>
					<strong>تطبيق عابر للمنصات Cross-platform App: </strong>هو تطبيق قادر على العمل على كافة أنواع المنصات مثل التطبيق الهجين لكنه يبرمج باستخدام تقنيات <a href="https://academy.hsoub.com/programming/general/%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-framework/" rel="">وأطر عمل</a> قابلة للتشغيل على أكثر من منصة.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			<strong>تطبيق ويب Web App</strong>: هو تطبيق يمكنه العمل على أي جهاز لأن الوصول إليه يتم من خلال متصفح الإنترنت، ولا داعي لتحميله على جهازك كي تستخدمه، لكن ليس بمقدوره الوصول إلى موارد الجهاز مثل الكاميرا أو الميكروفون أو جهات الاتصال.
		</p>
	</li>
	<li>
		<p>
			<strong>تطبيق سطح مكتب Desktop App</strong>: هو برنامج مصمم للعمل على أجهزة الحواسيب المكتبية والحواسيب المحمولة التي تعمل بأنظمة التشغيل ويندوز Windows أو ماك macOS أو لينكس Linux، ولا يحتاج عادة للاتصال بالإنترنت ليعمل كل ما عليك هو تثبيته من الموقع المخصص له وبعدها يمكنك تشغيله واستخدامه.
		</p>
	</li>
</ul>

<p>
	بعد أن تعرفت على أنواع التطبيقات المختلفة وعرفت الفرق بينها وحددت نوع التطبيق الذي تريد برمجته قد تتساءل كيف يمكنني برمجة التطبيق الخاص بي، وما التقنيات التي علي تعلمها للقيام بذلك؟ في الفقرات التالية سنعرفك على أهم تقنيات برمجة كل نوع من أنواع التطبيقات.
</p>

<h2>
	برمجة تطبيقات الجوال
</h2>

<p>
	كما ذكرنا سابقًا عند برمجة تطبيقات الجوال ستكون أمام عدة خيارات ممكنة، الخيار الأول هو برمجة تطبيق جوال أصيل مخصص لمنصة محددة أو نظام تشغيل معين وهو يبرمج بلغات متوافقة مع هذا النظام، والخيار الثاني هو برمجة تطبيق جوال يعمل على عدة منصات بذات الوقت ويمكنك إنشاء هذا النوع من التطبيقات إما من خلال إنشاء تطبيق جوال هجين يعمل من داخل متصفح مضمن أو عارض ويب WebView موجود داخل تطبيق أصيل، أو من خلال إنشاء تطبيق جوال عابر للمنصات وهو تطبيق يبرمج باستخدام تقنيات وأطر عمل يمكنها أن تعمل على عدة منصات بذات الوقت مثل منصة زامارين <a href="https://academy.hsoub.com/programming/c-sharp/xamarin/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D9%85%D9%86%D8%B5%D8%A9-%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%A3%D8%AC%D9%87%D8%B2%D8%A9-%D8%A7%D9%84%D9%85%D8%AD%D9%85%D9%88%D9%84%D8%A9%C2%A0xamarin-r369/" rel="">Xamarin</a> من مايكروسوفت أورياكت نيتف <a href="https://wiki.hsoub.com/ReactNative" rel="external">React Native</a> أو فلاتر Flutter فهذه المنصات تمكنك من كتابة تطبيقات تعمل على أيّ نظام تشغيل بنفس الكود البرمجي.
</p>

<h3>
	برمجة تطبيق جوال أصيل
</h3>

<p>
	أبرز منصتين للهواتف المحمولة هما أندرويد Android من جوجل وآي أو إس iOS من آبل، لذا في حال قررت برمجة تطبيق أندرويد فعليك في هذه الحالة استخدام لغة برمجة معتمدة من قبل نظام التشغيل أندرويد مثل لغة جافا Java أو لغة كوتلن Kotlin، أما في حال قررت برمجة تطبيق iOS فعليك في هذه الحالة استخدام لغة مدعومة من قبل هذا النظام مثل لغة البرمجة Objective-C أو لغة سويفت Swift.
</p>

<h3>
	برمجة تطبيق جوال متعدد المنصات
</h3>

<p>
	يمكن برمجة تطبيقات جوال قادرة على العمل عبر الأنظمة الأساسية بلغات برمجة وتقنيات وأطر عمل مختلفة ومن أبرز هذه التقنيات نذكر:
</p>

<ul>
	<li>
		إطار عمل أيونيك Ionic وهو إطار عمل جافا سكريبت مخصص لبرمجة تطبيقات الجوال الهجينة.
	</li>
	<li>
		لغة درات Dart مع إطار عمل فلاتر Flutter لبرمجة تطبيقات جوال متعددة المنصات.
	</li>
	<li>
		إطار عمل ريآكت نيتف React Native وهو إطار عمل للغة جافا سكريبت لتطوير تطبيقات متوافقة مع كافة أنظمة التشغيل باستخدام نفس الكود البرمجي.
	</li>
</ul>

<h2>
	برمجة تطبيق ويب
</h2>

<p>
	يعمل تطبيق الويب عبر شبكة الإنترنت ومن أجل برمجة تطبيق ويب ينبغي عليك الاهتمام <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D8%A3%D9%85%D8%A7%D9%85%D9%8A%D8%A9-frontend-web-development/" rel="">ببرمجة الواجهة الأمامية</a> للتطبيق التي تتحكم بمظهره وتمثل كل ما تراه في هذا التطبيق من واجهات وأزرار وخطوط، وتهتم أيضًا <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D8%AE%D9%84%D9%81%D9%8A%D8%A9-backend-web-development/" rel="">ببرمجة الواجهة الخلفية</a> للتطبيق التي تتحكم في كيفية عمله وتهتم بالتعامل مع قاعدة بياناته ومعالجتها وجلب البيانات المطلوبة منها. لكل واجهة من هذه الواجهات لغات وتقنيات خاصة بها ومن أبرز لغات البرمجة والتقنيات المستخدمة في برمجة تطبيقات الويب نذكر:
</p>

<ul>
	<li>
		لغات HTML و CSS وجافا سكريبت وهي اللغات الأساسية الثلاثة المستخدمة لتطوير الواجهات الأمامية لتطبيقات الويب.
	</li>
	<li>
		لغة PHP مع إطار عمل لارافيل Laravel لتطوير الواجهات الخلفية للويب.
	</li>
	<li>
		لغة جافا سكريبت JavaScript مع بيئة Node.js وأطر عملها المختلفة مثل أنجولار Angular و فيو جي إس Vue.js و Next.js لتطوير الواجهة الأمامية و إكسبرس Express لتطوير الواجهة الخلفية لتطبيقات الويب
	</li>
	<li>
		لغة بايثون Python مع إطار العمل جانغو Django أو فلاسك flask المخصصة لتطوير الواجهات الخلفية للويب.
	</li>
	<li>
		لغة روبي Ruby مع إطار عملها Ruby on Rails الذي يستخدم لإنشاء تطبيقات الويب بسهولة وسرعة.
	</li>
	<li>
		لغة جافا Java التي توفر العديد من التقنيات الفعالة لبرمجة تطبيقات الويب مثل Servlet و JSP التي تسمح بتطوير ونشر تطبيقات الويب على الخادم بسهولة وتوفر أطر عمل قوية مثل Spring و Spring Boot.
	</li>
</ul>

<h2>
	برمجة تطبيق سطح مكتب
</h2>

<p>
	تختلف التقنيات المستخدمة في تطبيقات سطح المكتب باختلاف نظام التشغيل المستهدف ومتطلبات التطبيق نفسه. تستخدم لغات البرمجة وأدوات التطوير الخاصة بكل نظام تشغيل لبناء تجربة مستخدم فعالة وممتعة على أجهزة الكمبيوتر الشخصية والحواسيب المحمولة. هناك العديد من لغات البرمجة والتقنيات المتخصصة التي تساعدك كمبرمج تطبيقات سطح مكتب نذكر منها:
</p>

<ul>
	<li>
		لغة C و C#‎ و C++‎ وهي لغات مناسبة من أجل إنشاء تطبيق سطح مكتب مخصص للعمل على أجهزة ويندوز.
	</li>
	<li>
		لغة Objective-C أو سويفت Swift وإطار العمل كاكاو Cocoa من أجل برمجة تطبيقات سطح مكتب لنظام تشغيل ماك Mac OS.
	</li>
	<li>
		لغة C و C++‎ لبرمجة تطبيقات سطح مكتب لنظام تشغيل لينكس.
	</li>
	<li>
		لغة البرمجة جافا Java لتطوير تطبيقات سطح مكتب متوافقة مع جميع المنصات وأنظمة التشغيل Windows أو Mac OS أو Linux دون الحاجة لتعديل الكود البرمجي للتطبيق.
	</li>
	<li>
		لغة بايثون Python لبرمجة تطبيقات سطح مكتب متعددة المنصات بمساعدة مكتبات مخصصة مثل PyQt وPySide و Tkinter
	</li>
	<li>
		لغة جافا سكريبت مع إطار عمل إلكترون Electron من أجل إنشاء تطبيقات سطح مكتب متوافقة مع كافة أنظمة التشغيل باستخدام كود برمجي واحد يستخدم HTML وCSS وجافا سكريبت JavaScript.
	</li>
	<li>
		إطار عمل Universal Windows Platform أو اختصارًا UWP من أجل إنشاء تطبيق سطح مكتب مخصص لنظام تشغيل ويندوز 10 و ويندوز 11
	</li>
	<li>
		إطار عمل Windows Presentation Foundation أو اختصارًا WPF لتطوير تطبيقات سطح مكتب لنظام ويندوز باستخدام لغة ترميز التطبيق الموسعة XAML وهو متوافق مع إطار عمل دوت نت NET الذي يحتوي على العديد من المكتبات لتحسين وظائف التطبيق الخاص بك.
	</li>
	<li>
		يمكنك استخدام مكتبة واجهة المستخدم الرسومية GTK+‎ مع لغات برمجة مختلفة مثل سي C و Python و C++‎ وروبي لإنشاء واجهات تطبيقات سطح المكتب وهي متوافقة مع أنظمة التشغيل المختلفة.
	</li>
	<li>
		يمكنك استخدام نماذج WinForms لإنشاء واجهات لتطبيقات سطح مكتب تعمل على ويندوز بسهولة من خلال السحب والإفلات.
	</li>
</ul>

<h2>
	ما هي خطوات برمجة تطبيق
</h2>

<p style="text-align: center;">
	<img alt="خطوات-برمجة-تطبيق" class="ipsImage ipsImage_thumbnailed" data-fileid="136944" data-unique="mu0o2nj6j" style="width: 800px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2023_10/--.thumb.png.9cc0d051b652a69f07a2a25ab9535433.png">
</p>

<p>
	إذا أردت تطوير تطبيق ما مهما كان نوعه فعليك اتباع مجموعة من الخطوات أو المراحل قبل أن يصبح هذا التطبيق متاح للاستخدام، وفيما يلي أهم هذه المراحل:
</p>

<ol>
	<li>
		تحديد فكرة التطبيق
	</li>
	<li>
		تحديد نوع التطبيق
	</li>
	<li>
		تحديد التقنيات التي سيبرمج بها التطبيق
	</li>
	<li>
		تحديد الوظائف الرئيسية للتطبيق
	</li>
	<li>
		تصميم واجهة التطبيق
	</li>
	<li>
		برمجة واجهات التطبيق
	</li>
	<li>
		برمجة وظائف التطبيق
	</li>
	<li>
		اختبار التطبيق
	</li>
	<li>
		نشر التطبيق
	</li>
	<li>
		التحسين المستمر للتطبيق
	</li>
	<li>
		تسويق التطبيق
	</li>
</ol>

<p>
	لنناقش كل خطوة من هذه الخطوات بمزيد من التفصيل ونتعرف على أبرز المهام التي علينا القيام بها لإنجازها.
</p>

<h3>
	1. تحديد فكرة التطبيق
</h3>

<p>
	أولى خطوات برمجة التطبيق الخاص هي وضع فكرة التطبيق وميزاته والهدف منه والفئة المستهدفة وتحديد المشكلة التي يحلها والميزة التنافسية التي سيوفرها عن غيره من التطبيقات المشابهة. وفي حال لم تكن صاحب الفكرة أو التطبيق الذي ستطوره فستحتاج عندها لأن تجري عدة نقاشات مع الجهة التي ستطور لها التطبيق لاستيضاح كافة هذه التفاصيل حوله.
</p>

<h3>
	2. تحديد نوع التطبيق
</h3>

<p>
	في هذه الخطوة عليك تحديد نوع التطبيق المناسب لتحقيق الأهداف التي وضعتها في الخطوة السابقة، وتحدد نوع الجهاز ونظام التشغيل الذي سيعمل عليه التطبيق وغيرها من المتطلبات اللازمة لعمل التطبيق وبناء عليها يمكنك متابعة خطوات التطوير.
</p>

<h3>
	3. تحديد التقنيات التي سيبرمج بها التطبيق
</h3>

<p>
	فكما وضحنا سابقًا لكل نوع تطبيقات تقنياته ولغات البرمجة الخاصة به، حدد كافة التقنيات التي ستحتاجها للبدء ببرمجة التطبيق والعمل على إعداد بيئة التطوير اللازمة للعمل.
</p>

<h3>
	4. تحديد الوظائف الرئيسية للتطبيق
</h3>

<p>
	ابدأ بوضع قائمة بجميع الميزات والوظائف التي يحتاجها التطبيق للعمل وأولوية تنفيذها بناء على المتطلبات التي جمعتها في الخطوة الأولى، قد تحتاج هذه الوظائف للتعديل فيما بعد بسبب عدم وضوح المتطلبات أو وجود رؤية شاملة عن التطبيق في البداية.
</p>

<h3>
	5. تصميم واجهة التطبيق
</h3>

<p>
	حان الآن وقت تصميم واجهات التطبيق وإطاراته الهيكلية <a href="https://academy.hsoub.com/design/user-experience/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A7%D9%84%D8%B1%D8%B3%D9%88%D9%85-%D8%A7%D9%84%D8%AA%D8%AE%D8%B7%D9%8A%D8%B7%D9%8A%D8%A9-wireframes-%D9%81%D9%8A-%D9%85%D8%AC%D8%A7%D9%84-%D8%AA%D8%AC%D8%B1%D8%A8%D8%A9-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-r243/" rel="">Wireframes</a> وتوضح من خلالها لمستخدمي هذا التطبيق مميزاته وطريقة عمله والوظائف التي يؤيدها بدقة، يمكنك في هذه المرحلة استخدام إحدى <a href="https://academy.hsoub.com/design/user-interface/%D9%85%D9%82%D8%A7%D8%B1%D9%86%D8%A9-%D8%A8%D9%8A%D9%86-%D8%A3%D8%AF%D9%88%D8%A7%D8%AA-%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-ui-r634/" rel="">أدوات تصميم واجهات المستخدم</a> مثل فيجما Figma، كما ينبغي أن تحرص على تصميم واجهات مستخدم مثالية ذات مظهر متسق وتحقق أفضل تجربة لمستخدمي التطبيق وتتبع <a href="https://academy.hsoub.com/design/user-interface/%D8%A3%D9%81%D8%B6%D9%84-%D8%A7%D9%84%D9%86%D8%B5%D8%A7%D8%A6%D8%AD-%D9%84%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-r818/" rel="">أفضل النصائح لتصميم واجهة المستخدم</a>.
</p>

<h3>
	6. برمجة واجهات التطبيق
</h3>

<p>
	بعد تصميم الواجهات تبدأ مرحلة برمجة واجهات التطبيق أو ما يعرف ببرمجة الواجهات الأمامية للتطبيقات frontend وهي تشمل كل العناصر التي يراها المستخدمون ويتفاعلون معها من نصوص وأزرار وصور وما شابه.
</p>

<h3>
	7. برمجة وظائف التطبيق
</h3>

<p>
	قد تسير هذه الخطوة بالتزامن مع الخطوة السابقة وفيها يتم البدء بتحقيق قائمة الوظائف والمميزات المطلوبة لعمل التطبيق وبرمجة واجهته الخلفية كما يتم ربط الواجهة الأمامية والخلفية مع بعضهما، الجدير بالذكر بأنك لست مضطرًا لتحقيق كل الوظائف بآن واحد بل يمكنك تنفيذ وظيفة معينة والتأكد من عملها بالشكل الصحيح قبل الانتقال لوظيفة أخرى، تحتاج في هذه المرحلة لربط.
</p>

<h3>
	8. اختبار التطبيق
</h3>

<p>
	بعد الانتهاء من برمجة التطبيق عليك اختبار خلوه من الأخطاء وللاختبار نوعان: اختبار يدوي واختبار مؤتمت، يمكن إجراء الاختبار اليدوي عن طريق إتاحة التطبيق للتجريب من قبل عينة من الأشخاص الحقيقيين للحصول على ملاحظاتهم والتأكد من أن كل الميزات تعمل بالشكل المطلوب واختبار قابلية الاستخدام وأن واجهات التطبيق سهلة وتوفر <a href="https://academy.hsoub.com/design/user-experience/%D8%A7%D9%84%D8%B9%D9%88%D8%A7%D9%85%D9%84-%D8%A7%D9%84%D9%85%D8%A4%D8%AB%D8%B1%D8%A9-%D9%81%D9%8A-%D8%AA%D8%AC%D8%B1%D8%A8%D8%A9-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-r776/" rel="">تجربة مستخدم</a> سهلة وأنه متوافق مع مختلف المنصات والشاشات وتصلح أي أخطاء ومشكلات مكتشفة قبل نشر تطبيقك، كما يمكنك أتمتة عملية الاختبار بالتحقق من صحة التطبيق ومعرفة ما إذا كان يعمل كما هو متوقع أم لا باستخدام أدوات اختبار آلية تسرع عملية الاختبار.
</p>

<h3>
	9. نشر التطبيق
</h3>

<p>
	في هذه المرحلة يمكنك نشر التطبيق للمستخدمين، يمكنك نشر التطبيق الخاص على موقع خاص بك ثم توجيه المستخدمين لتنزيله وتثبيته من هناك كما يمكنك نشره على أحد متاجر التطبيقات الرسمية بحسب نوع التطبيق ففي حال كان تطبيقك عبارة عن تطبيق أندرويد سيتوجب عليك نشره على متجر Google Play وفي حال كان تطبيق iOS عليك نشره على متجر App Store وفي حال كان تطبيق سطح مكتب موجهًا لنظام تشغيل ويندوز عليك نشره في متجر مايكروسوفت Microsoft Store وفي حال كان تطبيق سطح مكتب لنظام ماك macOS عليك نشره في متجر آبل Apple Store …إلخ.
</p>

<p>
	الجدير بالذكر أن نشر التطبيق على أحد متاجر التطبيقات يحتاج لتوفير مجموعة من المعايير والشروط التي عليك الالتزام بها لقبول التطبيق لذا من الضروري أن تكون ملمًا بالشروط التي تفرضها هذه المنصات وتلتزم بها خلال برمجة التطبيق الخاص بك.
</p>

<h3>
	10. التحسين المستمر للتطبيق
</h3>

<p>
	بعد نشر التطبيق الخاص بك وإتاحته للمستخدمين عليك مراقبة أدائه وتتبع مراجعات المستخدمين حوله وإجراء عمليات <a href="https://academy.hsoub.com/devops/deployment/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%AA%D9%83%D8%A7%D9%85%D9%84-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D9%85%D8%B1-%D9%88%D8%A7%D9%84%D9%86%D8%B4%D8%B1-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D9%85%D8%B1-cicd-r644/" rel="">التكامل المستمر والنشر المستمر CI/CD</a> وتطبيق الإصلاحات والتحسينات الضرورية عندما تستدعي الضرورة.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="480" id="ips_uid_942_5" src="https://academy.hsoub.com/applications/core/interface/index.html" title="ما هو التكامل المستمر والنشر المستمر CI/CD" width="853" data-embed-src="https://www.youtube.com/embed/hFzSG9qNWWs"></iframe>
</p>

<h3>
	11.تسويق التطبيق
</h3>

<p>
	من الضروري أن تسوق لتطبيقك بشكل صحيح لا سيما إن كنت تنوي الربح من التطبيق ووضع إعلانات بداخله لذا احرص على اتباع الاستراتيجيات التسويقية الفعالة التي من شأنها إيصال التطبيق للجمهور المستهدف.
</p>

<h2>
	مصادر تعلم برمجة تطبيق
</h2>

<p>
	بعد تحديد نوع التطبيق الذي ترغب بتطويره ستبدأ رحلة البحث عن المصادر التي يمكن أن تتعلم من خلالها برمجة تطبيق متكامل من الألف للياء، قد تفكر في اتباع مسار جامعي ودخول أحد الكليات التقنية لكن التعلم في هذه الحالة سيكون طويلًا ومشتتًا، أو يمكنك اللجوء للتعلم الذاتي واعتماد مصادر تعليمية تفضلها من دروس ومقالات وكتب ودورات عبر الإنترنت ومعسكرات تدريبية وغيرها وهنا ستجد الكثير من المصادر وقد تتشتت فيما بينها لا سيما إن لم تتمكن من وضع خطة تعلم واضحة ومدروسة والالتزام بها الأمر الذي قد يسبب لك الإحباط والفشل.
</p>

<p>
	لذا من الضروري أن تحدد أحد مصادر التعلم المنظمة والموثوقة وتلتزم بخطة تعلم واضحة وإذا كنت تبحث عن مصدر موثوق للتعلم باللغة العربية فقد وفرت لك أكاديمية حسوب العديد من مصادر التعلم لمعظم التقنيات التي تحتاجها لتتعلم برمجة التطبيقات من الصفر حتى الاحتراف وفي فقراتنا التالية نسلط الضوء على أبرز هذه المصادر:
</p>

<h3>
	تعلم برمجة تطبيق ويب
</h3>

<p>
	إذا قررت تعلم تطوير الويب أنصحك باتباع <a href="https://academy.hsoub.com/learn/ruby-web-application-development/" rel="">دورة تطوير تطبيقات الويب باستخدام لغة Ruby</a> حيث ستتعلم في هذه الدورة برمجة العديد من تطبيقات الويب بلغة البرمجة روبي وإطار عملها الشهير ريلز Rails مثل برمجة تطبيق ويب لشبكة اجتماعية تشبه تويتر، وتطبيق ويب لمجتمع إلكتروني وغيرها من التطبيقات المعدة من قبل نخبة من المطورين المحترفين والتي تؤهلك لدخول سوق العمل بسرعة واحترافية.
</p>

<p>
	كما توفر الأكاديمية دورة <a href="https://academy.hsoub.com/learn/php-web-application-development/" rel="">تطوير تطبيقات الويب باستخدام لغة PHP</a> وإطار عملها لارافل Laravel التي توفر لك أكثر من عشر مسارات شاملة ويمكنك من خلال اتباعها تطوير العديد من تطبيقات الويب الاحترافية مثل نظام إدارة محتوى ومتجر إلكتروني وغيرها من تطبيقات الويب المتنوعة التي تعزز سيرتك الذاتية وتساعدك في العثور على فرصة عمل مناسبة.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="480" id="ips_uid_942_6" src="https://academy.hsoub.com/applications/core/interface/index.html" title="دورة تطوير تطبيقات الويب باستخدام لغة PHP - أكاديمية حسوب" width="853" data-embed-src="https://www.youtube.com/embed/o3ilJek788w"></iframe>
</p>

<p>
	وفي دورة <a href="https://academy.hsoub.com/learn/python-application-development/" rel="">دورة تطوير التطبيقات باستخدام لغة Python</a> ستتعلم برمجة تطبيق ويب خطوة بخطوة باستخدام إطار العمل جانغو Django وتبرمج تطبيق لإدارة المهام ومتجر إلكتروني كامل المميزات.
</p>

<p>
	وفي حال رغبت بتطوير واجهات التطبيق الأمامية فقط أو رغبت في تعلم التطوير الكامل full-stack فيمكنك مطالعة <a href="https://academy.hsoub.com/learn/front-end-web-development/" rel="">دورة تطوير واجهات المستخدم</a> ففيها تتعلم بناء واجهات لعدة تطبيقات باستخدام التقنيات الأساسية HTML و CSS وجافاسكربت JavaScript إلى جانب تقنيات حديثة وأطر عمل مثل بوتستراب Bootstrap 5 و Sass و Webpack وHugo التي تسرع عملك وتجعله أكثر احترافية.
</p>

<h3>
	تعلم برمجة تطبيق أندرويد و iOS
</h3>

<p>
	إذا كنت مهتمًا بتطوير تطبيقات الجوال يمكنك مطالعة <a href="https://academy.hsoub.com/learn/python-application-development/" rel="">دورة تطوير التطبيقات باستخدام لغة Python</a> والتي ستتمكن من خلالها من تطوير تطبيق لإدارة المهام ومتجر إلكتروني متكامل وغيرها من التطبيقات باستخدام إطار العمل جانغو Django وفلاسك Flask وهما من أشهر أطر العمل المستخدمة في تطوير تطبيقات الويب.
</p>

<p>
	كما توفر <a href="https://academy.hsoub.com/learn/javascript-application-development/" rel="">دورة تطوير التطبيقات باستخدام جافا سكريبت</a> عدة مسارات غنية بالمعلومات تعلمك خطوة بخطوة برمجة تطبيقات ويب متعددة المنصات تعمل على أجهزة أندرويد و iOS من بينها تطبيق جوال للوصفات باستخدام مكتبة رياكت React مع إطار عمل أيونيك Ionic وتطبيق محادثة شبيه بتطبيق واتس أب باستخدام إطار عمل React Native وغيرها من التطبيقات المختلفة.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="480" id="ips_uid_942_7" src="https://academy.hsoub.com/applications/core/interface/index.html" title="دورة تطوير التطبيقات باستخدام JavaScript - أكاديمية حسوب" width="853" data-embed-src="https://www.youtube.com/embed/T6CnMmvF4e0"></iframe>
</p>

<p>
	كما يمكنك الاستفادة من الدروس والمقالات المتعددة التي توفرها الأكاديمية والتي توفر شروحات متنوعة حول <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%AC%D9%88%D8%A7%D9%84-r1801/" rel="">برمجة تطبيقات الجوال</a> التي تناسب المبتدئين والمحترفين على حد سواء.
</p>

<h3>
	تعلم برمجة تطبيق سطح مكتب
</h3>

<p>
	لازالت تطبيقات سطح المكتب مطلوبة في سوق العمل لاسيما من قبل الشركات التي تهتم بخصوصية وحماية بياناتها، فإذا كنت مهتمًا ببرمجة هذا النوع من التطبيقات ستجد في أكاديمية حسوب <a href="https://academy.hsoub.com/learn/python-application-development/" rel="">دورة تطوير التطبيقات باستخدام لغة Python</a> والتي ستتعلم من خلالها أساسيات تطوير تطبيقات سطح المكتب وتطبق ما تعلمته على تطوير تطبيق لإدارة المهام ومتجر إلكتروني متكامل باستخدام <a href="https://academy.hsoub.com/programming/python/django/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D8%AC%D8%A7%D9%86%D8%BA%D9%88-django-r2041/" rel="">جانغو Django</a> وهو إطارعمل قوي للغة بايثون يمكنك من تطوير مواقع ويب وتطبيقات ويب آمنة وسهلة الصيانة بسرعة كبيرة.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="480" id="ips_uid_942_8" src="https://academy.hsoub.com/applications/core/interface/index.html" title="دورة تطوير التطبيقات بلغة بايثون - أكاديمية حسوب" width="853" data-embed-src="https://www.youtube.com/embed/1niwEWY7CN4"></iframe>
</p>

<p>
	كما ستجد في <a href="https://academy.hsoub.com/learn/javascript-application-development/" rel="">دورة تطوير التطبيقات باستخدام جافا سكريبت</a> مسارًا متخصصًا في شرح برمجة تطبيق سطح مكتب باستخدام إطار عمل إلكترون Electron js بدءًا من بناء واجهات المستخدم وصولًا لنشر التطبيق.
</p>

<p>
	ليس هذا فحسب فأكاديمية حسوب توفر ضمن موقها الكثير من المقالات والدروس والكتب التعليمة التي تشرح لك الكثير من الأمور المتعلقة بتطوير التطبيقات سواء <a href="https://academy.hsoub.com/apps/web/" rel="">تطبيقات الويب</a> أو تطبيقات الجوال أو <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%B3%D8%B7%D8%AD-%D8%A7%D9%84%D9%85%D9%83%D8%AA%D8%A8/" rel="">تطبيقات سطح المكتب</a> والتقنيات التي تحتاج لتعلمها والتي تفيدك سواء كنت مبرمج تطبيقات مبتدئ أو خبير.
</p>

<h2>
	الخلاصة
</h2>

<p>
	بهذا نكون وصلنا لنهاية مقالنا الذي شرحنا فيه كل ما يتعلق ببرمجة التطبيقات بأنواعها المختلفة سواء تطبيقات الجوال أو تطبيقات الويب أو تطبيقات سطح المكتب وشرحنا خطوات برمجتها وأهميتها في سوق العمل واللغات والتقنيات التي عليك اكتساب خبرة بها لتبدأ عملك كمبرمج تطبيقات وأفضل مصادر تعلمها.
</p>

<p>
	وتذكر أن تعلم برمجة تطبيق قد يكون تحديًا في البداية، ولكنه ليس أمرًا صعبًا إذا نظمت وقتك في التعلم وبذلك الوقت والجهد الكافيين لذلك، فإن كنت بالفعل مهتمًا ببرمجة التطبيقات ولديك فكرة تطبيق مميزة تود تحقيقها فابدأ من الآن في رحلة برمجة التطبيقات وحوّل فكرتك إلى واقع.
</p>

<p>
	وفي حال واجهتك أي مشكلة أو كان لديك أي تساؤل لا تتردد في مشاركتنا إياه في التعليقات أسفل المقال أو طرحه في القسم المخصص في <a href="https://academy.hsoub.com/questions/" rel="">صفحة الأسئلة والأجوبة</a> الخاصة بالأكاديمية.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA/" rel="">دليلك الشامل إلى برمجة التطبيقات</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA/" rel="">مدخل إلى تطوير البرمجيات Software Development</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A8%D8%B1%D9%85%D8%AC-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA/" rel="">كيف تصبح مبرمج تطبيقات محترف</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2147</guid><pubDate>Tue, 24 Oct 2023 11:00:00 +0000</pubDate></item><item><title>&#x645;&#x633;&#x62A;&#x642;&#x628;&#x644; &#x627;&#x644;&#x628;&#x631;&#x645;&#x62C;&#x629;</title><link>https://academy.hsoub.com/programming/general/%D9%85%D8%B3%D8%AA%D9%82%D8%A8%D9%84-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_10/-.png.18ad5395df17a0218b978da9b89f2765.png" /></p>
<p>
	نسلط الضوء في مقال اليوم على <strong>مستقبل البرمجة</strong> أحد أكثر المجالات تغيرًا وتجددًا، فالتقنيات والتخصصات البرمجية المختلفة تتطور بوتيرة هائلة وسريعة جدًا ما يحتم على أي مبرمج أو مطور أن يواكب هذه التغييرات ويكون على دراية بأهم الاتجاهات التي يتوقع أن تشهدها البرمجة في السنوات القادمة وتأثيرها على سوق العمل والوظائف المستقبلية.
</p>

<h2>
	الذكاء الاصطناعي ومستقبل البرمجة
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="136882" href="https://academy.hsoub.com/uploads/monthly_2023_10/-.png.b12932a32d5082945405321aa4d14035.png" rel=""><img alt="مستقبل البرمجة" class="ipsImage ipsImage_thumbnailed" data-fileid="136882" data-ratio="62.50" data-unique="x1lzjjf4e" style="width: 500px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2023_10/-.thumb.png.227dc6f552c21baf874aabf9aabb16b3.png"></a>
</p>

<p>
	لعل أول تساؤل يخطر ببال أي مبرمج بشأن مستقبل البرمجة هل ستحل الروبوتات والذكاء الاصطناعي محل المبرمجين في المستقبل، والجواب هو أن الذكاء الاصطناعي سوف يساعد المبرمجين بدلًا من استبدالهم كما أن تقنيات الذكاء الاصطناعي ستتطور بشكل أكبر ويساعد البشر على القيام بمهامهم المختلفة والحصول على النتائج التي يريدونها حول أي موضوع بشكل أفضل وأسرع.
</p>

<p>
	وكما تعرف فقد بدأ الذكاء الصناعي بالفعل في الآونة الأخيرة يؤثر بشكل مباشر على مختلف جوانب حياتنا، ويتوقع أن يزداد تأثيره في المستقبل أكثر وأكثر نتيجة لتطوير البنية التحتية التي يعتمد عليها وتطوير معيار اتصال الواي فاي wifi7 فائقة السرعة والتي تصل لغاية 36 جيجا بت في الثانية بعرض نطاق ترددي يصل إلى 320 ميجاهرتز وانتشار شبكات اتصالات الجوال من الجيل الخامس 5G والبدء بشبكات الجيل السادس 6g التي ستكون أسرع 1000 مرة من شبكة 5G.
</p>

<p>
	سيحسن هذا التطور في البنية التحتية من سرعة نقل البيانات ويقلل زمن وصولها ويعطي المبرمجين المتخصصين في الذكاء الاصطناعي وتعلم الآلة القدرة على تحليل ومعالجة هذه البيانات بكفاءة عالية، كما سيزيد من قدرتهم على تطوير حلول إنترنت الأشياء IoT عالية الكفاءة وتطوير تطبيقات متقدمة لم تكن متاحة مع الشبكات السابقة، وسيزيد الطلب أيضًا على برمجة أجهزة ذكية قادرة على اتخاذ القرارات مثل السيارات ذاتية القيادة وروبوتات المحادثة والمساعدين الافتراضيين والروبوتات الصناعية التي ستعمل جنبًا إلى جنب معنا نحن البشر أو ربما تؤدي مهامنا وتستغني عن وجودنا بالكامل لكن في مهن وتخصصات محدودة.
</p>

<p>
	كما سيلعب الذكاء الصناعي وتعلم الآلة دورًا أساسيًا في مستقبل البرمجة وكتابة الكود وسيزداد التوجه إلى الإصدار الثاني من البرمجيات <strong>Software 2.0</strong> وهي البرمجيات التي تستخدم خوارزميات تعلم الآلة ML والشبكات العصبية لتؤدي عملها دون تدخل بشري ولا بد أنك سمعت أو استخدمت <a href="https://academy.hsoub.com/apps/web/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A8%D9%88%D8%AA-%D8%A7%D9%84%D9%85%D8%AD%D8%A7%D8%AF%D8%AB%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D9%8A-%D8%B4%D8%A7%D8%AA-%D8%AC%D9%8A-%D8%A8%D9%8A-%D8%AA%D9%8A-chatgpt-r863/" rel="">بوت المحادثة الذكي ChatGPT</a> من Open AI وأداة OpenAI Codex الأكثر تخصصًا والتي تساعدك على إنتاج الأكواد البرمجية وتدعم العديد من لغات البرمجة فهما مثالان على برمجيات تعتمد على الذكاء الاصطناعي والتي من شأنها مساعدة المطورين والمبرمجين في تحسين عملهم وزيادة إنتاجيتهم ليركزوا على الأمور الأكثر أهمية في عملية التطوير.
</p>

<p>
	فإذا كنت مهتمًا بهذا المجال من الضروري أن تحرص على تعلم لغات البرمجة الخاصة بالذكاء الاصطناعي وتعلم الآلة ولعل أهمها لغة البرمجة بايثون <a href="https://wiki.hsoub.com/Python" rel="external">Python</a> التي توفر الكثير من أطر العمل والمكتبات القوية في مجال الذكاء الاصطناعي مثل مكتبة SciKit-Learn و TensorFlow و PyTorch و Keras.
</p>

<p>
	ولمطالعة المزيد من المعلومات حول خارطة طريق تعلم الذكاء الاصطناعي ومعرفة أدواته وتقنياته المختلفة أنصح بقراءة مقال <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r1986/" rel="">تعلم الذكاء الاصطناعي</a> ومقال <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">تعلم الآلة Machine Learning</a>.
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة الذكاء الاصطناعي
		</p>

		<p class="banner-subtitle">
			احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة.
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/artificial-intelligence" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<a href="https://academy.hsoub.com/learn/artificial-intelligence" rel=""><img alt="دورة الذكاء الاصطناعي AI" src="https://academy.hsoub.com/learn/assets/images/courses/artificial-intelligence.png"></a>
	</div>
</div>

<h2>
	مستقبل إنترنت الأشياء
</h2>

<p>
	<a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%88-%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A7%D9%84%D8%A3%D8%B4%D9%8A%D8%A7%D8%A1-iot-r1783/" rel="">إنترنت الأشياء IoT</a> هو التقنية التي تجعل الأجهزة من حولنا ذكية وتتفاعل مع بعضها البعض وترسل البيانات عبر <a href="https://academy.hsoub.com/devops/networking/%D8%A2%D9%84%D9%8A%D8%A9-%D8%B9%D9%85%D9%84-%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-r571/" rel="">شبكة الإنترنت</a> وتحللها وهو بلا شك أحد الجوانب التي ستؤثر على مستقبل البرمجة بشكل كبير، ومن المتوقع أن يزداد تأثيره في السنوات القادمة ليطبق بشكل أكبر في أتمتة منازلنا والتحكم بمختلف الأجهزة التي نستخدمها في حياتنا اليومية كأجهزة الإنذار وأنظمة التدفئة وأنظمة الإضاءة الذكية وأنظمة التحكم بالأبواب والستائر ويمكننا من التحكم بها من خلال التطبيقات المثبتة على هواتفنا الذكية، ولن يقتصر تطبيق إنترنت الأشياء على منازلنا فحسب بل سيستخدم بصورة أكبر في مختلف المجالات الصناعية كصناعة السيارات ومجال الرعاية الصحية وغيرها.
</p>

<p>
	ربما ستزيد هذه التقنيات من اعتمادية الناس العادية على الأجهزة لكنها ستفرض على معشر المبرمجين بذل جهد أكبر في تعلم تقنيات تطوير تطبيقات الأجهزة المضمنة وتطبيقات الأجهزة قابلة للارتداء والاطلاع على أحدث التغييرات التي ستطرأ على تطوير تطبيقات الجوال وتطبيقات الويب، إلى جانب اكتساب مهارات كافية في <a href="https://academy.hsoub.com/programming/general/%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">علوم البيانات</a> لجعل هذه التطبيقات قادرة على التعامل مع كمية ضخمة من البيانات <a href="https://academy.hsoub.com/programming/general/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D9%85%D9%81%D9%87%D9%88%D9%85-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-%D8%A7%D9%84%D8%B6%D8%AE%D9%85%D8%A9-big-data-r1579/" rel="">Big data</a> فأجهزة إنترنت الأشياء ستولد لنا كميات هائلة من البيانات وهذه البيانات الضخمة تحتاج إلى تحليلها ومعالجتها واتخاذ قرارات صائبة منها.
</p>

<p>
	كما يحتاج المبرمجون المهتمون بهذا المجال إلى التركيز بشكل أكبر على <a href="https://academy.hsoub.com/programming/advanced/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D9%85%D8%A7%D9%86-%D9%85%D9%88%D8%A7%D9%82%D8%B9-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-r2020/" rel="">أمان التطبيقات والمواقع</a> التي يطورونها، ويتعلموا بشكل جيد طريقة التعامل مع بروتوكولات الاتصال وأجهزة الاستشعار والمنصات السحابية المناسبة حسب نوع التطبيق المطلوب، ويتقنوا اللغات والبروتوكولات الخاصة بإنترنت الأشياء مثل MQTT و CoAP و Zigbee.
</p>

<h2>
	مستقبل البرمجة وعلم البيانات
</h2>

<p>
	<a href="https://academy.hsoub.com/programming/general/%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">علم البيانات Data Science</a> هو مجال حديث يجمع بين الإحصاء والرياضيات وعلوم الحاسوب ويهتم بدراسة البيانات ويعتمد عليها في اتخاذ القرارات من خلال الاستعانة <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">بخوارزميات الذكاء الاصطناعي</a> وتعلم الآلة، ويتوقع أن يزداد الطلب عليه بشكل أكبر في المستقبل نتيجة التضخم الهائل في حجم البيانات الذي نشهده، كما يتوقع أن يكون علم البيانات أحد أكثر المجالات المطلوبة في المستقبل لأن كافة المؤسسات والمنظمات وقطاعات العمل بدأت في الاعتماد عليه لاتخاذ قراراتها المختلفة مثل كشف عمليات الاحتيال والتوصية بالمنتجات المناسبة للعملاء وستحتاج للاعتماد عليه بشكل أكبر مستقبلًا.
</p>

<p>
	فإذا كنت مهتمًا بمجال علم البيانات أنصحك بأن تبدأ من الآن بتعلم التقنيات ولغات البرمجة الشهيرة في هذا المجال مثل لغة <a href="https://wiki.hsoub.com/Python" rel="external">بايثون python</a> <a href="https://academy.hsoub.com/programming/r-language/" rel="">ولغة R</a> ونظم إدارة قواعد البيانات وبرامج التحليلات الإحصائية والتمثيل الرسومي للبيانات مثل Tableau و Power BI ومنصات البيانات الضخمة وتفهم أطر البيانات الضخمة مثل Spark و Hadoop لضمان مهنة لها دور واعد في مستقبل البرمجة.
</p>

<p>
	لمطالعة مزيد من المعلومات حول علم البيانات وتخصصاته وكيفية تعلمه أنصح بمطالعة مقال <a href="https://academy.hsoub.com/programming/general/%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">علم البيانات Data science: الدليل الشامل</a> ومقال <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%AD%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">الدليل الشامل إلى تحليل البيانات Data Analysis</a>.
</p>

<h2>
	مستقبل تقنية البلوكتشين Blockchain
</h2>

<p>
	أحدثت تقنية البلوكتشين Blockchain ثورة في طريقة التعامل الرقمي مع البيانات وهي تقنية تعتمد على تخزين المعاملات في قاعدة بيانات عملاقة مشفرة وآمنة لا مركزية وغير قابلة للتعديل تسمى <a href="https://ar.wikipedia.org/wiki/%D8%AF%D9%81%D8%AA%D8%B1_%D8%A7%D9%84%D8%A3%D8%B3%D8%AA%D8%A7%D8%B0_%D8%A7%D9%84%D9%85%D9%88%D8%B2%D8%B9" rel="external nofollow">دفتر الأستاذ الموزع distributed ledger</a> وقد اكتسبت هذه التقنية شهرتها من العملات المشفرة المبنية عليها.
</p>

<p>
	ففي هذه التقنية تتم المعاملات على قاعدة البيانات بترتيب تسلسلي وتكون المعاملات لامركزية أي أنها تعمل على حواسيب موزعة في جميع أنحاء العالم وتتم مباشرة بين المستخدمين دون تدخل طرف ثالث وتكون مؤمنة بشكل كبير، على سبيل المثال عندما يبيع شخصان السلع لبعضهما البعض باستخدام عملة بيتكوين Bitcoin فلن يحتاجوا إلى المرور عبر وسيط مثل بيبال لإتمام هذه المعاملة.
</p>

<p>
	تتطور تقنية بلوكتشين بشكل متسارع ويتوقع أن تشهد المزيد من الاستخدامات في المستقبل في عدة مجالات فإلى جانب تحويل العملات المشفرة عبر الأجهزة سيعتمد عليها في إنشاء عقود ذكية مخصصة قادرة على التعامل مع المعاملات المعقدة والتحقق من المعاملات متعددة الخطوات وتسريع معالجة البيانات ونقلها بأمان، وبدأت تعتمد في العديد من القطاعات والمجالات مثل عمليات التصويت للانتخابات وحفظ المعاملات المالية وسندات الملكية.
</p>

<p>
	يتوقع أن تؤثر هذه التقنية على مستقبل البرمجة وتزيد الطلب على مطوري البلوكتشين بمختلف تخصصاتهم سواء المطورين الأساسيين blockchain core أو مطوري تطبيقات blockchain أو مطوري التطبيقات اللامركزية DApps ومطوري العقود الذكية باستخدام لغات مخصصة مثل solidity، فإذا كنت ترغب في تعلم مجال رائد في مستقبل البرمجة يمكنك البدء بتعلم تقنيات تطوير البلوكتشين والتعرف على منصاتها وبروتوكولاتها المختلفة.
</p>

<h2>
	الحوسبة الكمومية Quantum Computing
</h2>

<p>
	ستحل الحوسبة الكمومية التي تستخدم البتات الكمومية quantum bits أو ما يعرف بالكيوبتات qubits محل بالحوسبة الكلاسيكية التي تستخدم البتات bits أو <a href="https://academy.hsoub.com/programming/os-embedded-systems/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%B9%D8%AF-%D8%A7%D9%84%D8%AB%D9%86%D8%A7%D8%A6%D9%8A-binary-%D8%A3%D8%B3%D8%A7%D8%B3-%D8%A7%D9%84%D8%AD%D9%88%D8%B3%D8%A8%D8%A9-r1658/" rel="">نظام الأرقام الثنائية binary digits</a> لتمثيل البيانات وتنفيذ العمليات، وستلعب دورًا فعالًا في مستقبل البرمجة من خلال زيادة سرعة معالجة كميات هائلة من البيانات وتسهيل حل المشكلات المعقدة التي استعصى على البشرية حلها.
</p>

<p>
	لا تزال الحوسبة الكمومية في بدايتها ويقتصر استخدام الحواسيب الكمومية اليوم على المجالات البحثية ولازالت تواجه حتى اليوم بعض التحديات التقنية والعملية التي يعمل الخبراء على حلها، وحين تستقر سيبدأ استخدامها في تطبيقات فعلية مختلفة ويتوقع أن تطور العديد من <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D8%B9%D9%84%D9%89-%D8%AA%D8%AE%D8%B5%D8%B5%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A3%D8%AC%D8%B1%D9%8B%D8%A7-r1939/" rel="">تخصصات البرمجة</a> وأبرزها الأمن السيبراني وتحليل البيانات وتطور مجال الرعاية الطبية وتساعد في اكتشاف الأدوية وتحسن من الاقتصاد.
</p>

<p>
	تستخدم الحوسبة الكمومية أسلوبًا مختلفًا في البرمجة وتحتاج لتطوير خوارزميات جديدة لذا يحتاج المبرمجون المهتمون بهذا المجال إلى تعلم لغات برمجة وأطر عمل جديدة مصممة للعمل على الحواسيب الكمومية مثل Q#‎ و Cirq و Qiskit، كما يمكنهم استخدام <a href="https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">لغات برمجة</a> تقليدية مثل بايثون لكن مع الاستعانة بمكتبات خاصة مصممة للعمل مع الأنظمة الكمومية مثل QuTip وسيحتاجون كذلك لفهم أساسيات الجبر الخطي وميكانيك الكم للتعامل مع هذه التقنية الرائدة.
</p>

<h2>
	مستقبل البرمجة دون كود No-Code
</h2>

<p>
	ستبقى البرمجة التقليدية التي تعتمد على كتابة الشيفرات البرمجية أو ما يعرف بالتطوير عالي الكود High-code development موجودة في مستقبل البرمجة بالتأكيد، لكن يتوقع أن يزداد الاعتماد كذلك على منصات التطوير بدون كود No-code development أو التطوير منخفض الكود Low-code development الذي يسمح لأي شخص غير مختص بالتقنية بتطوير البرامج والتطبيقات والمنتجات الخاصة به وأتمتة أعماله بنفسها.
</p>

<p>
	تتميز البرمجة منخفضة الكود بشكل أساسي بتوفير واجهات رسومية سهلة الاستخدام تعتمد السحب والإفلات ولا تحتاج لكتابة الشيفرات والتعليمات باستخدام إحدى لغات البرمجة المعقدة، ويمكن أن تعتمد أيضًا على أنظمة تصميم ومكونات مسبقة الصنع يمكن لأي شخص استخدامها مباشرة وإنشاء تطبيقاته بسرعة وسهولة.
</p>

<p>
	قد تتساءل هل هذا يعني أن الاعتماد على المبرمجين والمطورين المتخصصين سوف ينخفض في المستقبل؟ والجواب هو بالنفي فالحلول بدون كود مهما كانت مرنة وسهلة الاستخدام فلن تتمكن من الاستغناء عن دور المبرمجين بالكامل وستصلح للأنظمة البرمجية البسيطة نسبيًا وستبقى كتابة الأكواد مطلوبة لتطوير الأنظمة البرمجية الاحترافية والتحكم بهذه المنصات نفسها فهذه المنصات تعمل وراء الكواليس بواسطة الشيفرات البرمجية وستظل بحاجة لمبرمجين يطورونها ويقومون بصيانتها، كما يمكن أن تكون هذه المنصات بذات الوقت أداة مساعدة يمكن للمبرمجين دمجها مع أساليب البرمجة التقليدية لتحسن إنتاجيتهم وتسريع وتيرة عملهم.
</p>

<h2>
	مستقبل تطبيقات الويب التقدمية PWA
</h2>

<p>
	يتوقع أن تسيطر <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%8A-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D8%A7%D9%84%D8%AA%D9%82%D8%AF%D9%85%D9%8A%D8%A9-pwa%D8%9F-r1480/" rel="">تطبيقات الويب التقدمية PWAs</a> وهي اختصار لعبارة Progressive Web Applications على مستقبل برمجة تطبيقات الويب ويزداد الاعتماد عليها من قبل الشركات والمؤسسات المختلفة، فهذه التطبيقات وفرت أسلوبًا جديدًا لتطوير تطبيقات الأجهزة المحمولة ومكنت المبرمجين من تطوير تطبيقات ويب تتصرف مثل التطبيقات الأصيلة native applications وتعمل بكفاءة على كافة أنواع أنظمة التشغيل وتتوافق مع كافة الأجهزة وأحجام الشاشات سواء الحواسب المكتبية أو الأجهزة المحمولة ويتم الوصول لها من خلال مستعرض الويب وهي لا تتطلب من المستخدم تثبيت أي شيء لاستخدامها كما يمكنها العمل دون الحاجة للاتصال بالإنترنت.
</p>

<p>
	تستخدم تطبيقات الويب التقدمية <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D9%84%D9%85-%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D9%8A%D8%A8/" rel="">تقنيات تطوير الويب</a> الأساسية HTML و CSS وجافاسكريبت إلى جانب أدوات وأطر العمل المخصصة مثل Angular و React و Vue.js، فإذا مهتمًا بمجال <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA/" rel="">برمجة وتطوير التطبيقات</a> أنصحك بالبدء بتعلم تطوير PWAs واكتساب المهارات اللازمة في هذا المجال لضمان مهنة مطلوبة في سوق العمل في السنوات القادمة.
</p>

<p>
	لمطالعة مزيد من التفاصيل حول تطبيقات الويب التقدمية والتعرف على أهم مميزاتها يمكنك مطالعة مقال <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D8%A7%D9%84%D8%AA%D9%82%D8%AF%D9%85%D9%8A%D8%A9-pwa-r832/" rel="">مدخل إلى تطبيقات الويب التقدمية PWA</a>
</p>

<h2>
	أهمية البرمجة في المستقبل
</h2>

<p>
	لاشك أن مستقبل البرمجة واعد ومشرق في عصرنا الرقمي متسارع الخطى فالطلب على المطورين والمبرمجين يزداد بشكل كبير في الشركات التقنية المتخصصة، كما أن البرمجة قد تصبح مطلبًا أساسيًا للتوظيف في العديد من مجالات العمل الأخرى مثل الاقتصاد والصناعة ومؤسسات الرعاية الصحية إلى جانب زيادة الاعتماد عليها في مجالات الحياة اليومية.
</p>

<p>
	فالبرمجة لغة المستقبل وعلى الجميع تعلمها ولكن لنتذكر دومًا أن عالم البرمجة في تغير مستمر ومن الضروري لأي مهتم بالبرمجة أن يواكب التطورات الحاصلة فيها ويركز على تعلم الاتجاهات الحديثة التي يتوقع أن يزداد الطلب عليها إذا أراد أن يضمن البقاء في الصدارة في سوق العمل المستقبلي.
</p>

<p>
	إذا كنت مهتمًا بتعلم البرمجة واحترافها يمكنك البدء بأحد التخصصات البرمجية التي شرحناها سابقًا والتي يتوقع أن تشهد ازدهارًا وطلبًا مرتقعًا في مستقبل البرمجة، وتذكر أن مهنة البرمجة بلا شك بجميع مجالاتها وتخصصاتها الأخرى ستبقى واحدة من أكثر المهن التي تنبئ بمستقبل واعد، فإذا كنت مهتمًا بتعلم البرمجة وتقنياتها لا تتردد وابدأ من اليوم بتحديد المجال الذي يوافق ميولك وضع خطة لتعلمه مع الاهتمام إلى جانب ذلك بتنمية مهاراتك الناعمة مثل مهارات التواصل الفعال وحل المشكلات والقدرة على التعلم وتطوير الذات لأن هذه المهارات ستصبح أكثر أهمية في المستقبل وستمكنك من إثبات وجودك والتميز في سوق العمل.
</p>

<p>
	وإذا كنت مهتمًا بمعرفة مزيد من التفاصيل حول مستقبل البرمجة أنصحك بمشاهدة هذا الفيديو:
</p>

<p style="text-align: center;">
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="450" id="ips_uid_5499_5" src="https://academy.hsoub.com/applications/core/interface/index.html" title="تعلم البرمجة - أهم وظيفة في المستقبل؟" width="800" data-embed-src="https://www.youtube.com/embed/lpBuXCpwxSw"></iframe>
</p>

<h2>
	الخلاصة
</h2>

<p>
	حاولنا في مقال اليوم أن نستشرف مستقبل البرمجة ونعرفك على أهم التخصصات البرمجية التي يتوقع أن تشهد وجودًا قويًا في السنوات القليلة القادمة ومن أبرزها الذكاء الاصطناعي، والتعلم الآلي، والتعلم العميق، وإنترنت الأشياء، وعلم البيانات، وتقنيات البلوكتشين، والبرمجة بدون كود أو منخفضة الكود، وناقشنا أهمية تخصص البرمجة والمستقبل الواعد <a href="https://academy.hsoub.com/programming/general/%D8%AF%D8%B1%D8%A7%D8%B3%D8%A9-%D8%AA%D8%AE%D8%B5%D8%B5-%D9%87%D9%86%D8%AF%D8%B3%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA/" rel="">لدراسة هندسة البرمجيات</a> وزيادة الطلب على المبرمجين والمطورين في سوق العمل المستقبلي.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D8%B9%D9%84%D9%89-%D8%AA%D8%AE%D8%B5%D8%B5%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A3%D8%AC%D8%B1%D8%A7-r1939/" rel="">تعرف على أعلى تخصصات البرمجة أجرًا</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%88%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D9%88%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r1814/" rel="">البرمجة والخوارزميات والذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/php/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82-%D9%88%D8%B5%D9%81%D8%A9-%D9%84%D8%A7%D9%82%D8%AA%D8%B1%D8%A7%D8%AD-%D8%A7%D9%84%D9%88%D8%AC%D8%A8%D8%A7%D8%AA-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-chatgpt-%D9%88-dall-e-%D9%81%D9%8A-php-r2005" rel="">تطوير تطبيق وصفة لاقتراح الوجبات باستخدام ChatGPT و DALL-E في PHP</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">برمجة الذكاء الاصطناعي</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2144</guid><pubDate>Tue, 10 Oct 2023 13:00:00 +0000</pubDate></item><item><title>&#x627;&#x643;&#x62A;&#x634;&#x641; &#x645;&#x627; &#x647;&#x64A; &#x627;&#x644;&#x628;&#x631;&#x645;&#x62C;&#x629; &#x648;&#x645;&#x627; &#x623;&#x647;&#x645;&#x64A;&#x629; &#x62A;&#x639;&#x644;&#x645;&#x647;&#x627;</title><link>https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%8A-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_10/---.png.a6e7533939fc72446266708266bfa33f.png" /></p>
<p>
	نجيب اليوم في هذا مقال على سؤال <strong>ما هي البرمجة</strong> وما أهميتها في عصرنا الذي يشهد تطورًا تقنيًا غير مسبوق والذي أصبحت فيه الحواسيب والأجهزة الذكية جزءًا لا يتجزأ من حياتنا وأعمالنا اليومية، فلولا البرمجة لما كانت كل هذه الأجهزة والتقنيات قادرة على العمل بالشكل المطلوب.
</p>

<p>
	فالبرمجة هي التي تتيح لنا التفاعل والتواصل مع الحواسيب والأجهزة من حولنا وتمكننا من إعطائها التعليمات وتنفيذ المهام المتنوعة التي نحتاجها منها، كما أن تعلم البرمجة لم يعد حكرًا على المبرمجين والمطورين اليوم بل أصبح مهارة أساسية تفيد الجميع للانسجام مع ضرورات العصر الحالي ومتطلباته.
</p>

<h2>
	ما هي البرمجة؟
</h2>

<p>
	البرمجة هي طريقة التواصل بيننا نحن البشر وبين أجهزة الحواسيب وغيرها من الأجهزة الإلكترونية القابلة للبرمجة، فالحاسوب لا يعرف بالأساس سوى لغة خاصة تسمى لغة الآلة machine language وهي لغة صعبة ومعقدة تتكون من مجموعة من الواحدات والأصفار، على سبيل المثال عندما نكتب حرفًا على لوحة المفاتيح، فإن هذا الحرف يحول إلى تسلسل من الأصفار والواحدات حتى يستطيع الحاسوب فهمه.
</p>

<p>
	باختصار يمكن أن نجيب على سؤال ما هي البرمجة بأنها كتابة الأوامر بلغة يمكن للحاسوب فهمها وتنفيذها. في بداية ظهور الحواسيب كان المبرمجون الأوائل يستخدمون طريقة يدوية وصعبة للتخاطب مع الحواسيب وإيصال المعلومات لها وذلك من خلال <a href="https://ar.wikipedia.org/wiki/%D8%A8%D8%B7%D8%A7%D9%82%D8%A9_%D9%85%D8%AB%D9%82%D8%A8%D8%A9" rel="external nofollow">بطاقات مثقبة Punched cards</a> فبعد كتابة الأوامر والتعليمات المطلوب من الحاسوب أن يفهمها يحولون هذه التعليمات إلى عدة بطاقات مثقبة لإدخالها للحاسوب، قد يحتاج كل أمر لبطاقة وكل بطاقة تحتوي على سلسلة من الثقوب بشكل معين تعبر عن هذا الأمر، ثم توضع البطاقات في جهاز مخصص يقرأ الثقوب على البطاقة ويترجمها إلى لغة الآلة التي يمكن للحاسوب فهمها وتنفيذها وإذا احتاج الحاسوب لإخراج المعلومات أو طباعتها فسيتم إخراجها كذلك على شكل بطاقات مثقبة.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="136818" href="https://academy.hsoub.com/uploads/monthly_2023_10/---.png.f459aee98712981109a542c5c3fd462d.png" rel=""><img alt="ما هي البرمجة" class="ipsImage ipsImage_thumbnailed" data-fileid="136818" data-ratio="78.95" data-unique="3i1v74exf" style="width: 760px; height: auto;" width="760" src="https://academy.hsoub.com/uploads/monthly_2023_10/---.thumb.png.d79e988e2c31d83844ed161e5542449d.png"> </a>
</p>

<p>
	أما اليوم فنحن لا نحتاج إلى هذه التقنية المعقدة للتحدث مع الحواسيب فقد ابتكر علماء الحاسوب طريقة تساعدنا للتخاطب مع الحاسوب باستخدام لغات برمجة متطورة تكتب بصيغة معينة مفهومة أكثر لنا نحن البشر وتدخل إلى الحواسيب من خلال أجهزة الإدخال كلوحة المفاتيح والفأرة وصارت البرمجة مهمة ممتعة يمكننا من خلالها تحويل أفكارنا المختلفة لتطبيقات وبرامج حاسوبية مفيدة وممتعة ومشاركتها مع الآخرين.
</p>

<h2>
	ما هي لغة البرمجة؟
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="136816" href="https://academy.hsoub.com/uploads/monthly_2023_10/---.png.b08f476db10d82a64a7c9649aeecb173.png" rel=""><img alt="ما هي لغة البرمجة" class="ipsImage ipsImage_thumbnailed" data-fileid="136816" data-ratio="65.13" data-unique="x8yrl3xtk" style="width: 700px; height: auto;" width="800" src="https://academy.hsoub.com/uploads/monthly_2023_10/---.png.b08f476db10d82a64a7c9649aeecb173.png"> </a>
</p>

<p>
	لغة البرمجة هي لغة خاصة تستخدم للتخاطب مع جهاز الحاسوب وتوجيه الأوامر له بطريقة نستطيع نحن البشر فهمها ويستطيع الحاسوب ترجمتها للغة يفهمها وينفذها ويعطينا النتائج المطلوبة.
</p>

<p>
	هناك الكثير من <a href="https://academy.hsoub.com/programming/general/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أنواع لغات البرمجة</a> لكل منها قواعدها واستخداماتها وأسلوب صياغتها، على سبيل المثال تعد لغات البرمجة C و C++‎ وجافا وجافا سكريبت وبايثون وسويفت أمثلة على لغات برمجة شائعة مستخدمة للتخاطب مع الحاسوب، تتشابه تعليمات هذه اللغات إلى حد ما مع اللغة الإنجليزية المحكية لكنها ليست مثلها تمامًا.
</p>

<p>
	لنفترض أنك تريد أن تخبر الحاسوب بأن يقوم بمهمة بسيطة مثل عرض رسالة ترحيبية على الشاشة، يمكنك أن تكتب له التعليمات بإحدى لغات البرمجة وتحفظها بشكل برنامج حاسوبي، فالبرنامج program هو مجرد تسلسل من التعليمات تُخبر الحاسوب بما يجب فعله، ثم تطلب منه بعد ذلك تنفيذ هذا البرنامج، سيفهم تعليمات البرنامج ويعرض لك الرسالة التي طلبتها منه.
</p>

<p>
	على سبيل المثال تبين الصورة التالية طريقة كتابة برنامج حاسوبي بسيط يطلب من الحاسوب أن يطبع رسالة ترحيبية "مرحبًًا بك في أكاديمية حسوب" باستخدام عدة لغات برمجة مختلفة، تعطي كافة هذه البرامج نفس النتيجة عند تشغيلها، حاول قراءة التعليمات البرمجية باللغات المختلفة، ألا ترى أن بعضها مفهوم وواضح وقريب جدًا للغة الإنجليزية المحكية؟
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="136817" href="https://academy.hsoub.com/uploads/monthly_2023_10/1473387034_.png.b55ab975b2fc40b1f24475eb1681f0d6.png" rel=""><img alt="مثال عن ما هي البرمجة" class="ipsImage ipsImage_thumbnailed" data-fileid="136817" data-ratio="38.00" data-unique="9414vtc6q" style="width: 800px; height: auto;" width="800" src="https://academy.hsoub.com/uploads/monthly_2023_10/1473387034_.png.b55ab975b2fc40b1f24475eb1681f0d6.png"> </a>
</p>

<h2>
	كيف يفهم الحاسوب لغات البرمجة؟
</h2>

<p>
	قد يتبادر لذهنك السؤال التالي: كيف يفهم الحاسوب هذه التعليمات إذا كان لا يعرف إلا لغة الأصفار والواحدات؟ إليك الإجابة: عندما تتخاطب مع الحاسوب بأي لغة من لغات البرمجة وتكتب برنامجًا باستخدامها يقوم برنامج خاص يسمى المترجم أو <strong>المصرّف compiler</strong> أو <strong>المفسر interpreter</strong> بعملية ترجمة أو تحويل الشيفرات البرمجية للبرنامج الحاسوبي إلى شيفرة مكتوبة بلغة الآلة ليتمكن الحاسوب من فهمها وتنفيذها وعرض النتائج المطلوبة للمستخدم.
</p>

<p>
	تعتمد هذه الخطوة على نوع لغة البرمجة التي تستخدمها فبعض اللغات تستخدم مصرف يقوم بترجمة البرنامج بأكمله إلى لغة الآلة في مرة واحدة ثم ينشئ ملف تنفيذي يمكن تشغيله مباشرة على الحاسوب وبعض اللغات تستخدم مفسر أو ما يعرف بالمصرف الفوري الذي تترجم البرنامج سطرًا سطرًا وتنفذ كل سطر على الفور دون الحاجة لإنشاء ملف تنفيذي منفصل وبمجرد ترجمة البرنامج إلى لغة الآلة يمكن تشغيله على الحاسوب وبهذا يمكن للمبرمج التخاطب مع الحاسوب دون الحاجة إلى التعامل مباشرةًً مع لغة الآلة.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="136819" href="https://academy.hsoub.com/uploads/monthly_2023_10/---.png.24933bb1f8c29e48b662c01b8a4b51ba.png" rel=""><img alt="لغات البرمجة" class="ipsImage ipsImage_thumbnailed" data-fileid="136819" data-ratio="60.12" data-unique="tnio6av1o" style="width: 800px; height: auto;" width="800" src="https://academy.hsoub.com/uploads/monthly_2023_10/---.png.24933bb1f8c29e48b662c01b8a4b51ba.png"> </a>
</p>

<p>
	عندما تتعلم إحدى <a href="https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">لغات البرمجة</a> ستتعلم كيف تطلب من الحاسوب أن ينفذ لك أي أمر تريده سواء كان هذا الأمر بسيطًا كطباعة نصوص أو جمع أرقام أو حل معادلات الرياضية أو معقدًا كتصميم ألعاب أو إنشاء متاجر إلكترونية أو غيرها من التطبيقات المختلفة.
</p>

<h2>
	ما هي الخوارزميات وما علاقتها بالبرمجة؟
</h2>

<p>
	يستخدم مصطلح <a href="https://academy.hsoub.com/programming/advanced/%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA/" rel="">الخوارزميات</a> بشكل كبير في مجال البرمجة وعلوم الحاسوب والرياضيات، لأن البرمجة ترتبط بحل المشكلات وفهمها ثم كتابة بعض التعليمات البرمجية التي تنفذ هذا الحل من خلال الحاسوب، فإن لم تتمكن من فهم المشكلة وتحدد فيما إذا كانت مشكلة قابلة للحل برمجيًا وتقسمها لمشكلات أصغر ثم تبدأ بوضع الخطوات الصحيحة والمتسلسلة لحلها وإلا فلن تتمكن من برمجتها بشكل صحيح باستخدام أي لغة من لغات البرمجة، وهنا تأتي أهمية تعلم الخوارزميات وتطوير مهارات <a href="https://academy.hsoub.com/programming/general/%D8%A3%D9%87%D9%85%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%81%D9%83%D9%8A%D8%B1-%D8%A7%D9%84%D9%85%D9%86%D8%B7%D9%82%D9%8A-%D9%81%D9%8A-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r2095/" rel="">التفكير المنطقي</a> التي تكسبك هذه المهارات.
</p>

<p>
	فالخوارزمية هي إجراء منطقي يستخدم لحل المشكلات من خلال وضع قائمة متسلسلة من التعليمات التي تحدد خطوة بخطوة كافة الإجراءات التي علينا اتباعها للوصول لحل المشكلة بكفاءة مع تحديد القيمة أو مجموعة من القيم التي نحتاج لمعرفتها لحل المشكلة والتي تمثل (المدخلات) واستنتاج القيمة أو مجموعة القيم التي تنتج كحل للمشكلة والتي تمثل (المخرجات)
</p>

<p>
	تكتب الخوارزميات بطريقة مشابهة لكتابة وصفات الطعام حيث يتم تحديد كل خطوة بطريقة وشرحها بطريقة مرتبة يمكن فهمها وتنفيذها، تخيل أنك تريد حل مشكلة طهي طبخة جديدة لأول مرة، مثل طبق الطاجن المغربي باللحم، عندها ألن تحتاج لمن يخبرك بكافة المكونات الأساسية المطلوبة في الطبق؟ وما هي الخطوات المتسلسلة لطهي الوصفة وتحويل هذه المكونات إلى الطبق المطلوب؟ حسنًا تعمل الخوارزمية الحاسوبية بنفس الطريقة فالحاسوب يحتاج منك أن تخبره كيف يتبع الخطوات الصحيحة في معالجة المدخلات ليعطيك النتيجة المطلوبة.
</p>

<h2>
	أنواع لغات البرمجة
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="136820" href="https://academy.hsoub.com/uploads/monthly_2023_10/--.png.7c649980e6a74af4229896f73f1a27f3.png" rel=""><img alt="أنواع لغات البرمجة" class="ipsImage ipsImage_thumbnailed" data-fileid="136820" data-ratio="66.25" data-unique="is4cfwgs3" style="width: 800px; height: auto;" width="800" src="https://academy.hsoub.com/uploads/monthly_2023_10/--.png.7c649980e6a74af4229896f73f1a27f3.png"> </a>
</p>

<p>
	هناك عدد كبير من لغات البرمجة المستخدمة من قبل المطورين والمبرمجين وعلماء الحاسوب، لكل لغة منها أغراضها ومجالات استخدامها وتصنف هذه اللغات وفق معايير وأنواع مختلفة بحسب مستواها ومجالات استخدامها وطريقة هيكلة شيفراتها وأسلوب تنفيذ تعليماتها وغيرها من العوامل المختلفة، وقد تندرج بعض لغات البرمجة تحت أكثر من تصنيف بذات الوقت. وإليك نبذة مختصرة عن أشهر أنواع لغات البرمجة:
</p>

<ul>
	<li>
		لغات البرمجة منخفضة المستوى Low-level languages
	</li>
	<li>
		لغات البرمجة عالية المستوى High-level languages
	</li>
	<li>
		لغات البرمجة الوظيفية Functional Programming Language
	</li>
	<li>
		لغات البرمجة النصية أو المكتوبة Scripting Programming Language
	</li>
	<li>
		لغة البرمجة المنطقية Logic Programming Language
	</li>
	<li>
		لغة البرمجة كائنية التوجه Object-Oriented Programming
	</li>
</ul>

<h3>
	لغات برمجة منخفضة المستوى Low-level languages
</h3>

<p>
	كانت لغات البرمجة الأولى لغات البرمجة منخفضة المستوى أي أنها أقرب لمستوى الأجهزة (كما أشرنا بمثال البطاقات المثقبة) وصعبة الفهم والتعلم والصيانة على البشر ومن الأمثلة عليها لغة الآلة ولغة التجميع Assembly، ويكون لكل نوع من أجهزة الحاسوب أو المعالجات لغة آلة خاصة به ولا يمكنه تنفيذ البرنامج عليه إلا إذا تم التعبير عنه بتلك اللغة.
</p>

<h3>
	لغات البرمجة عالية المستوى High-level languages
</h3>

<p>
	لغات البرمجة عالية المستوى هي لغات برمجة قريبة لفهم البشر فهي تستخدم مفردات وأوامر وبنية تتشابه مع مفردات اللغة الإنجليزية وتسمح بالتفاعل مع الحاسوب بسهولة وهي سهلة التعلم والصيانة ومن الأمثلة عليها لغة بايثون Python ولغة جافا سكريبت JavaScript وروبي Ruby.
</p>

<p>
	بعض اللغات أسهل في الاستخدام والفهم للمبرمجين (اللغات عالية المستوى) ولكنها توفر تحكمًا أقل في أجهزة الحاسوب. البعض الآخر أكثر ملاءمة للآلة (لغات منخفضة المستوى)، مما يجعلها أسرع في التنفيذ وأكثر كفاءة في الذاكرة، ولكن من الصعب على البشر فهمها.
</p>

<h3>
	لغات البرمجة النصية Scripting languages
</h3>

<p>
	هي لغات مكتوبة بشكل أوامر نصية تستخدم في العديد من المجالات مثل أتمتة المهام المتكررة وتطوير الويب والعديد من لغات البرمجة المشهورة اليوم هي لغات برمجة نصية، مثل لغة بايثون وجافا سكريبت ولغة PHP.
</p>

<h3>
	لغات البرمجة المرئية Visual languages
</h3>

<p>
	هي لغات برمجة لا تعتمد على أسلوب كتابة التعليمة البرمجية بل تعتمد البرمجة من خلال الرسومات والصور فهي توفر لك واجهات رسومية GUIs تساعدك في إنشاء البرامج، ومن أبرز الأمثلة على لغات البرمجة المرئية نذكر <a href="https://academy.hsoub.com/programming/os-embedded-systems/%D8%A8%D8%B1%D9%85%D8%AC-%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%AA%D9%83-%D8%A7%D9%84%D8%A3%D9%88%D9%84%D9%89-%D8%B9%D8%A8%D8%B1-%D8%B3%D9%83%D8%B1%D8%A7%D8%AA%D8%B4-scratch-r1619/" rel="">سكراتش Scratch</a> وفيجوال بيسك Visual Basic. وهي أقل شهرة من لغات البرمجة النصية وتستخدم عادة لأغراض بسيطة وتعليمية فاستخدامها للعناصر المرئية يجعلها مفهومة أكثر من قبل المبتدئين.
</p>

<h3>
	لغات البرمجة المنطقية Logic Programming Languages
</h3>

<p>
	هي نوع خاص من أنواع لغات البرمجة لا تخبر الحاسوب بما يجب فعله بل تخبره بسلسلة من الحقائق والقواعد التي ترشده كيف يتخذ القرارات وهي تستخدم في تطبيقات الذكاء الاصطناعي ومعالجة اللغات الطبيعية وتحليل البيانات ومن الأمثلة على لغات البرمجة المنطقية نذكر لغة برولوغ Prolog، وداتا لوج Datalog.
</p>

<h3>
	لغات البرمجة الإجرائية Procedural Programming
</h3>

<p>
	تعتمد <a href="https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%A5%D8%AC%D8%B1%D8%A7%D8%A6%D9%8A%D8%A9/" rel="">لغات البرمجة الإجرائية</a> على تمثيل البرنامج الحاسوبي بشكل مجموعة من الإجراءات Procedures والإجراء هو سلسلة من الخطوات المتسلسلة أو الإجراءات التي تحقق النتيجة المطلوبة. ومن الأمثلة عليها لغة C وفورتران FORTRAN.
</p>

<h3>
	لغات البرمجة كائنية التوجه <abbr title="Object-Oriented Programming | البرمجة كائنية التوجه"><abbr title="Object-Oriented Programming | البرمجة كائنية التوجه">OOP</abbr></abbr>
</h3>

<p>
	تعد <a href="https://academy.hsoub.com/programming/general/%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%83%D8%A7%D8%A6%D9%86%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%88%D8%AC%D9%87-r1375/" rel="">البرمجة كائنية التوجه</a> أو ما يعرف <a href="https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D8%A7%D9%84%D9%83%D8%A7%D8%A6%D9%86%D8%A7%D8%AA-oop/" rel="">بلغة البرمجة بالكائنات</a> من أشهر أنواع لغات البرمجة وهي تمثل برنامج حاسوبي من خلال مجموعة من الكائنات objects بحيث يتكون كل كائن من بيانات ووظائف تعالج هذه البيانات، وهذا الأسلوب يسهل على المبرمج إعادة استخدام التعليمات البرمجية وتوسيع نطاقها. ومن أشهر الأمثلة على لغات البرمجة كائنية التوجه نذكر لغة جافا وبايثون و C++‎.
</p>

<h3>
	لغات البرمجة الوظيفية Functional Programming
</h3>

<p>
	تعتمد لغات <a href="https://academy.hsoub.com/programming/general/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D9%88%D8%B8%D9%8A%D9%81%D9%8A%D8%A9-functional-programming-r1391/" rel="">البرمجة الوظيفية</a> كما يدل اسمها على استخدام الوظائف أو الدوال البرمجية Functions والوظيفة أو الدالة ما هي سوى قطعة من الشيفرة البرمجية تأخذ مدخلات وتعالجها وترجع نتيجة المعالجة، يركّز هذا الأسلوب في البرمجة على وصف طريقة حل المشكلة بدلاً كتابة خطوات متسلسلة لحلها، من أشهر لغات البرمجة الوظيفية جو Go ورست Rust وكوتلن Kotlin و #F.
</p>

<h3>
	لغات البرمجة المصرفة والمفسرة
</h3>

<p>
	كما ذكرنا سابقًا تحول التعليمات البرمجية إلى لغة مفهومة من قبل الحاسوب بأسلوبين إما من خلال تمرير هذه التعليمات على مصرّف يقرأها بالكامل ثم يحولها إلى كود مكتوب بلغة الآلة ثم ينفذ هذا الكود، وتسمى لغات البرمجة التي تعتمد هذا الأسلوب باللغات المصرفة compiled languages ومن الأمثلة عليها جافا و C++‎، و C#‎.
</p>

<p>
	الأسلوب الثاني أن تمر التعليمات البرمجية على مفسر يقرأها وينفذها سطرًا تلو الآخر ويعرض النتيجة مباشرةً وعندها تسمى لغات مفسرة interpreted languages ومن الأمثلة عليها لغة بايثون Python وجافا سكريبت JavaScript وروبي Ruby.
</p>

<p>
	ستجد العديد من الطرق لتصنيف لغات البرمجة وإذا كنت مهتمًا بمعرفة المزيد من التفاصيل حول أنواع البرمجة ولغاتها المختلفة والغرض من استخدامها أنصحك بمطالعة مقال <a href="https://academy.hsoub.com/programming/general/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أنواع لغات البرمجة</a>.
</p>

<h2>
	ما هي أسهل لغة برمجة؟
</h2>

<p>
	يرافق سؤال ما هي البرمجة سؤالًا آخر وهو ما هي أسهل لغة برمجة يمكن البدء بها؟ عمومًا، تتفاوت لغات البرمجة في صعوبتها فهناك لغات برمجة صعبة التعلم ومعقدة وتفرض الكثير من القواعد الصارمة والتفاصيل المعقدة، وهناك بالمقابل لغات سهلة وتملك قواعد صياغية ولغوية بسيطة وسهلة التعلم والفهم فإذا كنت في بداية رحلتك في تعلم البرمجة فمن الأفضل أن تبدأ بتعلم لغة سهلة يمكنك من خلالها فهم <a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أساسيات البرمجة</a> بسلاسة وبناء أساس قوي وبعد ذلك سيكون تعلم مفاهيم ولغات أخرى أكثر سهولةً ويسرًا، ومن أسهل لغات البرمجة التي يمكنك البدء بها:
</p>

<ul>
	<li>
		لغة HTML و CSS
	</li>
	<li>
		لغة جافا سكريبت JavaScript
	</li>
	<li>
		لغة PHP
	</li>
	<li>
		لغة بايثون Python
	</li>
	<li>
		لغة روبي Ruby
	</li>
	<li>
		لغة جافا Java
	</li>
</ul>

<p>
	لنشرح نبذة مختصرة عن كل لغة من هذه اللغات ونوضح أبرز مميزاتها واستخداماتها:
</p>

<h3>
	لغة HTML و CSS
</h3>

<p>
	من السهل تعلم HTML وCSS إلى حد كبير لأنهما لا يتطلبان منك التفكير المنطقي لحل المشكلات كما هو الحال في باقي لغات البرمجة، فلغة <a href="https://wiki.hsoub.com/HTML" rel="external">HTML</a> أو لغة ترميز النص التشعبي هي أساس <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%8A-%D8%B5%D9%81%D8%AD%D8%A7%D8%AA-%D8%A7%D9%84%D9%88%D9%8A%D8%A8%D8%9F-r2094/" rel="">صفحات الويب</a> وهي لغة توصيفية تصف وتنظم محتوى صفحات الويب وتحدد فيما إذا كان كل جزء من المحتوى هو فقرة نصية أو عنوان رئيسي أو قائمة من التعددات أو جدول أو غير ذلك.
</p>

<p>
	أما لغة <a href="https://wiki.hsoub.com/CSS" rel="external">CSS</a> وهي اختصار لعبارة Cascading Style Sheets أي لغة صفحات الأنماط المتعاقبة فهي لغة تنسيقية مهمتها تعريف مجموعة من القواعد التي تطبّق على عناصر HTML وتعطيها مظهرًا جميلًا حيث يمكن من خلالها تحديد ألوان وخطوط وأحجام وأماكن تموضع العناصر المختلفة، يمكنك اعتبار HTML بمثابة الهيكل العظمي لصفحة الويب و CSS بمثابة الملابس التي تغطي هذا الهيكل وتعطيه منظرًا جميلًا.
</p>

<h3>
	لغة جافا سكريبت JavaScript
</h3>

<p>
	تتميز لغة جافا سكريبت <a href="https://wiki.hsoub.com/JavaScript" rel="external">JavaScript</a> ببساطة ووضوح تعليماتها وهي لغة عالية المستوى وشائعة الاستخدام وتستخدم جنبًا إلى جنب مع HTML وCSS كواحدة من أهم لغات برمجة الويب فهي مدعومة من جميع متصفحات الويب الرئيسية وتستخدم لإضافة تأثيرات حركية وميزات تفاعلية لمواقع الويب، كما تستخدم في العديد من المجالات والتطبيقات الأخرى وتملك مجتمع دعم كبيرًا وضخمًا يوفر الكثير من المصادر التعليمية، مما يساعد المبتدئين على تعلم اللغة وحل المشكلات التي تواجههم بسرعة وسهولة.
</p>

<h3>
	لغة PHP
</h3>

<p>
	<a href="https://wiki.hsoub.com/PHP" rel="external">PHP</a> هي اختصار تعاودي للعبارة Hypertext Preprocessor وهي لغة برمجة سهلة التعلم وشائعة الاستخدام، تستخدم بشكل أساسي في تطوير الويب وتمكنك من إضافة وإدارة المحتوى الديناميكي وقواعد بيانات إلى مواقع وتطبيقات الويب كما يمكنك تضمين هذه اللغة في HTML. وللاطلاع على مزيد من المعلومات حول لغة PHP وطريقة عملها وأبرز مميزاتها يمكنك مطالعة مقال <a href="https://academy.hsoub.com/programming/php/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D9%84%D8%BA%D8%A9-php-r2040/" rel="">تعرف على لغة PHP</a>
</p>

<h3>
	لغة بايثون Python
</h3>

<p>
	تعد لغة بايثون <a href="https://wiki.hsoub.com/Python" rel="external">Python</a> واحدة من أسهل لغات البرمجة وأكثرها قوةً وفعاليةً، فهي تملك مفردات وعبارات قريبة جدًا من اللغة الإنجليزية وتعبّر عن المفاهيم البرمجية بطريقة مختصرة وواضحة، وهي لغة عامة الأغراض ويمكن أن تستخدم في العديد من المجالات و<a href="https://academy.hsoub.com/programming/python/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D9%84%D8%BA%D8%A9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86/" rel="">التطبيقات</a> ومن أهمها تطوير الويب وتطبيقات الذكاء الاصطناعي والتعلم الآلي وتطوير تطبيقات سطح المكتب.
</p>

<h3>
	لغة روبي Ruby
</h3>

<p>
	تعد لغة روبي <a href="https://wiki.hsoub.com/Ruby" rel="external">Ruby</a> واحدة من أسهل لغات البرمجة وأكثرها مرونةً نظرًا لتركيبة جملها البسيط سهلة القراءة، وقد كان الهدف من إنشائها بالأصل هو جعل البرمجة ممتعة للمبتدئين وهي تعتمد البرمجة كائنية التوجه، أي يشتهر الكود المكتوب بلغة روبي بأنه منظم وسهل الفهم والصيانة.
</p>

<h3>
	لغة جافا Java
</h3>

<p>
	تتميز لغة البرمجة <a href="https://academy.hsoub.com/programming/java/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D9%85%D8%A7-%D9%87%D9%8A%D8%A9-%D8%AC%D8%A7%D9%81%D8%A7-java-r1515/" rel="">جافا Java</a> بكونها لغة عامة الأغراض وكائنية التوجه وتحظى بشعبية كبيرة بين أوساط المبرمجين فهي تعتمد على مبدأ كتابة الكود مرة واحدة وإمكانية تشغيله في أي جهاز أو منصة. وهي لغة متعددة الاستخدامات مثل تطبيقات الويب وتطبيقات الهاتف المحمول وتطوير الألعاب ما يجعلها لغة مناسبة للبدء بتعلم البرمجة.
</p>

<p>
	كانت هذه نبذة سريعة عن أسهل لغات البرمجة للمبتدئين، ركّز في البداية على تعلم لغة برمجة واحدة تتوافق مع أهدافك ومتطلباتك، وبعدها سيكون تعلم أي لغة برمجة أخرى أمرًا في غاية السهولة. وللتعرف على مزيد من لغات البرمجة سهلة التعلم والمناسبة للمبتدئين في البرمجة أنصحك بمطالعة مقال <a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D9%87%D9%84-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أسهل لغات البرمجة</a>
</p>

<h2>
	أهمية البرمجة
</h2>

<p>
	تكمن أهمية البرمجة في ضرورة مواكبة التطور التقني المتسارع الذي يعد سمةً مميزةً لعصرنا الحالي، فالبرمجة هي العصب المحرك لحياتنا والتواصل مع الحواسيب والأجهزة الذكية واستخدام التطبيقات والبرامج الحاسوبية أصبح أمرًا أساسيًا لا غنىً عنه لإنجاز المهام المختلفة كالتسوق ودفع الفواتير والبحث العلمي واللعب والترفيه والتواصل الاجتماعي وغيرها من الاستخدامات العديدة الأخرى.
</p>

<p>
	لذا تعد البرمجة اليوم واحدةً من أهم الوظائف المطلوبة في سوق العمل فلا تكاد تخلو مؤسسة اليوم من الاعتماد على التقنيات الرقمية وشبكة الإنترنت لإنجاز أعمالها ما يبرز الحاجة لتعيين مطورين ومبرمجين لتطوير هذه التقنيات المختلفة وتحسينها وصيانتها بشكل دوري وتعيين أشخاص قادرين على فهم آلية التعامل مع هذه التقنيات.
</p>

<p>
	كما أصبحت برمجة الحواسيب مهارة مطلوبة يبحث عنها أرباب العمل حتى بالنسبة للوظائف التي لا تتعلق بالحواسيب بشكل مباشر شأنها شأن المهارات الشخصية الأخرى مثل مهارة التواصل والاستماع أو مهارة التحدث بعدة لغات لأنها تدل ضمنيًا على أن الشخص الذي يملكها شخص منفتح تقنيًا ويملك مهارات في حل المشكلات والتفكير المنطقي.
</p>

<p>
	ومن أبرز المجالات والقطاعات التي تبرز فيها أهمية البرمجة نذكر:
</p>

<ul>
	<li>
		قطاع التعليم
	</li>
	<li>
		القطاعات الحكومية
	</li>
	<li>
		الاقتصاد وأسواق المال
	</li>
	<li>
		الرعاية الصحية
	</li>
	<li>
		الترفيه وصناعة الألعاب
	</li>
	<li>
		إنترنت الأشياء
	</li>
</ul>

<p>
	لنشرح أهم الفوائد التي تعود بها برمجة الحاسوب على كل مجال مما سبق:
</p>

<h3>
	أهمية البرمجة في قطاع التعليم
</h3>

<p>
	أصبحت مادة البرمجة جزءًا أساسيًا من المناهج الدراسية في العديد من البلدان فقد أدركت المؤسسات التعليمية أن تعليم البرمجة للطلاب يساعدهم في اكتساب العديد من المهارات القيمة مثل مهارة حل المشكلات والتفكير المنطقي والتحليلي ومهارة التواصل الفعال ويجعلهم أكثر إبداعًا وابتكارً ويوسع أفق تفكيرهم ويمكنهم من تعلم أي مفاهيم جديدة بسهولة أكبر كما يتوفر لهم العديد من فرص العمل في المستقبل.
</p>

<h3>
	أهمية البرمجة في القطاعات الحكومية
</h3>

<p>
	تفيد البرمجة في أتمتة وتسيير الأعمال الحكومية بصورة رقمية، فمعظم الحكومات اليوم بدأت بتنفيذ مشاريع التحول الرقمي وإنشاء بوابات إلكترونية تسهل على مواطنيها الوصول إلى الخدمات الحكومية والاستفادة منها. وهذا من شأنه أن يساعد الحكومات في تقديم خدمات أكثر شفافية وفعالية من حيث التكلفة وتحسن رضا المواطنين. إضافةً لذلك تساعد البرمجة المعلمين والأساتذة في تطوير تطبيقات ومنصات تعليمية احترافية وإنشاء محتوى تعليمي تفاعلي سهل الفهم وتقييم أداء طلابهم والتواصل معهم بشكل فعال لجعل عملية التعلم أكثر فعالية.
</p>

<h2>
	أهمية البرمجة في الاقتصاد
</h2>

<p>
	تساهم البرمجة في إدارة الأعمال وتعزيز النمو الاقتصادي فصناعة البرمجيات والمنتجات الرقمية المرتبطة بتقنية المعلومات من الصناعات الأكثر إنتاجيةً ونموًا في الاقتصاد. كما تستخدم بعض لغات البرمجة مثل لغة R ولغة بايثون والبرامج الإحصائية مثل <a href="https://academy.hsoub.com/apps/productivity/office/microsoft-excel/%D8%A7%D9%84%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-microsoft-excel-%D9%88%D8%A5%D9%86%D8%B4%D8%A7%D8%A1-%D8%A7%D9%84%D9%85%D8%B5%D9%86%D9%81-%D8%A7%D9%84%D8%A3%D9%88%D9%84-r25/" rel="">إكسل</a> و Stata و SAS من قبل المبرمجين ومحللي البيانات والمهتمين بالاقتصاد والأسواق المالية لتحليل البيانات الضخمة والتنبؤ بمستقبل الاقتصاد بشكل أفضل، واتخاذ قرارات تحسّن العمل وتزيد الأرباح.
</p>

<h3>
	أهمية البرمجة في الرعاية الصحية
</h3>

<p>
	يمكن أن تساعد مهارات البرمجة مؤسسات الرعاية الصحية على تطوير تطبيقات وبرامج تساعد في إدارة السجلات الطبية وتحسين رعاية المرضى ومتابعة حالتهم الصحية. كما تساعد البرمجة في مجال الأبحاث الطبية وتحليل بيانات الفحوصات والتحاليل الطبية وتساعد في تشخيص الأمراض والتنبؤ بوجود أمراض معينة بدقة عالية.
</p>

<h3>
	أهمية البرمجة في الترفيه وصناعة الألعاب
</h3>

<p>
	يستخدم المطورون <a href="https://academy.hsoub.com/programming/game-development/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%A3%D9%84%D8%B9%D8%A7%D8%A8/" rel="">لغات برمجة الألعاب</a> مثل C++‎ و C#‎ وجافا Java لإنشاء ألعاب احترافية قابلة للتشغيل على منصات مختلفة كالحواسيب والهواتف الذكية. وقد أصبحت صناعة الألعاب الإلكترونية واحدة من المجالات سريعة النمو والتي تدرّ الكثير من الأرباح.
</p>

<h2>
	أهمية البرمجة في إنترنت الأشياء
</h2>

<p>
	لقد نما مجال <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%88-%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A7%D9%84%D8%A3%D8%B4%D9%8A%D8%A7%D8%A1-iot-r1783/" rel="">إنترنت الأشياء IoT</a> بصورة سريعة وبدأت تطبيقاته وأجهزته المختلفة تستخدم بشكل كبير في أعمالنا وحياتنا اليومية وساهم في زيادة راحتنا وأمننا. وهناك العديد من لغات البرمجة التي تفيد في تطوير مشاريع إنترنت أشياء مثل لغة جافا Java وبايثون Python و C و C++‎.
</p>

<h2>
	نصائح لتعلم البرمجة للمبتدئين
</h2>

<p>
	بعد أن تعرفت ما هي البرمجة وما أهميتها قد تتساءل كيف يمكن تعلم البرمجة وما أهم الخطوات التي عليك اتباعها لتتقن البرمجة وتعمل في أحد المجالات أو فرص العمل المختلفة التي توفرها.
</p>

<ul>
	<li>
		حدد هدفك من تعلم البرمجة وأي مجال من <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AC%D8%A7%D9%84%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">مجالات البرمجة</a> يهمك أكثر من غيره هل هو تطوير مواقع الويب أو تطوير تطبيقات الجوال أو تحليل البيانات …إلخ فهذا يساعدك في اختيار لغات البرمجة والتقنيات الصحيحة التي عليك التركيز على تعلمها.
	</li>
	<li>
		ابدأ بتعلم إحدى لغات البرمجة السهلة التي تناسب المبتدئين والتي تمكنك من احتراف المجال أو التخصص البرمجي الذي اخترته.
	</li>
	<li>
		تعلّم كيف تستخدم الأدوات البرمجية المطلوبة لكتابة وتنفيذ التعليمات البرمجية مثل محررات الأكواد وبيئات التطوير المتكاملة والمحطات الطرفية.
	</li>
	<li>
		طبّق ما تتعلمه على تطوير تطبيقات بسيطة كالآلة الحاسبة أو تطبيق حساب العمر أو ترتيب كلمات حسب التسلسل الأبجدي، كما يمكنك محاكاة مشاريع برمجية قام بها مبرمجون آخرون والتدرب على استكشاف الأخطاء البرمجية وإصلاحها ثم تدرّج إلى تطوير مشاريع أكثر تعقيدًا وبمميزات أكثر.
	</li>
	<li>
		عندما تطور مشاريع متقدمة تحتاج لأن تتعلم أسس ومنهجيات <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA/" rel="">تطوير البرمجيات Software Development</a> وتكتسب مهارة إدارة المشاريع البرمجية مثل تقسيم المشروع إلى أجزاء منفصلة ووضع جدول زمني لإنجاز المشروع وتتبع سير العمل.
	</li>
	<li>
		اختر مصادر تعلم حديثة واحترافية ومنظمة من كتب أو دورات عبر الإنترنت أو معسكرات برمجية وانتبه أن لا تشتت نفسك بكثرة المصادر لتضمن تجربة تعلم منهجية ومتسلسلة، ستجد في أكاديمية حسوب الكثير من الدروس والمقالات والكتب البرمجية المناسبة للمبتدئين. كما توفر <a href="https://wiki.hsoub.com/%D8%A7%D9%84%D8%B5%D9%81%D8%AD%D8%A9_%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D8%A9" rel="external">موسوعة حسوب</a> توثيقات مفيدة وشاملة باللغة العربية لأشهر لغات البرمجة والتقنيات.
	</li>
	<li>
		خلال رحلة تعلم البرمجة الكثير من الصعوبات والتحديات وقد تقضي ساعات طويلة لحل مشكلة برمجية ما، الأمر الذي قد يصيبك بالإحباط، من الضروري أن لا تستسلم للإحباط وتذكّر دومًا أن مستقبل البرمجة واعد ويستحقّ بذل الجهد.
	</li>
	<li>
		حفّز نفسك باستمرار ومما يساعدك على ذلك التعلم مع أصدقاء يشاركونك نفس الاهتمام والانضمام في المجتمعات والمنتديات البرمجية عبر الإنترنت ففيها ستجد العديد من المبتدئين الذين يواجهون نفس مشكلاتك والخبراء الذين يقدمون النصح والدعم.
	</li>
	<li>
		ابحث عن فرصة عمل مناسبة لخبراتك ومجال تخصصك على مواقع التوظيف ومنصات العمل الحر، فالمشاريع العملية تعزز مهاراتك في التعامل مع العملاء وتعرّفك على متطلبات سوق العمل.
	</li>
	<li>
		لا تتوقف عن تطوير نفسك فرحلة تعلم البرمجة تستمر مدى الحياة والتقنيات تتطور باستمرار ومن الضروري أن تبقى على اطلاعٍ دائمٍ لكل ما هو جديد.
	</li>
</ul>

<p>
	إذا كنت تشعر بالفعل بالتشتت والضياع ولا تستطيع الالتزام بخطة تعلم ذاتية يمكن أن تساعدك دورات البرمجة المنهجية على تنظيم أمورك والدراسة بطريقة منهجية ومدروسة، ستجد في أكاديمية حسوب العديد من <a href="https://academy.hsoub.com/store/c1-%d8%af%d9%88%d8%b1%d8%a7%d8%aa-%d8%aa%d8%b9%d9%84%d9%8a%d9%85%d9%8a%d8%a9/" rel="">دورات البرمجة</a> في أكثر المجالات طلبًا في سوق العمل، عند التحاقك بإحدى هذه الدورات ستتمكن من تعلم البرمجة وفق منهج متسلسل يبدأ بالمفاهيم الأساسية ويتقدم تدريجيًا لشرح مواضيع متقدمة كما ستتمكن من إنجاز العديد من المشاريع العملية لتعزز ما تعلمته، وتطرح أي أسئلة أو مشكلات تواجهك ليجيبك عليها مدربون متخصصون، كما ستحصل في نهاية الدورة على شهادة معتمدة تعزز فرصتك المهنية.
</p>

<h2>
	الخلاصة
</h2>

<p>
	تعرفنا في مقال اليوم ما هي البرمجة وما أهميتها وتعرفنا على مفهوم لغات البرمجة وأهم أنواعها ومجالات استخدامها واستعرضنا مجموعة من أسهل لغات البرمجة التي يمكن للمبتدئين في مجال البرمجة تعلمها وختمنا المقال بمجموعة من التوصيات والنصائح التي تساعد على تعلم البرمجة بكفاءة.
</p>

<p>
	آمل أن تساعدك هذه المعلومات على فهم البرمجة والبدء بتعلمها، وفي حال كان لديك أي سؤال يخص البرمجة يمكنك طرحه في التعليقات أسفل المقالة.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A3%D9%87%D9%85%D9%8A%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A3%D9%87%D9%85-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أهمية البرمجة وأهم لغات البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r662/" rel="">تعلم البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/advanced/%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA/" rel="">المرجع الشامل إلى تعلم الخوارزميات</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%83%D9%8A%D9%81-%D8%AA%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%86%D8%B5%D8%A7%D8%A6%D8%AD-%D9%88%D8%A3%D8%AF%D9%88%D8%A7%D8%AA-%D9%84%D8%B1%D8%AD%D9%84%D8%AA%D9%83-%D9%81%D9%8A-%D8%B9%D8%A7%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r206/" rel="">كيف تتعلم البرمجة: نصائح وأدوات لرحلتك في عالم البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8/" rel="">برمجة الحاسوب للمبتدئين</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%87%D9%84-%D8%A3%D9%86%D8%A7-%D8%AD%D9%82%D8%A7-%D9%85%D8%A8%D8%B1%D9%85%D8%AC%D8%9F-%D9%85%D8%AA%D9%89-%D8%A3%D8%B3%D9%85%D9%8A-%D9%86%D9%81%D8%B3%D9%8A-%D9%85%D8%A8%D8%B1%D9%85%D8%AC%D8%A7-r2051/" rel="">هل أنا حقا مبرمج؟ متى أسمي نفسي مبرمجًا</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%84%D9%85%D8%A7%D8%B0%D8%A7-%D9%8A%D8%AC%D8%A8-%D8%A3%D9%86-%D8%AA%D8%B9%D9%84%D9%85-%D8%B7%D9%81%D9%84%D9%83-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9%D8%9F-r2052/" rel="">لماذا يجب أن تعلم طفلك البرمجة؟</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2143</guid><pubDate>Fri, 06 Oct 2023 13:00:00 +0000</pubDate></item><item><title>&#x62A;&#x637;&#x648;&#x64A;&#x631; &#x627;&#x644;&#x648;&#x627;&#x62C;&#x647;&#x629; &#x627;&#x644;&#x62E;&#x644;&#x641;&#x64A;&#x629; &#x644;&#x645;&#x648;&#x627;&#x642;&#x639; &#x627;&#x644;&#x648;&#x64A;&#x628; Backend Web Development</title><link>https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D8%AE%D9%84%D9%81%D9%8A%D8%A9-backend-web-development/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_09/------Backend.png.e653d54c05080da6ec972e51035c991f.png" /></p>
<p>
	لا يخفى على أحد اليوم مدى أهمية تطوير مواقع الويب فالجميع اليوم يسعى لإنشاء موقع إلكتروني خاص به بدءًا من الأشخاص ووصولًا للعلامات التجارية الكبرى إما للتعريف عن أنفسهم وإثبات وجودهم في الفضاء الرقمي، أو لبيع منتجاتهم وخدماتهم، أو تسيير معاملات عملائهم عبر الإنترنت، وغيرها من الفوائد التي لا حصر لها.
</p>

<p>
	لكن هل تعلم أن معظم مواقع الويب المتقدمة التي تتعامل معها لا تقتصر على الجزء الذي تراه أمامك على الشاشة والذي يعرف بالواجهات الأمامية لمواقع الويب بل هناك أيضًا الواجهات الخلفية الخفية المسؤولة عن إنجاز كافة الوظائف التي يتضمنها الموقع وجعل كل عناصره من أزرار وقوائم تتفاعل معك بالشكل الصحيح وهي تستخدم تقنيات وأدوات برمجية مختلفة عن تلك التي تستخدمها الواجهات الأمامية.
</p>

<p>
	نسلط الضوء في مقال اليوم على كل ما يخص تطوير الواجهات الخلفية لمواقع الويب، ونستعرض أهم المهارات والتقنيات التي تحتاج لتعلمها وأهم المسؤوليات المنوطة بها، فإذا كنت ترغب في العمل كمطور واجهة خلفية لكنك لا تعرف من أين تبدأ وما هي خطوات التعلم الصحيحة فهذا المقال سيفيدك حتمًا.
</p>

<h2>
	كيف تعمل مواقع الويب؟
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="135874" href="https://academy.hsoub.com/uploads/monthly_2023_09/210301509_.png.d1b0cbc671dbad99e88708920f0dd344.png" rel=""><img alt="كيف تعمل مواقع الويب" class="ipsImage ipsImage_thumbnailed" data-fileid="135874" data-ratio="62.62" data-unique="ples6v4av" style="width: 717px; height: auto;" width="717" src="https://academy.hsoub.com/uploads/monthly_2023_09/.thumb.png.690601092126d6b4d9b35d4c9b099187.png"> </a>
</p>

<p>
	قبل الغوص في تفاصيل تطوير مواقع الإنترنت ومفهوم الواجهة الأمامية والخلفية لموقع الويب دعنا نتعرف بداية على المصطلحات الأساسية للويب والكيفية التي تعمل مواقع الويب وفقها.
</p>

<p>
	مبدئيًا لدينا نوعان من الأجهزة المتصلة <a href="https://academy.hsoub.com/devops/networking/%D8%A2%D9%84%D9%8A%D8%A9-%D8%B9%D9%85%D9%84-%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-r571/" rel="">بشبكة الإنترنت</a> هما العميل client وهو جهازك الحالي وهو ببساطة هو الجهاز المتصل بالإنترنت التابع للمستخدم الذي يتصفح الإنترنت من خلال تطبيق خاص مثبت فيه هو متصفح الويب web browser مثل جوجل كروم أو فايرفوكس.
</p>

<p>
	<a href="https://academy.hsoub.com/devops/servers/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%AE%D8%A7%D8%AF%D9%85-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-r574/" rel="">خادم الويب web server</a> وهو حاسوب بعيد مصمم للعمل كمستودع لملفات مواقع الويب من أكواد برمجية وملفات صور والنصوص وغيرها من العناصر التي تراها على موقع الويب وتسهل وصولك إليها فمطور المواقع يقوم بتحميل كل هذه الملفات إلى الخادم وأنت تتصل به وتعرض هذه الملفات على جهازك.
</p>

<p>
	يجب أن يزود الخادم ببرامج خاصة تمكنه من استقبال الطلبات الواردة إليه ومعالجتها والرد عليها ويجب أن يكون متصلًا بالإنترنت بصورة دائمة ويلبي طلبات العملاء بسرعة مع العلم بأن تسمية الخادم تختلف بحسب طبيعة الخدمة التي يقدمها فإذا كان الخادم يوفر خدمة قاعدة بيانات يسمى خادم قاعدة البيانات وإذا كانت يخزن صفحات الويب يسمى خادم ويب له <a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%B9%D9%86%D9%88%D8%A7%D9%86-url-%D9%88%D8%A3%D9%86%D9%88%D8%A7%D8%B9%D9%87-r1435/" rel="">عنوان URL</a> فريد يمكن الوصول إليه عبر الإنترنت.
</p>

<h2>
	الفرق بين الواجهة الأمامية Frontend والواجهة الخلفية Backend
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="135873" href="https://academy.hsoub.com/uploads/monthly_2023_09/1877132518_.png.4a9e506a84384942ce837f59a79b27e6.png" rel=""><img alt="الفرق بين الواجهة الأمامية Frontend والواجهة الخلفية Backend" class="ipsImage ipsImage_thumbnailed" data-fileid="135873" data-ratio="62.62" data-unique="oyuoc1ymw" style="width: 717px; height: auto;" width="717" src="https://academy.hsoub.com/uploads/monthly_2023_09/.thumb.png.b1a825109018bf617df3190f695661c9.png"> </a>
</p>

<p>
	قبل الغوص في تفاصيل تطوير الواجهة الخلفية من الضروري أن تفهم الفرق بين الواجهة الأمامية frontend والواجهة الخلفية backend وهما مصطلحان يهدفان إلى فصل الاهتمامات بين طبقة العرض أو واجهة المستخدم أو ما يعرف بالواجهة الأمامية للتطبيقات والمواقع وبين طبقة الوصول إلى البيانات أو ما يعرف بالواجهة الخلفية التي تعمل خلف الكواليس.
</p>

<p>
	هل يبدو هذا صعب الفهم! حسنًا لنفترض أنك تتصفح أحد متاجر بيع الملابس على الإنترنت أنت تتفاعل الآن مع ما يسمى بالواجهة الأمامية للموقع فكافة أجزاء موقع الويب التي تراها أمامك والتي تعرض على متصفحك من عناوين وفقرات وصور وأزرار وأيقونات هي في الواجهة الأمامية للموقع.
</p>

<p>
	لكن من أين تم جلب قائمة المنتجات التي تراها في واجهة المستخدم؟ الجواب أنها خزنت في <a href="https://academy.hsoub.com/devops/servers/databases/%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-database/" rel="">قاعدة البيانات</a> المخزنة في الواجهة الخلفية وتم عرضها على الواجهة الأمامية لديك لتتصفحها، بعدها أعجبتك عدة قطع وقررت شراءها وحددت خياراتك المفضلة كاللون والقياس وما إلى ذلك ونقرت فوق زر إضافة لسلة المشتريات ثم أدخلت كافة بياناتك المطلوبة لكنك لم تكمل عملية الشراء لأن ثمن المشتريات لم يكن بحوزتك فخرجت من الموقع، برأيك أين تم حفظ هذه البيانات؟ نعم صحيح كما توقعت أيضًا في قاعدة بيانات الموقع المخزنة على الخادم.
</p>

<p>
	بعد ذلك بأيام عدت للموقع ونقرت فوق زر سلة المشتريات لتكمل عملية الشراء، سيقوم الكود المربوط بهذا الزر بسحب كل المعلومات التي أدخلتها من قاعدة البيانات ويحسب ثمنها ويرسلها إليك، كل هذا تم في الواجهة الخلفية للموقع، وبالتالي الواجهة الخلفية للموقع هي الجزء الخفي الذي يعمل وراء الكواليس، أما الكيفية التي ستعرض بها هذه البيانات لك فهي مسؤولية مطور الواجهة الأمامية.
</p>

<p>
	فأي كود مسؤول عن الجوانب المرئية لموقع الويب كتبه مطور الواجهة الأمامية وهو ينفذ في المتصفح، وأي كود يتعامل مع قواعد البيانات وواجهات برمجة التطبيقات كتبه مطور الواجهة الخلفية وهو ينفذ في الخادم.
</p>

<p>
	هناك نوع ثالث من المطورين يطلق عليه مطور الويب الكامل fullstack web developer أو المطور الكامل full stack developer وهو الذي يتولى بنفسه كتابة كل من كود الواجهة الخلفية والواجهة الأمامية للمواقع والتطبيقات ويملك خبرة بكليهما.
</p>

<p>
	للمزيد من التفصيل حول الواجهة الأمامية، يمكنك الرجوع إلى مقال <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D8%A3%D9%85%D8%A7%D9%85%D9%8A%D8%A9-frontend-web-development/" rel="">تطوير الواجهة الأمامية لمواقع الويب Frontend Web Development</a> الشامل.
</p>

<h2>
	ما هو تطوير الواجهة الخلفية للويب؟
</h2>

<p>
	تطوير الواجهة الخلفية للويب أوما يعرف بتطوير النظم الخلفية backend development أو التطوير من طرف الخادم server-side هو عملية كتابة الشيفرات البرمجية التي تعمل على خوادم الويب web servers والتي تجعل موقع الويب يعمل خلف الكواليس ويتفاعل مع المستخدمين ويلبي كافة طلباتهم.
</p>

<p>
	الهدف من تطوير الواجهة الخلفية هو خلق تواصل بين الواجهات الأمامية وبين قاعدة البيانات عبر الخادم فالمستخدم يتفاعل مع الموقع عن طريق إدخال البيانات بعدها نخزن هذه البيانات في قاعدة البيانات الموجودة على نفس الخادم أو خادم منفصل، وأخيرًا يعيد الخادم النتائج المطلوبة ويعرضها على المتصفح أو ما يعرف بالعميل أو الواجهة الأمامية للموقع.
</p>

<p>
	لا غنى عن تطوير الواجهات الخلفية في <a href="https://academy.hsoub.com/devops/servers/%D9%86%D8%B8%D8%B1%D8%A9-%D8%B9%D9%84%D9%89-%D8%AA%D9%81%D8%A7%D8%B9%D9%84%D8%A7%D8%AA-%D8%A7%D9%84%D8%AE%D8%A7%D8%AF%D9%85-%D9%85%D8%B9-%D8%A7%D9%84%D8%B9%D9%85%D9%8A%D9%84-%D9%81%D9%8A-%D9%85%D9%88%D9%82%D8%B9-%D9%88%D9%8A%D8%A8-%D8%AF%D9%8A%D9%86%D8%A7%D9%85%D9%8A%D9%83%D9%8A-r782/" rel="">مواقع الويب الديناميكية dynamic websites</a> التي تتفاعل مع المستخدمين وتحتاج إلى تخزين البيانات وفهرستها وحفظها واستردادها وتعديلها وحذفه مثل مواقع التجارة الإلكترونية والمواقع التي تتطلب ملء نماذج وتخزين البيانات المتغيرة مثل وصف المنتجات والمنشورات وملفات تعريف المستخدمين وما إلى ذلك.
</p>

<p>
	أما <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%8A-%D8%B5%D9%81%D8%AD%D8%A7%D8%AA-%D8%A7%D9%84%D9%88%D9%8A%D8%A8%D8%9F-r2094/" rel="">مواقع الويب الثابتة أو الساكنة static websites</a> فهي لا تتطلب تطوير الواجهة الخلفية وتكون مجرد مواقع بسيطة بمحتوى ثابت ولا تتفاعل مع المستخدمين ولا تستطيع تخزين أي شيء وتسعمل خوادم شبه جاهزة لتخديم البيانات.
</p>

<h2>
	أهمية تطوير الواجهة الخلفية في سوق العمل
</h2>

<p>
	لا شك أن أهمية تطوير الواجهة الخلفية ينتج عن انتشار تطبيقات الويب وليس فقط مواقع الويب والاعتماد الكبير على عالم الإنترنت والتطبيقات السحابية من برامج محاسبة وفيديو وإدارة مهام …إلخ. فجميع هذه التطبيقات تحتاج إلى بيانات ديناميكية وبالتالي تحتاج جميعها لتطوير واجهات خلفية.
</p>

<p>
	وحسب استطلاع الرأي الذي أجراه موقع <a href="https://survey.stackoverflow.co/2022/#developer-roles-dev-type" rel="external nofollow" target="_blank">موقع Stackoverflow الشهير للعام 2022</a> والذي يشارك فيه عدد كبير من المطورين والمبرمجين حول العالم تبين أن أكثر غالبية المشاركين في الاستطلاع ونسبتهم 46.82% هم في المقام الأول مطورون كاملون full-stack يليهم مباشرة مطورو الواجهة الخلفية back-end بنسبة 43.38% وبعدهم مطورو الواجهة الأمامية front-end بنسبة 25.96% ويلي ذلك باقي التخصصات البرمجية الأخرى.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="PNG" data-fileid="135869" href="https://academy.hsoub.com/uploads/monthly_2023_09/517144474_.PNG.5e6a16528abe85e0d0bb0a71f6cfb807.PNG" rel=""><img alt="نسبة مطوري الواجهة الخلفية.PNG" class="ipsImage ipsImage_thumbnailed" data-fileid="135869" data-unique="yepjzetos" src="https://academy.hsoub.com/uploads/monthly_2023_09/.thumb.PNG.07762243bce02886a18eadeae89f9fa6.PNG"> </a>
</p>

<p>
	هذا يدل على أهمية مجال تطوير الويب عمومًا وتطوير الواجهة الخلفية على وجه الخصوص والطلب الكبير عليه في سوق العمل وإلا لم يكن الإقبال عليه ليصل لهذه النسب المرتفعة.
</p>

<p>
	كما يعد تطوير تطوير الواجهة الخلفية مجالًا وظيفيًا مربحًا وسريع النمو حيث متوسط الراتب السنوي لمطور الواجهة الخلفية وفق <a href="https://survey.stackoverflow.co/2022/#work-salary" rel="external nofollow" target="_blank">نفس الاستبيان</a> في الولايات المتحدة، في عام 2022، بما قدر بـ 68 ألف دولار سنويًا وهذا الرقم بلا شك يختلف من بلد لآخر ويعتمد على سنوات خبرة المطور إلا أنه يظل رقمًا مرتفعًا مقارنة بباقي المهن والتخصصات.
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="PNG" data-fileid="135871" href="https://academy.hsoub.com/uploads/monthly_2023_09/305607479_.PNG.75dea80ebde50d01b909cbdb1e6d5f95.PNG" rel=""><img alt="متوسط الراتب السنوي لمطور الواجهة  الخلفية.PNG" class="ipsImage ipsImage_thumbnailed" data-fileid="135871" data-ratio="48.78" data-unique="kxyqsx7qu" width="900" src="https://academy.hsoub.com/uploads/monthly_2023_09/.thumb.PNG.a3f6e546397ffed3271fa893233eab17.PNG"></a>
</p>

<p>
	وبالتالي فإن استثمارك في تعلم تطوير الواجهات الخلفية للويب يفتح أمامك الكثير من فرص العمل المجزية والمضمونة، وطالما أن الأشخاص والشركات بحاجة إلى مواقع الويب والمتاجر الإلكترونية فستكون هناك حاجة إلى مطوري ويب.
</p>

<h2>
	مهام ومسؤوليات مطور الواجهة الخلفية
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="135870" href="https://academy.hsoub.com/uploads/monthly_2023_09/623705239_.png.001f46b09f9dd2cba448bc1ceaa947ee.png" rel=""><img alt="مهام ومسؤوليات مطور الواجهة الخلفية" class="ipsImage ipsImage_thumbnailed" data-fileid="135870" data-ratio="62.62" data-unique="hpivfyqko" style="width: 717px; height: auto;" width="717" src="https://academy.hsoub.com/uploads/monthly_2023_09/.thumb.png.77fe85023c33cd94a2ee99f57e3f0eaa.png"> </a>
</p>

<p>
	إذا قررت العمل كمطور واجهة خلفية فهذا يعني أنك ستكون المسؤول الأساسي عن تطوير كافة أجزاء موقع الويب التي تعمل من جانب الخادم وصيانتها واختبارها وتصحيحها.
</p>

<p>
	يمكن القول أنك مسؤول عن العمود الفقري لتطبيقات الويب والعمل في هذا المنصب يتطلب منك القيام بعدة مهام تشمل ما يلي:
</p>

<ul>
	<li>
		التواصل مع العملاء وأعضاء الفريق البرمجي وفهم احتياجات الموقع أو التطبيق وتحديد كافة البيانات والوظائف المطلوبة للعمل في الواجهة الخلفية.
	</li>
	<li>
		كتابة الشيفرات البرمجية التي تحقق وظائف الموقع باستخدام لغات البرمجة التي تعمل من جانب الخادم.
	</li>
	<li>
		معالجة كافة طلبات مستخدمي الموقع.
	</li>
	<li>
		صيانة عناصر الواجهة الخلفية واستكشاف أي أخطاء فيها وإصلاحها.
	</li>
	<li>
		إنشاء قواعد بيانات الموقع وتحسينها وإدارتها والاستعلام منها.
	</li>
	<li>
		إنشاء <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%8A-%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-%D9%84%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-api%D8%9F-r1512/" rel="">واجهات برمجة التطبيقات <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr></a> من جانب الخادم والتي يحتاجها مطورو الواجهة الأمامية لاسترداد البيانات وعرضها.
	</li>
	<li>
		إعداد وإدارة بيئات الاستضافة وتثبيت البرنامج الضرورية على الخادم.
	</li>
	<li>
		تحسين أداء تطبيقات الويب وأمانها وتخفيف زمن تحميلها واستجابتها وتعزيز تجربة مستخدميها.
	</li>
	<li>
		دمج الخدمات الخارجية مثل بوابات الدفع والخدمات السحابية مثل Amazon Web Services و Azure مع الموقع.
	</li>
	<li>
		إجراء عمليات النسخ الاحتياطي واستعادة ملفات الموقع وقاعدة البيانات في حال وقوع أي طارئ.
	</li>
	<li>
		التأكد من أمان الموقع وحمايته من الاختراق.
	</li>
</ul>

<p>
	بعد الاطلاع على قائمة المهام أعلاه هل تجد مجال تطوير الواجهات الخلفية مناسب لك؟ أنصحك بمتابعة قراءة هذا المقال لتتعرف على أهم لغات البرمجة لتطوير الواجهات الخلفية وأهم النصائح التي تساعدك لتصبح مطور واجهات خلفية محترف.
</p>

<h2>
	لغات تطوير الواجهة الخلفية Backend
</h2>

<p>
	يمكن لمطوري الواجهات الخلفية استخدام العديد من لغات البرمجة والأدوات وأطر العمل التي تسهل عملية بناء تطبيقات تتصل بالخادم وتتفاعل مع قواعد البيانات، ستكون أول خطوة عليك القيام بها كمطور واجهات خلفية هو تحديد اللغات التي ستستخدمها، ولتسهيل المهمة عليك فقد جمعنا لك قائمة بأفضل لغات تطوير النظم الخلفية التي يمكنك استخدامها في عملك وأهم مميزاتها وأطر عملها.
</p>

<p>
	أهم لغات تطوير الواجهة الخلفية:
</p>

<ul>
	<li>
		لغة جافا سكريبت JavaScript مع Node.js
	</li>
	<li>
		لغة بايثون Python
	</li>
	<li>
		لغة PHP
	</li>
	<li>
		لغة روبي Ruby
	</li>
	<li>
		لغة جافا Java
	</li>
	<li>
		لغة C#‎
	</li>
</ul>

<p>
	دعنا نتناول كل لغة من بينها بمزيد من التفصيل ونتعرف على وأطر عملها ودورها الفعال في تطوير الواجهات الخلفية للويب.
</p>

<h3>
	لغة جافا سكريبت JavaScript
</h3>

<p>
	تعد <a href="https://wiki.hsoub.com/JavaScript" rel="external" target="_blank">جافا سكريبت</a> واحدة من أكثر لغات البرمجة شهرة وانتشارًا بين أوساط المبرمجين بفضل سهولتها وإمكانية استخدامها لكل من تطوير الواجهة الخلفية والأمامية للويب، فهي تستخدم بشكل أساسي لإنشاء مواقع تفاعلية وديناميكية من جانب العميل وتعمل ضمن المتصفحات فقط، لكن بات بمقدورها بفضل <a href="https://wiki.hsoub.com/Node.js" rel="external" target="_blank">بيئة تشغيل Node.js</a> العمل على جانب الخادم وبرمجة الواجهات الخلفية بخروجها من بيئة المتصفح وبهذا يمكنك تعلم جافا سكريبت من العمل كمطور كامل fullstack ويفتح لك فرصًا أكبر.
</p>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed3966082614" src="https://academy.hsoub.com/files/32-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-nodejs/?do=embed" style="overflow: hidden; height: 469px; max-width: 500px;margin: auto;"></iframe>

<p>
	توفر جافا سكريبت كذلك الكثير من أطر عمل تطوير الواجهة الخلفية التي توفر مجموعة من الأكواد والمكتبات الجاهزة للاستخدام والتي تبسط مهام تطوير المواقع وتجعلها أسرع وأكثر كفاءة ومن ضمنها <strong>Express.js</strong> و <strong>Meteor.js</strong> و<strong>Backbone.js</strong> لكل إطار عمل منها ميزات مختلفة ويصلح لأنواع مواقع معينة أكثر من غيرها لذا عليك البحث في الإطار الذي تود استخدامه والتأكد أنه يلبي متطلباتك بشكل جيد.
</p>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed4898569149" src="https://academy.hsoub.com/files/27-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D9%84%D8%BA%D8%A9-%D8%AC%D8%A7%D9%81%D8%A7%D8%B3%D9%83%D8%B1%D8%A8%D8%AA/?do=embed" style="margin: auto; overflow: hidden; height: 469px; max-width: 500px;"></iframe>

<h3>
	لغة بايثون Python
</h3>

<p>
	تعد لغة <a href="https://wiki.hsoub.com/Python" rel="external" target="_blank">بايثون</a> إحدى أسهل لغات البرمجة وأكثرها شعبية بفضل بنيتها البسيطة والمقروءة، وهي تستخدم في العديد من المجالات ومن بينها تطوير الواجهات الخلفية للويب وهي تستخدم من قبل كبرى الشركات التقنية مثل إنستغرام و Dropbox.
</p>

<p>
	ويمكن استخدام أطر عمل بايثون مثل إطار العمل <strong>جانغو Django</strong> أو <strong>فلاسك flask</strong> أو <strong>FastAPI</strong> لتقليل كتابة التعليمات البرمجية وتبسيط عملية تطوير الواجهات الخلفية لمواقع الويب المتقدمة بشكل أسرع و أكثر أمانًا.
</p>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed4319344119" src="https://academy.hsoub.com/files/15-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D9%84%D8%BA%D8%A9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86/?do=embed" style="margin: auto; overflow: hidden; height: 469px; max-width: 500px;"></iframe>

<h3>
	لغة PHP
</h3>

<p>
	ذاع صيت لغة <a href="https://wiki.hsoub.com/PHP" rel="external" target="_blank">PHP</a> لفترة طويلة كواحدة من أشهر لغات الويب وهي تستخدم في تطوير حوالي 80% مواقع الويب في العالم لكونها لغة سريعة ومرنة يمكنها تطوير كافة أنواع المواقع من المدونات البسيطة إلى المتاجر الرقمية المتقدمة.
</p>

<p>
	لم تفقد PHP قوتها أمام اللغات الأخرى بفضل قوة أطر العمل المبنية عليها ولعل أشهرها إطار العمل لارافيل Laravel وهو إطار عمل مفتوح المصدر لتطوير الواجهات الخلفية لمواقع الويب بشكل منظم وسهل وآمن وسهل الاستخدام. إلى جانب العديد من أنظمة إدارة المحتوى CMS التي تجعل من تطوير المواقع وإنشاء المحتوى وتعديله وإدارته غاية في السهولة ولا يستلزم أي مهارات تقنية ومن أشهرها ووردبريس WordPress ودروبال Drupal.
</p>

<h3>
	لغة روبي Ruby
</h3>

<p>
	<a href="https://wiki.hsoub.com/Ruby" rel="external" target="_blank">روبي</a> هي لغة برمجة نصية مفتوحة المصدر أطلقت عام 1995 وقد اكتسبت هذه اللغة شعبية كبيرة بين أوساط المبرمجين بفضل تركيبتها التي تشبه إلى حد كبير اللغة الإنجليزية المحكية لذا تعد من أسهل لغات البرمجة المستخدمة في تطوير تطبيقات للويب.
</p>

<p>
	ورغم أنها ليست بشهرة اللغات السابقة في العالم العربي إلا أن شعبيتها تزداد بالتدريج على مستوى العالم وستجد الكثير من الوظائف المتوفرة عند تعلمها لاسيما عندما تتقن إطار عملها الشهير <a href="https://wiki.hsoub.com/Rails" rel="external" target="_blank">Ruby on Rails</a> في تطوير تطبيقاتك فهو يسهل ويسرع عملك بشكل لافت.
</p>

<h3>
	لغة جافا Java
</h3>

<p>
	جافا هي لغة برمجة عريقة تم إطلاقها عام 1991 وهي لغة قوية ومتعددة الأغراض تعتمد مبدأ <a href="https://academy.hsoub.com/programming/java/%D9%85%D9%81%D9%87%D9%88%D9%85-%D8%A7%D9%84%D9%83%D8%A7%D8%A6%D9%86%D8%A7%D8%AA-objects-%D9%88%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%83%D8%A7%D8%A6%D9%86%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%88%D8%AC%D9%87-oop-r966/" rel="">البرمجة كائنية التوجه <abbr title="Object-Oriented Programming | البرمجة كائنية التوجه"><abbr title="Object-Oriented Programming | البرمجة كائنية التوجه">OOP</abbr></abbr></a> وعلى الرغم من إمكانية تشغيلها على المتصفح إلا أنها مصممة بشكل أساسي لتطوير الواجهات الخلفية للتطبيقات.
</p>

<p>
	بالرغم من أن شعبية جافا آخذة في الانخفاض وكونها لغة صعبة التعلم مقارنة بلغات البرمجة الأحدث إلا أنها لاتزال تستخدم في الكثير من مواقع الويب نظرًا لقوتها وضمان أمان التطبيقات المبنية بها لأنها لا تنفذ على الجهاز نفسه بل تنفذ على <a href="https://academy.hsoub.com/programming/java/%D8%A2%D9%84%D8%A9-%D8%AC%D8%A7%D9%81%D8%A7-%D8%A7%D9%84%D8%A7%D9%81%D8%AA%D8%B1%D8%A7%D8%B6%D9%8A%D8%A9-java-virtual-machine-r964/" rel="">آلة جافا الافتراضية Java Virtual Machine</a> أو اختصارًا JVM ما يضمن حماية التطبيقات وعزلها.
</p>

<p>
	كما تتضمن جافا العديد المكتبات وأطر عمل الواجهة الخلفية التي تسهل تطوير التطبيقات وصيانتها مثل Spring لذا تعد أحد الخيارات التي يمكنك الاعتماد عليها كمطور واجهات خلفية.
</p>

<h3>
	لغة C#‎
</h3>

<p>
	تعد لغة C#‎ واحدة من <a href="https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أفضل لغات البرمجة</a> وهي لغة عريقة عمرها يزيد على عشرين عامًا ولازالت تصلح لجميع أنواع التطبيقات ولبناء تطبيقات الويب يمكن استخدامها مع إطار عمل دوت نت ‎<a href="https://academy.hsoub.com/programming/c-sharp/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%A7%D9%84%D8%B9%D9%85%D9%84-%D8%AF%D9%88%D8%AA-%D9%86%D8%AA-r311/" rel="">NET Framework.</a> الشهير الذي يستخدم لبناء تطبيقات ومواقع الويب بناء على لغة C#‎ ويوفر بيئة تطوير واجهات خلفية قوية وفعالة يوفر وظائف مخصصة لإدارة كميات كبيرة من البيانات وإعدادات أمان قوية والكثير من الميزات الجاهزة ويسمح بالعمل مع واجهات برمجة تطبيقات الويب الأصلية.
</p>

<h2>
	تقنيات وأدوات مهمة لتطوير الواجهة الخلفية Backend
</h2>

<p>
	بعد أن تعرفت على أهم لغات برمجة وأطر عمل تطوير الواجهات الخلفية للويب دعنا نتعرف الآن على التقنيات والمهارات والأمور الأخرى التي تفيدك بشكل كبير في العمل تطوير الواجهات الخلفية.
</p>

<ul>
	<li>
		واجهات برمجة تطبيقات <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr>
	</li>
	<li>
		قواعد البيانات وأبرز أنواعها ونظم إدارتها
	</li>
	<li>
		معرفة أساسية بالشبكات وأمنها
	</li>
	<li>
		أسس التعامل مع الخوادم والاستضافات ومزودات الخدمة السحابية
	</li>
	<li>
		نظم التحكم بالإصدارات Git
	</li>
	<li>
		أدوات إدارة الحزم Package Management System
	</li>
	<li>
		استخدام الحاويات Containers
	</li>
	<li>
		الإحاطة بأساسيات لغتي HTML و CSS
	</li>
</ul>

<p>
	وإليك معلومات إضافية عن كل تقنية من هذه التقنيات وكيف تفيدك كمطور ويب.
</p>

<h3>
	واجهات برمجة تطبيقات <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr>
</h3>

<p>
	من الضروري كمطور واجهة الخلفية أن تتعلم مفهوم واجهة برمجة التطبيقات <strong>Application Programming Interface</strong> أو اختصارًا <strong><abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr></strong> وهو آلية تمكن التطبيقات والمواقع من التواصل مع بعضها والحصول على البيانات الخاصة ببعضها مهما كانت التقنية التي طورت بها هذه التطبيقات وسواء كانت تطبيقات واجهة خلفية تعمل من طرف الخادم أو تطبيقات واجهة خلفية تعمل من طرف العميل.
</p>

<p>
	ومن أبرز الأمثلة على أنواع واجهات برمجة التطبيقات نذكر <strong>RESTful <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr></strong> الذي يستخدم تنسيق JSON لتبادل البيانات و <strong>GraphQL</strong> الذي يعد مفهومًا لنقل وتبادل البيانات على شكل استعلامات queries، ويجب أن تحيط بهذين المفهومين جيدًا كمطور واجهات أمامية.
</p>

<p>
	وللمزيد حول مفهوم واجهات برمجة التطبيقات وكيفية استخدامها أنصح بمشاهدة فيديو ما هي الواجهة البرمجية <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr> التالي:
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="350" id="ips_uid_8512_5" src="https://academy.hsoub.com/applications/core/interface/index.html" title="YouTube video player" width="800" data-embed-src="https://www.youtube.com/embed/dPNCFdoXdec"></iframe>
</p>

<h3>
	قواعد البيانات وأبرز أنواعها ونظم إدارتها
</h3>

<p>
	يحتاج أي مطور واجهات خلفية لامتلاك معرفة في طريقة التعامل مع قواعد البيانات ونظم إدارتها وأنواعها المختلفة ومن أهمها:
</p>

<ul>
	<li>
		<p>
			قواعد البيانات العلائقية التي تستخدم <a href="https://academy.hsoub.com/programming/sql/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-sql-r844/" rel="">لغة SQL</a> وتخزن بيانات التطبيقات ضمن جداول مرتبطة ببعضها البعض ومن أبرز أنظمة إدارة قواعد البيانات العلائقية نذكر MySQL و SQLite و PostgreSQL.
		</p>
	</li>
	<li>
		<p>
			قواعد البيانات غير العلائقية NoSQL وهي أشهر بدائل قواعد البيانات العلائقية التي تخزن بيانات التطبيقات بطرق أخرى غير الجدول العلائقي ومن أشهر نظم إدراتها نذكر MongoDB وكاساندرا.
		</p>
	</li>
</ul>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed8604339136" src="https://academy.hsoub.com/files/26-%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/?do=embed" style="margin: auto; overflow: hidden; height: 469px; max-width: 500px;"></iframe>

<p>
	وقد ناقشنا في مقال <a href="https://academy.hsoub.com/devops/servers/databases/%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-database/" rel="">دليلك الشامل إلى قواعد البيانات DataBase</a> المزيد من الأنواع وميزات واستخدامات كل نوع من بينها بالتفصيل.
</p>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed2292464415" src="https://academy.hsoub.com/files/18-%D8%A7%D9%84%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%B9%D9%85%D9%84%D9%8A-%D8%A5%D9%84%D9%89-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-postgresql/?do=embed" style="margin: auto; overflow: hidden; height: 469px; max-width: 500px;"></iframe>

<h3>
	معرفة أساسية بالشبكات وأمنها
</h3>

<p>
	تحتاج كمطور واجهة خلفية إلى امتلاك معرفة أساسية ببروتوكولات الاتصال عبر الويب مثل:
</p>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-http-r73/" rel="">بروتوكول HTTP</a>
	</li>
	<li>
		بروتوكول HTTPS وشهادة <abbr title="Secure Socket Layer | طبقة المنافذ الآمنة"><abbr title="Secure Socket Layer | طبقة المنافذ الآمنة">SSL</abbr></abbr>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/servers/%D9%85%D8%A7-%D9%87%D9%8A-%D8%AA%D9%82%D9%86%D9%8A%D8%A9-websocket-r660/" rel="">بروتوكول WebSocket</a>
	</li>
</ul>

<p>
	كما يحتاج أي مطور ويب لفهم آلية عمل شبكة الإنترنت والمفاهيم الأساسية المرتبطة بها مثل <a href="https://academy.hsoub.com/devops/networking/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%B9%D9%86%D8%A7%D9%88%D9%8A%D9%86-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D9%88%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%81%D8%B1%D8%B9%D9%8A%D8%A9-%D9%88%D8%A7%D9%84%D8%AA%D9%88%D8%AC%D9%8A%D9%87-%D8%BA%D9%8A%D8%B1-%D8%A7%D9%84%D8%B5%D9%86%D9%81%D9%8A-%D8%A8%D9%8A%D9%86-%D8%A7%D9%84%D9%86%D8%B7%D8%A7%D9%82%D8%A7%D8%AA-r593/" rel="">عناوين بروتوكول الإنترنت IP Addresses</a> و<a href="https://academy.hsoub.com/devops/networking/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A3%D8%B3%D9%85%D8%A7%D8%A1-%D8%A7%D9%84%D9%86%D8%B7%D8%A7%D9%82%D8%A7%D8%AA-%D9%81%D9%8A-%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-r573/" rel="">أسماء النطاقات في شبكة الإنترنت</a>.
</p>

<p>
	ولا يجب أن يغفل عن مفاهيم أمن الويب واتخاذ كافة إجراءات الحماية اللازمة لحماية قواعد بيانات موقع الويب وحماية مسارات واجهة برمجة التطبيقات من الثغرات الأمنية ومن محاولة سرقة البيانات ويستخدم أساليب المصادقة والأذونات التي تتحكم في وصول المستخدمين للتطبيقات ويشفر أي بيانات حساسة ويتحقق من صحة أي مدخلات من قبل المستخدمين وغيرها الكثير من إجراءات الحماية.
</p>

<p>
	قد ترغب في مشاهدة الفيديو التالي للتعرف على مزيد من المعلومات حول أشهر طرق الاختراق وسبل الوقاية منها.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="350" id="ips_uid_8512_6" src="https://academy.hsoub.com/applications/core/interface/index.html" title="YouTube video player" width="800" data-embed-src="https://www.youtube.com/embed/5jAgs6BMmYg"></iframe>
</p>

<h3>
	معرفة جيدة بنظم التشغيل
</h3>

<p>
	يحتاج مطور الواجهة الخلفية لامتلاك معرفة أساسية بنظم التشغيل وخصوصًا <a href="https://academy.hsoub.com/devops/linux/%D9%85%D8%A7-%D9%87%D9%88-%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-%D9%84%D9%8A%D9%86%D9%83%D8%B3%D8%9F-r451/" rel="">نظام التشغيل لينكس</a> لأن أغلب الخوادم تعمل بنظام لينكس وبالتالي تعلمه يمكنك من معرفة أساسيات التعامل مع الخوادم والاستضافات ومزودات الخدمة السحابية والتعامل مع <a href="https://academy.hsoub.com/devops/servers/%D9%85%D8%A7-%D9%87%D9%88-%D8%B3%D8%B7%D8%B1-%D8%A7%D9%84%D8%A3%D9%88%D8%A7%D9%85%D8%B1-%D8%9F-r353/" rel="">واجهات سطر الأوامر أو الطرفية</a> وطرق رفع الملفات إلى الاستضافة والوصول إلى قاعدة البيانات المخزنة عليه.
</p>

<p>
	كما يحتاج لامتلاك معرفة كافية بمنصات استضافة الويب وطريقة نشر وتشغيل الموقع على خادم ويب مثل <a href="https://academy.hsoub.com/devops/servers/web/apache/" rel="">خادم أباتشي Apache</a> و خادم <a href="https://academy.hsoub.com/devops/servers/web/nginx/" rel="">إنجن إكس Nginx</a> ومعرفة طريقة التعامل مع مزودات الخدمة السحابية والاستفادة من أنواع الخدمات السحابية المختلفة، ولمزيد من المعلومات يمكنك متابعة العديد من <a href="https://academy.hsoub.com/devops/cloud-computing/" rel="">الدروس حول الحوسبة السحابية</a> في أكاديمية حسوب.
</p>

<h3>
	نظم التحكم بالإصدارات Git
</h3>

<p>
	تساعد نظم التحكم بالإصدارات المطور في إدارة التغييرات التي يقوم بإجرائها على الشيفرات البرمجية لمشاريعه وتطبيقاته ومن أشهرها نذكر Git وهي عبارة أداة برمجية تمكنك من العودة بسهولة إلى إصدار سابق يعمل بشكل صحيح من مشروعك في حال حدث خطأ ما بدلاً من البحث عن سبب الخطأ ومحاولة التراجع عنه يدويًا، كما أنه يفيد المطور بشكل كبير عند العمل على مشروع مشترك مع فريق عمل فهو ينظم التعديلات المختلفة ويمنع تضاربها.
</p>

<p>
	والجدير بالذكر أن التعامل مع أنظمة التحكم بالإصدارات هو ضرورة ولا يستطيع أي مبرمج أو مطور ويب العمل دون خبرة بها وستجد في أكاديمية حسوب مجموعة غنية ومنوعة من <a href="https://academy.hsoub.com/programming/workflow/git/%D9%85%D8%A7-%D9%87%D9%88-git%D8%9F-r1592/" rel="">المقالات والدروس حول Git</a> التي تساعدك في تعلم التعامل مع نظم التحكم بالإصدارات من الصفر حتى الاحتراف.
</p>

<h3>
	أدوات إدارة الحزم Package Management System
</h3>

<p>
	تتضمن معظم التطبيقات اليوم حزمًا ومكتبات خارجية ومن الصعب تطوير التطبيقات اليوم دون الاعتماد على أحد الأدوات البرمجية المساعدة في إدارة هذه الحزم الخارجية وعدم تعارضها، ومن الأمثلة عليها مثل npm الذي يأتي مع Node.js الذي يُستخدم مع لغة جافا سكريبت أو composer المستخدم مع لغة PHP.
</p>

<p>
	فمعظم مشاريع الويب اليوم تتضمن الكثير من الحزم التي يعتمد بعضها على بعض وهذه البرمجيات أساسية لمساعدتك في تحديد الحزم اللازمة لمشروعك ويحدد التبعيات المناسبة بنفسه والتأكد من توافقها مع التبعيات الأخرى ويتحكم في إصدارات الحزم التي تقوم بتثبيتها.
</p>

<h3>
	استخدام الحاويات Containers
</h3>

<p>
	بالرغم من أن تعلم استخدام <a href="https://academy.hsoub.com/devops/cloud-computing/docker/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%AD%D8%A7%D9%88%D9%8A%D8%A7%D8%AA-r641/" rel="">الحاويات Containers</a> يعد مهارة إضافية وليس لزامًا عليك كمطور واجهة خلفية إلا أن تعلمها يساعدك في بناء مشاريعك واختبارها ونشرها بكفاءة فالحاويات هي عبارة عن حزم برمجية تتضمن كافة العناصر الضرورية لتشغيل التطبيق في أي بيئة أو نظام تشغيل لكنه يكون معزول ضمن حاوية معزولة منطقيًا عن التطبيقات الأخرى بحيث لا يتعارض معها.
</p>

<p>
	يمكنك إنشاء الحاويات وتشغيلها باستخدام تقنية مثل <a href="https://academy.hsoub.com/devops/cloud-computing/docker/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%AD%D8%A7%D9%88%D9%8A%D8%A7%D8%AA-r641/" rel="">دوكر Docker</a>وهي تقنية حاوية مفتوحة المصدر تعتمد على نظام لينكس وتسمح للمطورين ببناء وتشغيل التطبيقات واختبارها ونشرها بسهولة، وللاطلاع على مزيد من التفاصيل حول مفهوم الحاويات وأهميتها لمطوري التطبيقات يمكنك مشاهدة الفيديو التالي:
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="350" id="ips_uid_8512_7" src="https://academy.hsoub.com/applications/core/interface/index.html" title="YouTube video player" width="800" data-embed-src="https://www.youtube.com/embed/pAJTmbXCv4I"></iframe>
</p>

<h3>
	الإحاطة بأساسيات لغتي HTML و CSS
</h3>

<p>
	يحتاج مطور الواجهات الخلفية معرفة الجوانب الأساسية لكل من <a href="https://wiki.hsoub.com/HTML" rel="external" target="_blank">HTML</a> و <a href="https://wiki.hsoub.com/CSS" rel="external" target="_blank">CSS</a> اللتان تستخدمان لبناء الواجهات الأمامية فحتى لو لم يستخدمها في عمله فهو يحتاج للتواصل مع مطوري الواجهة الأمامية بشأنها وهي تقنيات سهلة التعلم.
</p>

<p>
	من أهم الأساسيات التي ينبغي تعلمها في لغة HTML هي طريقة إنشاء صفحة ويب ثابتة وإنشاء النماذج ومعالجتها وآليات الإدخال المختلفة إضافة إلى معرفة طريقة إنشاء قواعد التنسيق في CSS وكيفية عمل المحددات والفرق بين المعرف id والصنف class.
</p>

<p>
	يمكنك معرفة المزيد حول هاتين اللغتين من خلال مطالعة مقال <a href="https://academy.hsoub.com/programming/html/%D8%AA%D8%B9%D9%84%D9%85-%D9%84%D8%BA%D8%A9-html-r1702/" rel="">تعلم لغة HTML</a> ومقال <a href="https://academy.hsoub.com/programming/css/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D9%84%D8%BA%D8%A9-css-r1688/" rel="">أساسيات لغة CSS</a>.
</p>

<h2>
	خارطة طريق لتعلم تطوير الواجهات الخلفية
</h2>

<p>
	هل تشعر بالتشتت من كثرة التقنيات التي عليك تعلمها لتصبح مطور واجهة خلفية ولا تعرف من أي واحدة تبدأ وكيف تنظم خطوات التعلم؟ دعني أساعدك وأوضح لك خارطة طريق لتعلم مجال تطوير الواجهات الخلفية والتي تعرض بوضوح طريق مطور الواجهات الخلفية backend في مجال تطوير الويب بالكامل بدءًا من المرحلة الأساسية وحتى المتقدمة وأغلب تلك المواضيع تجد عنها في أكاديمية حسوب وموسوعة حسوب فابحث عنها:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="135872" href="https://academy.hsoub.com/uploads/monthly_2023_09/1177119907_.png.41c7bcacdcc6b98437fa8eeb51f75051.png" rel=""><img alt="خارطة طريق لتعلم مجال تطوير الواجهات الخلفية.png" class="ipsImage ipsImage_thumbnailed" data-fileid="135872" data-unique="wgji3m52m" src="https://academy.hsoub.com/uploads/monthly_2023_09/1177119907_.png.41c7bcacdcc6b98437fa8eeb51f75051.png"> </a>
</p>

<h2>
	أفضل المصادر العربية لتعلم تطوير تطبيقات الواجهة الخلفية
</h2>

<p>
	إذا كنت تبحث عن مصادر عربية لتعلم تطوير الواجهة الخلفية ستجد العديد منها في أكاديمية حسوب التي تعد أكبر منصة عربية لتعليم البرمجة فهي توفر عدة دورات تدريبية لتطوير التطبيقات منها:
</p>

<ul>
	<li>
		<a href="https://academy.hsoub.com/learn/javascript-application-development/" rel="">دورة تطوير التطبيقات باستخدام لغة JavaScript</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/learn/php-web-application-development/" rel="">دورة تطوير تطبيقات الويب باستخدام لغة PHP</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/learn/python-application-development/" rel="">دورة تطوير التطبيقات باستخدام لغة Python</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/learn/ruby-web-application-development/" rel="">دورة تطوير تطبيقات الويب باستخدام لغة Ruby</a>
	</li>
</ul>

<p>
	تتميز كل دورة من هذه الدورات بكونها معدة بعناية من نخبة من المبرمجين في المجال وتتضمن العديد من المسارات التي تبدأ معك من أساسيات اللغة وتعلمك أهم أطر عملها وتنتهي بك في تطوير تطبيقات عملية احترافية تؤهلك للدخول في سوق العمل كما أنك تحصل على متابعة دورية من قبل فريق من المدربين الذين يجيبون على كافة تساؤلاتك بخصوص ما تتعلمه ويوجهونك خلال تطبيق المشاريع، وستحصل في نهاية كل دورة على شهادة معتمدة من أكاديمية حسوب تؤهلك لدخول سوق العمل.
</p>

<p style="text-align: center;">
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" id="ips_uid_8512_8" src="https://academy.hsoub.com/applications/core/interface/index.html" title="YouTube video player" width="560" data-embed-src="https://www.youtube.com/embed/mcF7sIeGMOM?si=3lQoHATRLfGaPE83"></iframe>
</p>

<p>
	كما توفر أكاديمية حسوب مئات المقالات والسلاسل التعلميمة توفر شروحات مميزة لكافة اللغات والأطر والتقنيات التي ذكرناها في سياق مقالنا مثل <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D9%84%D9%85-%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D9%8A%D8%A8/" rel="">مقال المدخل الشامل لتعلم تطوير الويب وبرمجة المواقع</a> الذي يرشدك لكل ما يخص تطوير الويب بكافة أقسامه وتخصصاته وغيرها الكثير من المقالات المتقدمة لذا احرص على متابعة دروس الأكاديمية أولًا بأول.
</p>

<p>
	وإذا كنت تفضل الدراسة من الكتب لما توفره من تسلسل منهجي في طرح المعلومات ستجد في <a href="https://academy.hsoub.com/files/" rel="">قسم الكتب في أكاديمية حسوب</a> العديد من الكتب القيمة المتخصصة بشرح لغات البرمجة وقواعد البيانات وتقنيات تطوير الويب وغيرها من العناوين المهمة والمفيدة لأي مطور.
</p>

<h2>
	أسئلة شائعة حول تطوير الواجهات الخلفية
</h2>

<p>
	في بداية مشوارك في تطوير الواجهة الخلفية قد تدور بذهنك عدة تساؤلات حول هذا التخصص ومدى صعوبته وملائمته لك وإليك أبرز هذه التساؤلات والإجابات عليها
</p>

<h3>
	1. هل يمكن أن أتعلم تطوير الواجهة الخلفية بنفسي؟
</h3>

<p>
	نعم بكل تأكيد فتطوير الويب عمومًا وتطوير الواجهة الخلفية خصوصًا لا تتطلب منك الحصول على شهادة جامعية لتمارسها بل يمكنك تعلمها ذاتيًا واكتساب كافة المهارات اللازمة لتطوير مواقع وتطبيقات الويب بنفسك ولحسن الحظ موارد التعلم كثيرة ومتاحة ويمكنك الاعتماد عليها للتعلم الذاتي.
</p>

<p>
	وتذكر أن مفتاح نجاحك كمطور واجهة خلفية ليس مرتبطًا بالشهادات بقدر ما يعتمد على اكتساب المهارات المناسبة التي تمكنك من دخول سوق العمل وتطوير مشاريع تعكس تمكنك من هذه التقنيات والمهارات وتعزز فرصتك في العثور على العمل الذي يحقق طموحك.
</p>

<h3>
	2. هل وظيفة تطوير الواجهات الخلفية مناسبة لي؟
</h3>

<p>
	بالرغم من أن المهارات التقنية هي أول ما ينظر له عند توظيف مطور واجهات خلفية لكن هذا ليس كل شيء فكي تصبح مطور واجهة خلفية محترف يجب أن تمتلك بعض الصفات الأخرى مثل المهارات التحليلية والقدرة على حل المشكلات إلى جانب مهارات التواصل لاسيما عندما تعمل ضمن فريق عمل يضم عدة مطورين، كما يجب أن تمتلك حس الفضول والرغبة في تعلم كل جيد فكل يوم هناك إصدارات وأدوات وإضافات جديدة وعليك بذل الوقت والجهد لتعلمها، لذا تأكد من أنك شخص يمتلك هذه الصفات ولا تركز فقط على الجوانب الفنية وقرر بناء على ذلك إن كان العمل كمطور واجهات خلفية يناسبك أم لا.
</p>

<h3>
	3. هل يجب علي تعلم كل التقنيات الواردة في هذا المقال لأبدأ العمل كمطور واجهة خلفية؟
</h3>

<p>
	لحسن الحظ لا يلزمك تعلم كل هذه التقنيات لتبدأ تطوير الويب الخلفي فإذا امتلكت المهارات الأساسية بإحدى لغات الواجهة الخلفية وتعلمت إطار عمل واحد على الأقل وأتيحت لك فرصة عمل على مستوى المبتدئين لا تتردد واقبلها فورًا، سيطلب منك حينها البدء بمشاريع عملية صغيرة تناسب مهاراتك وبعدها ستتاح لك الفرصة لتوسيع مجموعة المهارات الخاصة بك وتعلم لغات وأدوات برمجة جديدة ومن جديد أؤكد لك بأن الخبرة العملية هي أكثر ما يساعدك على التطور.
</p>

<h3>
	4. ما هو الوقت اللازم لتعلم تطوير الواجهات الخلفية Backend؟
</h3>

<p>
	لا شك أن تعلم تطوير الواجهة الخلفية يتطلب معرفة ترسانة مختلفة من لغات البرمجة ومهاراتها وهذا يتطلب بلا شك بعض الوقت والالتزام لكن رغم ذلك تعتمد المدة اللازمة لتعلم تطوير الواجهة الخلفية على عدة عوامل أهمها مدى قابليتك وسرعتك في التعلم وكفاءة المصادر التي تتعلم منها ومدى التزامك بخطة منهجية وعدد الساعات التي تقضيهًا يوميًا في للتعلم.
</p>

<p>
	ولا شك أن المعرفة المسبقة بعلوم الحاسوب وأساسيات الشبكات وكنت على دراية بإحدى لغات البرمجة وكتابة الشيفرات البرمجية فهذا يختصر عليك زمن التعلم بشكل كبير، ويمكن القول أن فترة التعلم تتراوح وسطيًا بين 6 أشهر إلى عام لتصبح جاهزًا لدخول سوق العمل في حال اتبعت كل الخطوات والنصائح التي أوردناها في سياق المقال بعدها يمكن أن تتابع تطوير نفسك بشكل تدريجي وتصبح خبيرًا في المجال.
</p>

<h3>
	5. ما مدى صعوبة تعلم تطوير الواجهة الخلفية للويب؟
</h3>

<p>
	ستشعر بالطبع ببعض الصعوبات عند تعلم تطوير الواجهات الخلفية لأول مرة وستواجه الكثير من التحديات والعثرات خلال رحلة التعلم، لكن بقليل من المثابرة والاستعانة بمصادر تعلم مناسبة وفعالة يمكنك تجاوزها بسهولة وتذكر أنك تستثمر في مجال وظيفي مربح ومضمون لذا يستحق الأمر بذل الجهد.
</p>

<h3>
	6. أيهما أصعب تطوير الواجهة الخلفية أم الأمامية؟
</h3>

<p>
	برأيي الشخصي يعتمد الجواب على هذا السؤال على طبيعة الشخص وميوله فالبعض يرى أن تطوير الواجهة الخلفية هو الأصعب لكونه يتطلب تعلم تقنيات برمجية أكثر ويستلزم تعلم التعامل مع قواعد البيانات والخوادم والشبكات وضمان أمان التطبيقات كما أنه يتطلب امتلاك عدة مهارات شخصية أهمها التفكير المنطقي والتحليلي التي عليك تطويرها إلى جانب تطوير مهاراتك الفنية لتنجح في سوق العمل.
</p>

<p>
	بالمقابل يمكن أن يرى بعض الأشخاص أن تطوير الواجهات الأمامية هو الأصعب لكونه لا يخضع لقواعد ثابتة ويحتاج للاهتمام بالكثير من الجوانب المرئية مثل تجاوب التصميم مع كافة أنواع الأجهزة وأحجام الشاشات وفهم الاختلافات بين المتصفحات واختبار توافق التصاميم عليها ومراعاة تجربة المستخدم ولا ننسى الجانب الإبداعي والذوق في التصميم الإبداعي الذي قد لا يتوفر لدى جميع الأشخاص.
</p>

<p>
	ولمساعدتك في هذا الشأن أنصحك بالاطلاع على مقال <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D8%A3%D9%85%D8%A7%D9%85%D9%8A%D8%A9-frontend-web-development/" rel="">دليلك الشامل إلى تطوير الواجهات الأمامية</a> لتتعرف على كل ما يخص هذا المجال وتقرر بنفسك أين تبدو الأمور أسهل بالنسبة لك.
</p>

<h2>
	الخلاصة
</h2>

<p>
	تعرفنا في مقال اليوم على مجال تطوير الوجهة الخلفية للويب الذي يعنى بتطوير أجزاء تطبيقات ومواقع الويب التي تعمل من جهة الخادم وتعرفنا على أهم الفروقات بين تطوير الواجهة الأمامية الخلفية، وأبرز التقنيات واللغات والأطر المستخدمة في برمجة الواجهة الخلفية وتحقيق وظائف التطبيقات والمواقع الإلكترونية بكفاءة وأهم الخطوات والمصادر التي تساعدك على تعلمها بسهولة وكفاءة.
</p>

<p>
	وفي ختام مقالنا جاوبنا على أبرز الأسئلة التي قد تتبادر لذهن أي مبتدئ يرغب بتعلم تطوير الواجهات الخلفية، وفي حال كان لديك سؤال آخر لم نجب عليه في سياق المقال يمكنك تركه في قسم التعليقات أسفل المقال.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D9%84%D9%85-%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D9%8A%D8%A8/" rel="">المدخل الشامل لتعلم تطوير الويب وبرمجة المواقع</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%85%D9%88%D8%A7%D9%82%D8%B9-%D8%A7%D9%84%D9%88%D9%8A%D8%A8/" rel="">برمجة مواقع الويب: دليلك المختصر</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA/" rel="">مدخل إلى تطوير البرمجيات Software Development</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%8A-%D8%B5%D9%81%D8%AD%D8%A7%D8%AA-%D8%A7%D9%84%D9%88%D9%8A%D8%A8%D8%9F-r2094/" rel="">ما هي صفحات الويب</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2135</guid><pubDate>Thu, 28 Sep 2023 13:04:00 +0000</pubDate></item><item><title>&#x644;&#x63A;&#x629; &#x627;&#x644;&#x628;&#x631;&#x645;&#x62C;&#x629; &#x628;&#x627;&#x644;&#x643;&#x627;&#x626;&#x646;&#x627;&#x62A; Object-Oriented Programming</title><link>https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D8%A7%D9%84%D9%83%D8%A7%D8%A6%D9%86%D8%A7%D8%AA-oop/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_09/-----.png.ceb3c7d542d16e81628cb7aea08c63b6.png" /></p>
<p>
	توفر نماذج البرمجة طرقًا مختلفة لحل المشكلات البرمجية التي يواجهها المطورون بسيطة فبعض النماذج يناسب حل المشكلات البرمجية البسيطة وبعضها الآخؤ يناسب لحل المشكلات المعقدة ومعرفة كل نموذج من هذه النماذج يساعد المبرمج على اعتماد النموذج الأنسب الذي يلبي متطلبات عمله.
</p>

<p>
	وكنا قد تحدثنا في المقال السابق على <a href="https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%A5%D8%AC%D8%B1%D8%A7%D8%A6%D9%8A%D8%A9/" rel="">لغة البرمجة الإجرائية</a> وهو واحد من أقدم نماذج البرمجة المتبعة في تطوير البرامج والتطبيقات، ونكمل الحديث في مقال اليوم عن أحد أشهر نماذج البرمجة التي يحتاج أي مطور لمعرفتها وهو نموذج لغة البرمجة بالكائنات أو البرمجة كائنية التوجه <abbr title="Object-Oriented Programming | البرمجة كائنية التوجه"><abbr title="Object-Oriented Programming | البرمجة كائنية التوجه">OOP</abbr></abbr> ونتعرف على مبادئ عمله وطريقة تنظيم الشيفرات البرمجية من خلاله وأهم لغات البرمجة التي تستخدم هذا النموذج، كما سنشرح بالتفصيل مفهوم الأصناف Classes والكائنات المشتقة منها Objects والفرق بينهما وأهمية تطبيق هذه المفاهيم في تطوير البرامج الحاسوبية المعقدة وتسهيل صيانتها.
</p>

<h1>
	أنواع لغات البرمجة
</h1>

<p>
	تصنف <a href="https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">لغات البرمجة</a> إلى أنواع مختلفة بناء على عدة معايير ومن بين هذه المعايير تصنيفها وفق المنهجية المتبعة لهيكلة الشيفرات البرمجية، حيث تقسم لغات البرمجة بناء على هذا المعيار إلى عدة أصناف أو نماذج برمجية تحدد الأساليب المستخدمة لتمثيل عناصر البرنامج وخطوات معالجة البيانات وسير التنفيذ.
</p>

<p>
	تقسم لغات البرمجة بناء على هذا المعيار إلى عدة نماذج تشمل:
</p>

<ol>
	<li>
		<strong>نموذج البرمجة الأمرية Imperative Programming</strong>: الذي يصف بالتفصيل المدخلات وكيفية الحصول على المخرجات منها ويندرج تحته نموذج البرمجة الإجرائية procedural programming ونموذج البرمجة بالكائنات.
	</li>
	<li>
		<strong>نموذج البرمجة التصريحية Declarative Programming</strong>: الذي يعبر عن المهام التي يجب أن ينجزها البرنامج دون أن يصف بالتفصيل سير التنفيذ الخاص به ويندرج تحته <a href="https://academy.hsoub.com/programming/general/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D9%88%D8%B8%D9%8A%D9%81%D9%8A%D8%A9-functional-programming-r1391/" rel="">البرمجة الوظيفية functional programming</a> و<a href="https://ar.wikipedia.org/wiki/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9_%D9%85%D9%86%D8%B7%D9%82%D9%8A%D8%A9" rel="external nofollow">البرمجة المنطقية logic programming</a>.
	</li>
</ol>

<p>
	يمكنك معرفة المزيد من المعايير التي تصنف لغات البرمجة بناء عليها وأهم خصائص كل نوع منها من خلال مطالعة مقال <a href="https://academy.hsoub.com/programming/general/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أنواع لغات البرمجة</a> وسنفرد مقال اليوم لشرح نموذج البرمجة بالكائنات وأشهر لغات البرمجة التي تعتمده ونكتشف أبرز مزاياها وعيوبها.
</p>

<h2>
	ما هي لغة البرمجة بالكائنات؟
</h2>

<p>
	لغة البرمجة بالكائنات أو بتعبير أدق لغة البرمجة كائنية التوجه Object-Oriented Programming -واختصارًا oop- هي أحد أشهر نماذج البرمجة وقد تم ابتكارها منذ الستينيات وهي تعتمد على تنظيم شيفرات البرامج باستخدام مفهوم الأصناف classes والكائنات المشتقة منها objects بشكل مشابه لكائنات العالم الحقيقي.
</p>

<p>
	الصنف class هو بمثابة نموذج أو مخطط عام لتمثيل الكائنات حيث تتضمن الأصناف تعريف البيانات التي تصف الكائنات والوظائف الخاصة التي تصف سلوك الكائنات وتعالج بياناتها وهو يستخدم كقالب لاشتقاق العديد من الأمثلة أو الحالات المختلفة من هذه الكائنات objects، ولهذا السبب يسمى الكائن نسخة من الصنف instance.
</p>

<p>
	على سبيل المثال يمكن تعريف صنف يمثل السيارة حيث يكون لكل سيارة سمات أو خصائص تصفها تسمى المتغيرات الأعضاء أو حقول البيانات مثل طراز السيارة وسنة تصنيعها ولونها …إلخ ولها وظائف أو دوال تسمى دوال الصنف class functions تحاكي الأفعال أو السلوكيات التي تقوم بها السيارة مثل تشغيل السيارة وإيقافها وتغيير سرعتها وتحريكها لليمين واليسار …إلخ.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="PNG" data-fileid="134896" href="https://academy.hsoub.com/uploads/monthly_2023_09/37237917_.PNG.62db3dc4f3be2a76ba405d919f7765df.PNG" rel=""><img alt="شكل لغات البرمجة بالكائنات" class="ipsImage ipsImage_thumbnailed" data-fileid="134896" data-ratio="57.38" data-unique="4m3lpscv6" style="width: 800px; height: auto;" width="800" src="https://academy.hsoub.com/uploads/monthly_2023_09/.thumb.PNG.5101ba372cac4548dfc18e0fc0aaef42.PNG"> </a>
</p>

<p>
	كما يجب أن يتضمن الصنف دوال أخرى أهمها الدالة البانية constructor وهي الدالة التي تستدعى بشكل تلقائي عند إنشاء أو اشتقاق كائن من الصنف ويمكن من خلالها تمرير قيم تحدد متغيرات الكائن الجديد ودوال لضبط قيم متغيرات الكائن setter وجلبها getter وبعد اكتمال تعريف الصنف يمكننا اشتقاق كائن لكل سيارة جديدة نريد إنشاءها.
</p>

<p>
	توفر البرمجة بالكائنات للمطورين طريقة قوية لتنظيم البرامج وهيكلة التعليمات البرمجية بشكل وكائنات متفاعلة فيما بينها لتأدية المهام المطلوبة وتساعدهم على إنشاء تطبيقات قابلة للصيانة والتوسعة وإعادة الاستخدام وتعديل التعليمات البرمجية لتلبية المتطلبات.
</p>

<h2>
	مثال برمجي على تعريف صنف وإنشاء كائنات منه
</h2>

<p>
	قد يكون الشرح السابق لمفهوم البرمجة بالكائنات مربكًا وصعب الفهم لذا سنوضح لك المفاهيم بمثال عملي برمجي، لنفرض أنك تحتاج إلى تطوير برنامج لإدارة مكتبة باستخدام <a href="https://academy.hsoub.com/python/" rel="">لغة البرمجة بايثون</a>، إذا كنت تستخدم نموذج البرمجة كائنية التوجه لتطوير هذا البرنامج فأول ما ستفكر به هو الأصناف التي ستحتاجها.
</p>

<p>
	على سبيل المثال ستحتاج لتعريف صنف يمثل الكتاب وليكن اسمه Book ثم ستفكر في الخصائص أو السمات المميزة لكل كتاب مثل العنوان واسم المؤلف وعدد الصفحات …إلخ. ثم ستفكر في الوظائف التي ستطبق على هذا الكتاب وهي استعارة الكتاب وحجز الكتاب وإعادته للمكتبة إضافة لطريقة البناء init التي تستدعى عند إنشاء كائن أو كتاب جديد من الصنف وتهيئ خصائص هذا الكتاب ودوال الضبط والجلب لكل خاصية.
</p>

<p style="text-align: center;">
	<img alt="تعريف صنف وإنشاء كائنات منه" class="ipsImage ipsImage_thumbnailed" data-fileid="135229" data-ratio="81.60" data-unique="p57zys9tt" style="width: 500px; height: auto;" width="641" src="https://academy.hsoub.com/uploads/monthly_2023_09/1874144362_.png.9d745309d9847aece5b6c4f6ee535269.png">
</p>

<p>
	سنحقق هذا الوصف برمجيًا من خلال كتابة الكود التالي بلغة بايثون:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_3730_18" style=""><span class="com"># تعريف صنف يمثل كتاب</span><span class="pln">
</span><span class="kwd">class</span><span class="pln"> </span><span class="typ">Book</span><span class="pun">(</span><span class="pln">object</span><span class="pun">):</span><span class="pln">
    </span><span class="com"># تعريف الدالة البانية للصنف</span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> __init__</span><span class="pun">(</span><span class="pln">self</span><span class="pun">,</span><span class="pln">title</span><span class="pun">,</span><span class="pln"> author</span><span class="pun">,</span><span class="pln"> pages</span><span class="pun">):</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">title </span><span class="pun">=</span><span class="pln"> title
        self</span><span class="pun">.</span><span class="pln">author </span><span class="pun">=</span><span class="pln"> author
        self</span><span class="pun">.</span><span class="pln">pages </span><span class="pun">=</span><span class="pln"> pages
    </span><span class="com"># دالة ضبط عنوان الكتاب</span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> setTitle</span><span class="pun">(</span><span class="pln">self</span><span class="pun">,</span><span class="pln"> title</span><span class="pun">):</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">title </span><span class="pun">=</span><span class="pln"> title
    </span><span class="com"># دالة جلب عنوان الكتاب</span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> getTitle</span><span class="pun">(</span><span class="pln">self</span><span class="pun">):</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> self</span><span class="pun">.</span><span class="pln">title
    </span><span class="com"># دالة ضبط اسم الكاتب </span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> setAuthor</span><span class="pun">(</span><span class="pln">self</span><span class="pun">,</span><span class="pln"> author</span><span class="pun">):</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">author </span><span class="pun">=</span><span class="pln"> author
    </span><span class="com"># دالة جلب اسم الكاتب</span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> getAuthor</span><span class="pun">(</span><span class="pln">self</span><span class="pun">):</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> self</span><span class="pun">.</span><span class="pln">author
    </span><span class="com"># دالة ضبط عدد الصفحات</span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> setNumPages</span><span class="pun">(</span><span class="pln">self</span><span class="pun">,</span><span class="pln"> numPages</span><span class="pun">):</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">numPages </span><span class="pun">=</span><span class="pln"> numPages
    </span><span class="com"># دالة جلب عدد الصفحات</span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> getNumPages</span><span class="pun">(</span><span class="pln">self</span><span class="pun">):</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> self</span><span class="pun">.</span><span class="pln">numPages
    </span><span class="com"># دالة لطباعة متغيرات الكتاب </span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> printbook</span><span class="pun">(</span><span class="pln">self</span><span class="pun">):</span><span class="pln">
        </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'تم إنشاء الكتاب التالي'</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'------------'</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'العنوان: '</span><span class="pln"> </span><span class="pun">,</span><span class="pln"> self</span><span class="pun">.</span><span class="pln">title</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'الكاتب: '</span><span class="pln"> </span><span class="pun">,</span><span class="pln"> self</span><span class="pun">.</span><span class="pln">author</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'عدد الصفحات: '</span><span class="pln"> </span><span class="pun">,</span><span class="pln"> self</span><span class="pun">.</span><span class="pln">pages</span><span class="pun">)</span><span class="pln">

   </span><span class="com"># دالة لإعارة الكتاب </span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> borrow_book</span><span class="pun">(</span><span class="pln">self</span><span class="pun">):</span><span class="pln">
        </span><span class="kwd">print</span><span class="pun">(</span><span class="pln">f</span><span class="str">"{self.title} تمت استعارة كتاب"</span><span class="pun">)</span><span class="pln">
   </span><span class="com"># دالة لإرجاع الكتاب </span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> return_book</span><span class="pun">(</span><span class="pln">self</span><span class="pun">):</span><span class="pln">
        </span><span class="kwd">print</span><span class="pun">(</span><span class="pln">f</span><span class="str">"{self.title} تمت إعادة كتاب"</span><span class="pun">)</span><span class="pln">
   </span><span class="com"># دالة لحجز الكتاب</span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> reserve_book</span><span class="pun">(</span><span class="pln">self</span><span class="pun">):</span><span class="pln">
        </span><span class="kwd">print</span><span class="pun">(</span><span class="pln">f</span><span class="str">"{self.title} تم حجز كتاب"</span><span class="pun">)</span></pre>

<p>
	بعد تعريف الصنف يمكننا في أي مكان في البرنامج إنشاء كائنات والتعامل معها بالشكل التالي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_3730_20" style=""><span class="com"># إنشاء كائن أول من صنف الكتاب        </span><span class="pln">
book1</span><span class="pun">=</span><span class="typ">Book</span><span class="pun">(</span><span class="str">"البرمجة بلغة بايثون"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"أكاديمية حسوب"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">480</span><span class="pun">)</span><span class="pln">
book1</span><span class="pun">.</span><span class="pln">printbook</span><span class="pun">()</span><span class="pln">
book1</span><span class="pun">.</span><span class="pln">borrow_book</span><span class="pun">()</span><span class="pln">
</span><span class="kwd">print</span><span class="pun">(</span><span class="str">'\n'</span><span class="pun">)</span></pre>

<p>
	سنحصل على المخرجات التالية بعد تنفيذ الشيفرة:
</p>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<p data-gramm="false">
		تم إنشاء الكتاب التالي
	</p>

	<p>
		------------
	</p>

	<p>
		العنوان: البرمجة بلغة بايثون
	</p>

	<p>
		الكاتب: أكاديمية حسوب
	</p>

	<p>
		عدد الصفحات: 480
	</p>

	<p>
		البرمجة بلغة بايثون تمت استعارة كتاب
	</p>
</blockquote>

<p>
	يمكننا إنشاء كتاب آخر بتنفيذ تعليمة واحدة سهلة بسيطة وهكذا:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_3730_22" style=""><span class="com"># إنشاء كائن ثاني من صنف الكتاب        </span><span class="pln">
book2</span><span class="pun">=</span><span class="typ">Book</span><span class="pun">(</span><span class="str">"البرمجة بلغة جافا سكريبت"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"أكاديمية حسوب"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">450</span><span class="pun">)</span><span class="pln">
book2</span><span class="pun">.</span><span class="pln">printbook</span><span class="pun">()</span><span class="pln">
book2</span><span class="pun">.</span><span class="pln">reserve_book</span><span class="pun">()</span></pre>

<p>
	سنحصل أيضًا على المخرجات التالية:
</p>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<p data-gramm="false">
		تم إنشاء الكتاب التالي
	</p>

	<p>
		------------
	</p>

	<p>
		العنوان: البرمجة بلغة جافا سكريبت
	</p>

	<p>
		الكاتب: أكاديمية حسوب
	</p>

	<p>
		عدد الصفحات: 450
	</p>

	<p>
		البرمجة بلغة جافا سكريبت تم حجز كتاب
	</p>
</blockquote>

<p>
	لاحظ كيف خلصتنا البرمجة بالكائنات الكثير من العمل ومن تكرار الشيفرة وهذه هي أبرز ميزة تتميز فيها البرمجة كائنية التوجه.
</p>

<p>
	يمكنك مطالعة المزيد من المعلومات حول إنشاء الأصناف والكائنات في لغة بايثون في مقال <a href="htps://academy.hsoub.com/programming/python/%D9%85%D8%AE%D8%AA%D8%B5%D8%B1-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%83%D8%A7%D8%A6%D9%86%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%88%D8%AC%D9%87-oop-%D9%88%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D9%87%D8%A7-%D9%81%D9%8A-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-r1926/" rel="">مختصر البرمجة كائنية التوجه <abbr title="Object-Oriented Programming | البرمجة كائنية التوجه"><abbr title="Object-Oriented Programming | البرمجة كائنية التوجه">OOP</abbr></abbr> وتطبيقها في بايثون</a>.
</p>

<h2>
	مبادئ لغات البرمجة بالكائنات
</h2>

<p>
	تعتمد لغات البرمجة بالكائنات على أربع مبادئ أساسية تمكن المبرمجين من تنظيم الشيفرات البرمجية وتقلل أخطاءها وتسهل إعادة استخدامها وصيانتها وتوسيعها في تطبيقات مختلفة.
</p>

<p>
	تشمل المبادئ الأربعة للبرمجة كائنية التوجه ما يلي:
</p>

<ol>
	<li>
		التغليف Encapsulation
	</li>
	<li>
		تجريد البيانات Abstraction
	</li>
	<li>
		الوراثة Inheritance
	</li>
	<li>
		تعدد الأشكال Polymorphism
	</li>
</ol>

<p>
	لنتعرف على كل مبدأ من هذه المبادئ بمزيد من التفصيل!
</p>

<h3>
	1. التغليف Encapsulation
</h3>

<p>
	يشير مبدأ التغليف إلى عملية دمج البيانات والطرق ضمن وحدة مستقلة ومعزولة عن الشيفرات البرمجية الأخرى لها خصوصيتها، ففي البرمجة كائنية التوجه يمكن الوصول إلى بيانات الكائن وتعديلها فقط باستخدام وظائف أو دوال الكائن نفسها فقط وهذا يسمح بإخفاء الحالة الداخلية للكائن عن الكود الخارجي ويحد من صلاحية الوصول إلى بيانات ووظائف كل كائن أو تعديلها خارج نطاق الكائن ويمنع إساءة استخدامها ضمن الكود البرمجي ويضمن تنظيم الكود وموثوقيته.
</p>

<h3>
	2. تجريد البيانات Abstraction
</h3>

<p>
	يمكن اعتبار مبدأ التجريد جزءًا من مبدأ التغليف فهو يساعد على تبسيط الأنظمة المعقدة عن طريق التركيز على المنطق العام للبرنامج وإخفاء تفاصيل التنفيذ عن المستخدمين، فالمقصود بتجريد البيانات في البرمجة بالكائنات إنشاء بنى مجردة عالية المستوى تسهل التعامل مع المهام المعقدة حيث يتم تمثيل خصائص الكائن وإخفاء تفاصيل التنفيذ أو العمليات الداخلية التي تجري على هذه الكائنات عن المستخدمين.
</p>

<p>
	ففي مثال الكتاب الوارد سابقًا ستهتم فقط كمستخدم بمعرفة مواصفات الكتاب وطرق التعامل معه من إعارة وحجز وإعادة دون أن تهتم للطريقة التي تنفذ فيها هذه الوظائف ما يهمك أن تستخدمها وتعمل بشكل صحيح دون أن تشغل بالك بتفاصيل عملها.
</p>

<h3>
	3. الوراثة Inheritance
</h3>

<p>
	يسمح مبدأ الوراثة بإمكانية نقل السلوك والبيانات من كائن إلى آخر ويمكن المبرمج من إنشاء أصناف جديدة فرعية أو أبناء من أصناف أساسية موجودة تصبح آباء لها بدلًا من إنشاء أصناف جديدة كل مرة حيث يرث الصنف الابن كل المتغيرات (الصفات) والدوال (الوظائف) الخاصة بالصنف الأب ويمكنه إعادة تعريف وتخصيص الأمور الخاصة به وإضافة ميزات جديدة لها حسب الحاجة مما يسهل تعديل التعليمات البرمجية وتوسيعها.
</p>

<p>
	يمكن على سبيل المثال إنشاء صنف أب يمثل مركبة متحركة أو وسيلة نقل ويتضمن الأمور العامة المشتركة ثم استخدامه لإنشاء كائنات أخرى مثل الدراجات النارية أو الشاحنات أو الحافلات. كما يمكن اعتبار صنف الكتاب هو الصنف الأب وإنشاء صنف ابن منه يمثل مجلة وصنف آخر يمثل رواية يرث كل منهما خصائص ووظائف الصنف الأب ويضيف لها خصائص ووظائف إضافية خاصة به وهكذا.
</p>

<h3>
	4. تعدد الأشكال Polymorphism
</h3>

<p>
	يشير مبدأ تعدد الأشكال إلى قدرة الكائنات المختلفة على الاستجابة بشكل مختلف عند استدعاء نفس اسم الدالة، بمعنى آخر استخدام نفس الوظيفة بمنطق مختلف حيث يمكن للكائنات المختلفة امتلاك وظائف أو دوال بنفس الاسم ولكنها تستخدم تعليمات مختلفة.
</p>

<p>
	يتضح استخدام هذا المبدأ بشكل جلي في الوراثة فعلى سبيل المثال بالعودة لمثال السيارة إذا كانت السيارة وهي الصنف الأب تحتوي على دالة لتشغيل السيارة تنفذ التعليمات بطريقة معينة فيمكن للمبرمج إعادة تعريفها وتنفيذها بشكل مختلف في الصنف الابن الذي يمثل الدراجات النارية ويمكن معرفة الدالة التي يجب تنفيذها وقت تشغيل الكود.
</p>

<p>
	باتباع مبادئ التغليف والتجريد والوراثة وتعدد الأشكال يمكن للمطورين إنشاء برامج قوية وإعادة استخدامها عند الحاجة ويسهل صيانتها وتطويرها.
</p>

<p>
	عمومًا، إن شعرت أنك لم تفهم هذه المبادئ فهمًا تامًا ولم تتضح لك اتضاحًا جليًا، فلا تقلق يكفي أن تتعرف عليها وعلى اسمها ثم ستفهما عندما تبدأ بالتطبيق والكتابة بلغة كائنية التوجه.
</p>

<h2>
	ما معنى خاص ومحمي وعام في البرمجة بالكائنات؟
</h2>

<p>
	ستصادف في كافة لغات البرمجة بالكائنات مصطلحات عام وخاص ومحمي وإليك وصفًا موجز لكل مفهوم من هذه المفاهيم.
</p>

<ul>
	<li>
		<strong>خاص private</strong>: يمكن استخدام أي متغير (صفة) أو دالة (وظيفة) من النوع خاص ضمن الكود الموجود داخل الكائن فقط.
	</li>
	<li>
		<strong>محمي protected</strong>: لا يمكن استخدام أي متغير أو دالة محمية إلا من قبل الكائن نفسه ومن أبنائه.
	</li>
	<li>
		<strong>عام public</strong>: يمكن استخدام أي متغير أو دالة عامة أو تعديلها في أي مكان خارج الكائن.
	</li>
</ul>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="PNG" data-fileid="134894" href="https://academy.hsoub.com/uploads/monthly_2023_09/1345688393_.PNG.51a2ce5d0a4d4172103dc14d0ed03a98.PNG" rel=""><img alt="معنى خاص ومحمي وعام في البرمجة بالكائنات" class="ipsImage ipsImage_thumbnailed" data-fileid="134894" data-ratio="30.17" data-unique="mvlxbcfgv" style="width: 600px; height: auto;" width="600" src="https://academy.hsoub.com/uploads/monthly_2023_09/.thumb.PNG.fa85c909f6464cdd9bc59ef09be846b9.PNG"> </a>
</p>

<p>
	وتجدر الإشارة لضرورة الكشف عن الحد الأدنى من المعلومات المطلوبة خارج الكائن والحفاظ على خصوصيته قدر المستطاع إلا إذا دعت الضرورة البرمجية لغير ذلك.
</p>

<h2>
	أشهر لغات البرمجة بالكائنات
</h2>

<p>
	تستخدم البرمجة كائنات التوجه <abbr title="Object-Oriented Programming | البرمجة كائنية التوجه"><abbr title="Object-Oriented Programming | البرمجة كائنية التوجه">OOP</abbr></abbr> على نطاق واسع وتعتمدها العديد من لغات البرمجة ومن أبرز لغات البرمجة بالكائنات نذكر:
</p>

<ul>
	<li>
		<strong><a href="https://academy.hsoub.com/programming/python/%D8%A7%D9%84%D9%85%D8%B1%D8%AC%D8%B9-%D8%A7%D9%84%D8%B4%D8%A7%D9%85%D9%84-%D8%A5%D9%84%D9%89-%D8%AA%D8%B9%D9%84%D9%85-%D9%84%D8%BA%D8%A9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-r735/" rel="">بايثون Python</a></strong>: من أشهر لغات البرمجة الكائنية وأكثرها تفضيلًا في الأوساط البرمجية فهي لغة مرنة وسهلة التعلم ومتعددة الأغراض تصلح لكثير من المجالات أبرزها تطوير الويب وعلوم البيانات والذكاء الصناعي وتعلم الآلة وهي توفر العديد من المكتبات المساعدة التي تسهل عمل المطورين.
	</li>
	<li>
		<strong><a href="https://academy.hsoub.com/programming/java/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D9%85%D8%A7-%D9%87%D9%8A%D8%A9-%D8%AC%D8%A7%D9%81%D8%A7-java-r1515/" rel="">جافا Java</a></strong>: من أقوى لغات البرمجة كائنية التوجه وهي لغة قوية وآمنة وتتميز بكونها مستقلة وتعمل على كافة أنظمة التشغيل وهي من أبرز لغات تطوير تطبيقات أندرويد،لكن يعاب عليها أنها بطيئة وتستهلك الكثير من الذاكرة.
	</li>
	<li>
		<strong><a href="https://academy.hsoub.com/programming/ruby/" rel="">روبي Ruby</a></strong>: لغة برمجة قوية تشبه لغة باثيون من ناحية امتلاكها قواعد صياغة بسيطة سهلة التعلم وهي تدعم البرمجة بالكائنات وتوفر الكثير من الأدوات والمكتبات وأطر العمل التي تسهل عمل المطورين وأبرزها <a href="https://wiki.hsoub.com/Rails" rel="external">روبي أون ريلز Ruby on Rails</a>.
	</li>
	<li>
		<strong><a href="https://academy.hsoub.com/programming/cpp/" rel="">C++‎</a></strong>: لغة برمجة قوية تدعم نموذج البرمجة كائنية التوجه وتوفر أداء عالي وإدارة جيدة للذاكرة وتملك مجتمع دعم ضخم وهي تصلح لبرمجة أنظمة التشغيل والتطبيقات المضمنة لكنها لغة صعبة التعلم وأقل مرونة من لغات البرمجة الأخرى.
	</li>
	<li>
		<strong><a href="https://academy.hsoub.com/programming/c-sharp/%D8%A7%D9%84%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%B3%D8%B1%D9%8A%D8%B9-%D9%84%D9%84%D8%BA%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-c-r597/" rel="">C#‎‎</a></strong>: لغة برمجة عامة الأغراض تدعم البرمجة الكائنية وتتكامل مع نظام التشغيل ويندوز وهي تستخدم بشكل أساسي لتطوير تطبيقات سطح المكتب وتطبيقات الويب وتصميم الألعاب.
	</li>
	<li>
		<a href="https://academy.hsoub.com/php/" rel="">PHP</a>: لغة برمجة مثالية لبناء تطبيقات الويب من جانب الخادم وهي لغة مفتوحة المصدر وسهلة الاستخدام أضافت ميزات البرمجة كائنية التوجه منذ الإصدار PHP5 وهي توفر الكثير من دعم المكتبات وأطر العمل وتعتمدها معظم نظم إدارة المحتوى الشهيرة مثل ووردبريس ودروبال.
	</li>
	<li>
		<strong><a href="https://wiki.hsoub.com/TypeScript" rel="external">تايب سكريبت TypeScript</a></strong>: هي لغة برمجة مفتوحة المصدر تدعم البرمجة كائنية التوجه وقد طورتها شركة مايكروسوفت بالاعتماد على لغة <a href="https://academy.hsoub.com/javascript/" rel="">جافا سكريبت JavaScript</a> وهي تستخدم بشكل أساسي لتطوير تطبيقات الويب الكبيرة، أما لغة جافا سكريبت فبالرغم من كونها لغة تعتمد بشكل كبير على الكائنات لكنها لا تدعم كافة مبادئ البرمجة بالكائنات.
	</li>
</ul>

<h2>
	إيجابيات وسلبيات لغات البرمجة بالكائنات
</h2>

<p>
	لكل نموذج برمجي مميزاته وعيوبه وفيما يلي نوضح أهم إيجابيات وعيوب لغات البرمجة كائنية التوجه oop.
</p>

<h3>
	إيجابيات لغات البرمجة بالكائنات
</h3>

<ul>
	<li>
		يسمح أسلوب البرمجة بالكائنات بنمذجة مشكلات العالم الحقيقي بشكل أبسط بكثير من باقي النماذج البرمجية.
	</li>
	<li>
		تسهل البرمجة بالكائنات إعادة استخدام التعليمات البرمجية الحالية وتوسيعها باستخدام مبدأ الوراثة بدلاً من الاضطرار إلى إعادة كتابة نفس الكود مرارًا وتكرارًا
	</li>
	<li>
		تخفي البرمجة كائنية التوجه تفاصيل التنفيذ عن المستخدمين الخارجيين وتتيح لهم استخدام الأصناف بسهولة دون الكشف عن تفاصيل تنفيذ كل دالة من الدوال.
	</li>
	<li>
		تنظم البرمجة بالكائنات عملية تصميم البرامج من خلال تمثيلها بالاعتماد على كائنات منفصلة تتفاعل مع بعضها البعض ولكل منها خصائصها وسلوكياتها.
	</li>
	<li>
		تسرع البرمجة الكائنية <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA/" rel="">تطوير البرمجيات</a> وتزيد إنتاجيتها من خلال إمكانية إعادة استخدامها في مشاريع لاحقة.
	</li>
	<li>
		تحسن صيانة البرامج لأن الكائنات معزولة عن بعضها ويمكن حل مشكلاتها وتحسينها دون الحاجة إلى تعديل كامل الكود.
	</li>
	<li>
		تحافظ على أمان البيانات وتحميها من أي تعديلات غير مرغوب بها.
	</li>
</ul>

<h3>
	سلبيات لغات البرمجة بالكائنات
</h3>

<ul>
	<li>
		لغات البرمجة بالكائنات صعبة التعلم للمبتدئين ويستغرق فهمها والتعرف على طريقة عملها بشكل جيد وقتًا وجهدًا.
	</li>
	<li>
		تسبب البرمجة بالكائنات زيادة في حجم كود البرامج حيث تتضمن البرامج المطورة باستخدام نموذج البرمجة كائنية التوجه عددًا أكبر من التعليمات البرمجية مقارنة بالبرامج المطورة بنموذج البرمجة الإجرائية.
	</li>
	<li>
		تعد البرامج المطورة باستخدام نموذج البرمجة بالكائنات أبطأ من البرامج المطورة باستخدام نماذج البرمجة الأخرى.
	</li>
	<li>
		قد لا تناسب البرمجة بالكائنات جميع أنواع المشاكل البرمجية كالأنظمة البسيطة إلى حد ما التي يفضل حلها باستخدام نموذج البرمجة الإجرائية أو الأنظمة البالغة التعقيد التي تضطر فيها إلى إنشاء الكثير من مستويات الوراثة لتحقيقها ما يجعل الكود مربك وصعب الفهم والتي يناسبها نموذج البرمجة الوظيفية.
	</li>
</ul>

<h2>
	الخلاصة
</h2>

<p>
	تعرفنا في مقال اليوم على نموذج البرمجة بالكائنات <abbr title="Object-Oriented Programming | البرمجة كائنية التوجه"><abbr title="Object-Oriented Programming | البرمجة كائنية التوجه">OOP</abbr></abbr> وشرحنا أهم المفاهيم والمصطلحات المرتبطة به مثل الصنف والكائن ومبادئ التجريد والتغليف والوراثة وتعدد الأشكال وعددنا أهم لغات البرمجة بالكائنات وأبرز سلبيات وإيجابيات هذا النموذج البرمجي، كل ما عليك الآن هو تطبيق هذه المفاهيم بشكل عملي من خلال إحدى لغات البرمجة التي تدعمها كي تتمكن من فهمها واستيعابها بشكل أفضل.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%83%D8%A7%D8%A6%D9%86%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%88%D8%AC%D9%87-r1375/" rel="">البرمجة كائنية التوجه</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/python/%D9%85%D8%AE%D8%AA%D8%B5%D8%B1-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%83%D8%A7%D8%A6%D9%86%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%88%D8%AC%D9%87-oop-%D9%88%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D9%87%D8%A7-%D9%81%D9%8A-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-r1926/" rel="">مختصر البرمجة كائنية التوجه <abbr title="Object-Oriented Programming | البرمجة كائنية التوجه"><abbr title="Object-Oriented Programming | البرمجة كائنية التوجه">OOP</abbr></abbr> وتطبيقها في بايثون</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/java/%D9%85%D9%81%D9%87%D9%88%D9%85-%D8%A7%D9%84%D9%83%D8%A7%D8%A6%D9%86%D8%A7%D8%AA-objects-%D9%88%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%83%D8%A7%D8%A6%D9%86%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%88%D8%AC%D9%87-oop-r966/" rel="">مفهوم الكائنات Objects والبرمجة كائنية التوجه <abbr title="Object-Oriented Programming | البرمجة كائنية التوجه"><abbr title="Object-Oriented Programming | البرمجة كائنية التوجه">OOP</abbr></abbr></a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/php/%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%83%D8%A7%D8%A6%D9%86%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%88%D8%AC%D9%87-object-oriented-programming-%D9%81%D9%8A-php-r316/" rel="">البرمجة كائنية التوجه (Object Oriented Programming) في PHP</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">تعلم أساسيات البرمجة</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2104</guid><pubDate>Fri, 22 Sep 2023 13:08:01 +0000</pubDate></item></channel></rss>
