Skip to content

Commit

Permalink
Merge pull request javascript-tutorial#1 from javascript-tutorial/master
Browse files Browse the repository at this point in the history
Merge latest updates
  • Loading branch information
mohamedElkast authored Jun 3, 2020
2 parents 8a178e9 + 7f34471 commit 7c904cc
Show file tree
Hide file tree
Showing 193 changed files with 4,523 additions and 4,402 deletions.
44 changes: 21 additions & 23 deletions 1-js/01-getting-started/2-manuals-specifications/article.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,40 @@
# المراجع و المواصفات

# Manuals and specifications
هذا الكتاب هو _دورة تعليميه_. يهدف الى تعليمك اللغه تدريجيا. و لكن إذا كنت علي علم بالأساسيات فسوف تحتاج الى مصدر آخر.

This book is a *tutorial*. It aims to help you gradually learn the language. But once you're familiar with the basics, you'll need other sources.
## الوصف

## Specification
[وصف The ECMA-262](https://www.ecma-international.org/publications/standards/Ecma-262.htm) يحتوي على المعلومات الإكثر عمقاً و تفصيلاً و رسميةً عن جافاسكريبت.و هي تقوم بتعريف اللغه.

[The ECMA-262 specification](https://www.ecma-international.org/publications/standards/Ecma-262.htm) contains the most in-depth, detailed and formalized information about JavaScript. It defines the language.
و لكن كونها بهذه الرسمية, تجعل فهمها من اول مره صعب. لذلك إذا كنت تريد مصدر المعلومه الأكثر وثوقاً عن تفاصيل اللغه, الوصف هو المكان الصحيح. لكنها ليست للإستعمال اليومي.

But being that formalized, it's difficult to understand at first. So if you need the most trustworthy source of information about the language details, the specification is the right place. But it's not for everyday use.
نسخة وصف جديدة تُصدر كل عام. فيما بين هذه الإصدارات, آخر مسودة وصف توجد في <https://tc39.es/ecma262/>.

A new specification version is released every year. In-between these releases, the latest specification draft is at <https://tc39.es/ecma262/>.
لكى تقرأ عن خصائص التطور الحاد الجديد, بما فى ذلك "المعايير التقريبيه" (ما يسمي "المرحلة 3"), انظر للمقترحات في <https://github.com/tc39/proposals>.

To read about new bleeding-edge features, including those that are "almost standard" (so-called "stage 3"), see proposals at <https://github.com/tc39/proposals>.
أيضاً, إذا كنت تطور من أجل المتصفح, إذاهناك مواصفات اخري مشمولة في [الجزء الثاني](info:browser-environment) من الدورة التعليميه.

Also, if you're in developing for the browser, then there are other specs covered in the [second part](info:browser-environment) of the tutorial.
## المراجع

## Manuals
- **MDN (Mozilla) JavaScript Reference** هذا دليل بأمثلة ومعلومات أخرى. مصدر جيد للحصول على معلومات تفصيلية حول ميزات اللغة ، وطرق الكائنات المضمنة ، وما إلى ذلك.

- **MDN (Mozilla) JavaScript Reference** is a manual with examples and other information. It's great to get in-depth information about individual language functions, methods etc.
يمكن ان تجدها في <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference>.

One can find it at <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference>.
ايضاً, غالباً ما يكون من الأفضل استخدام بحث عبر الإنترنت بدلاً من ذلك. فقط إستخدم "[مصطلح] MDN" للإستعلام, مثال. <https://google.com/search?q=MDN+parseInt> لتبحث عن دالة `parseInt`.

Although, it's often best to use an internet search instead. Just use "MDN [term]" in the query, e.g. <https://google.com/search?q=MDN+parseInt> to search for `parseInt` function.
* **MSDN** – مراجع ميكروسوفت يوجد بها معلومات كثيرة, متضمنه جافاسكريبت (غالباً يشار إليها JScript). إذا كنت تريد شيئا أكثر تخصصا عن انترنت اكسبلورر, من الأفضل الذهاب إلى: <http://msdn.microsoft.com/>.

أيضاً, يمكن غن نستخدم بحث الإنترنت بعبارات مثل "RegExp MSDN" or "RegExp MSDN jscript".

- **MSDN** – Microsoft manual with a lot of information, including JavaScript (often referred to as JScript). If one needs something specific to Internet Explorer, better go there: <http://msdn.microsoft.com/>.
## جدول التوافق

Also, we can use an internet search with phrases such as "RegExp MSDN" or "RegExp MSDN jscript".
جافاسكريبت لغه فى سياق متطور, خصائص جديدة تضاف إليها بإنتظام.

## Compatibility tables
لتري دعمهم ما بين المتصفحات و المحركات الأخري, أنظر:

JavaScript is a developing language, new features get added regularly.
- <http://caniuse.com> - جدول الدعم لكل خاصيه, مثال. لترى اى من المحركات يدعم دوال التشفير الحديث: <http://caniuse.com/#feat=cryptography>.
- <https://kangax.github.io/compat-table> - جدول بمواصفات و محركات اللغه و قابلية دعم كل محرك لكل خاصية.

To see their support among browser-based and other engines, see:
كل هذه المصادر مفيدة في تطوير الحياة الواقعيه, لأنها تحتوي علي معلومات قيّمة عن تفاصيل و دعم اللغة .

- <http://caniuse.com> - per-feature tables of support, e.g. to see which engines support modern cryptography functions: <http://caniuse.com/#feat=cryptography>.
- <https://kangax.github.io/compat-table> - a table with language features and engines that support those or don't support.

All these resources are useful in real-life development, as they contain valuable information about language details, their support etc.

Please remember them (or this page) for the cases when you need in-depth information about a particular feature.
من فضلك تذكر هذه المصادر (او هذه الصفحه) فى حالات إذا كنت تريد معلومات اعمق عن خاصية معينة.
50 changes: 25 additions & 25 deletions 1-js/01-getting-started/3-code-editors/article.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,46 @@
# Code editors
# محررات الأكواد

A code editor is the place where programmers spend most of their time.
محرر الأكواد هو المكان الذي يقضي فيه المبرمجون معظم وقتهم.

There are two main types of code editors: IDEs and lightweight editors. Many people use one tool of each type.
يوجد نوعين من محررات الأكواد: IDEs ( بيئة التطوير الكاملة)و المحررات البسيطة. العديد من الناس يستخدمون أداة واحدة لكل نوع.

## IDE

The term [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment) (Integrated Development Environment) refers to a powerful editor with many features that usually operates on a "whole project." As the name suggests, it's not just an editor, but a full-scale "development environment."
مصطلح [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment) (Integrated Development Environment) يشير إلى محرر بإمكانات هائلة، مع العديد من المميزات التي تعمل عادة على " مشروع كامل". كما يوحي الاسم، فهو ليس مجرد محرر أكواد، ولكنه "بيئة تطوير" واسعة النطاق.

An IDE loads the project (which can be many files), allows navigation between files, provides autocompletion based on the whole project (not just the open file), and integrates with a version management system (like [git](https://git-scm.com/)), a testing environment, and other "project-level" stuff.
IDE تقوم بتحميل المشروع ) الذي يمكن أن يتكون من العديد من الملفات)، ويسمح بالتنقل بين الملفات، ويوفر خاصة الإكمال التلقائي المعتمدة على المشروع ككل ( وليس الملف المفتوح فقط) , كما أنه يمكن أن يرتبط مع أنظمة إدارة الإصدار (مثل [git](https://git-scm.com/)), وبيئة الاختبار, وغيرها من الأشياء على مستوى المشروع.

If you haven't selected an IDE yet, consider the following options:
إذا لم تقم باختيار IDE بعد ، ففكر في الخيارات التالية:

- [Visual Studio Code](https://code.visualstudio.com/) (cross-platform, free).
- [WebStorm](http://www.jetbrains.com/webstorm/) (cross-platform, paid).
- [فيجوال ستديو كود](https://code.visualstudio.com/) (يعمل على أكثر من نظام تشغيل, مجاني).
- [ويب ستورم](http://www.jetbrains.com/webstorm/) (يعمل على أكثر من نظام تشغيل, مدفوع).

For Windows, there's also "Visual Studio", not to be confused with "Visual Studio Code". "Visual Studio" is a paid and mighty Windows-only editor, well-suited for the .NET platform. It's also good at JavaScript. There's also a free version [Visual Studio Community](https://www.visualstudio.com/vs/community/).
بالنسبة للويندوز، يمكن استخدام برنامج فيجوال ستديو، لايجب الخلط بينه وبين الفيجوال ستديو كود، فيجوال ستديو هو محرر مدفوع يعمل على نظام ويندوز فقك، ومناسب تماماً لبيئة الدوت نت. أنه أيضاً جيد للجافاسكريبت. كما يوجد إصدار مجاني منه [Visual Studio Community](https://www.visualstudio.com/vs/community/).

Many IDEs are paid, but have a trial period. Their cost is usually negligible compared to a qualified developer's salary, so just choose the best one for you.
.عادة ما تكون تكلفتها ضئيلة للغاية مقارنة براتب المطور المؤهل ، لذلك فقط اختر الأفضل بالنسبة لك.العديد من بيئات التطوير مدفوعة، لكن لها فترة سماحية

## Lightweight editors
## المحررات البسيطة

"Lightweight editors" are not as powerful as IDEs, but they're fast, elegant and simple.
المحررات البسيطة" ليست بقوة ال" IDEs لكنها سريعة, وأنيقة وبسيطة

They are mainly used to open and edit a file instantly.
يتم استخدامها بشكل رئيسي لفتح وتحرير ملف على الفور.

The main difference between a "lightweight editor" and an "IDE" is that an IDE works on a project-level, so it loads much more data on start, analyzes the project structure if needed and so on. A lightweight editor is much faster if we need only one file.
الفارق الرئيسي بين المحررات البسيطة و "بيئة التطوير" هو أن بيئة التطوير تعمل على مستوى المشروع، لذلك فإنها تقوم بتحميل المزيد من البيانات عند البدء، وتحليل هيكل المشروع إذا لزم ذلك. أما المحررات البسيطة فإنها أسرع في حال نريد ملف واحد فقط.

In practice, lightweight editors may have a lot of plugins including directory-level syntax analyzers and autocompleters, so there's no strict border between a lightweight editor and an IDE.
من الناحية العملية ، قد تحتوي المحررات البسيطة على الكثير من المكونات الإضافية بما في ذلك محللات بناء الجملة على مستوى الدليل وأجهزة الإكمال التلقائي ، لذلك لا توجد حدود صارمة بين المحرر البسيط و IDE.

The following options deserve your attention:
الخيارات التالية تستحق انتباهك:

- [Atom](https://atom.io/) (cross-platform, free).
- [Visual Studio Code](https://code.visualstudio.com/) (cross-platform, free).
- [Sublime Text](http://www.sublimetext.com) (cross-platform, shareware).
- [Notepad++](https://notepad-plus-plus.org/) (Windows, free).
- [Vim](http://www.vim.org/) and [Emacs](https://www.gnu.org/software/emacs/) are also cool if you know how to use them.
- [Atom](https://atom.io/) (يعمل على العديد من أنظمة التشغيل, مجاني).
- [Visual Studio Code](https://code.visualstudio.com/) (يعمل على العديد من أنظمة التشغيل, مجاني).
- [Sublime Text](http://www.sublimetext.com) (يعمل على العديد من أنظمة التشغيل, برنامج مشاركة).
- [Notepad++](https://notepad-plus-plus.org/) (الويندوز, مجاني).
- [Vim](http://www.vim.org/) و [Emacs](https://www.gnu.org/software/emacs/) رائعة إذا كنت تعرف كيفية استخدامها.

## Let's not argue
## دعونا لانتشاجر

The editors in the lists above are those that either I or my friends whom I consider good developers have been using for a long time and are happy with.
المحررات التي بالقائمة الأعلى هي التي نقوم باستخدامها أنا وأصدقائي، والذين أعتقد أنهم مطورون جيدون يستخدمونها منذ وقت طويل وتسعدهم.

There are other great editors in our big world. Please choose the one you like the most.
يوجد أيضاً محررات رائعة في عالمنا الكبير، الرجاء اختيار المحرر الذي تفضله.

The choice of an editor, like any other tool, is individual and depends on your projects, habits, and personal preferences.
اختيار المحرر، مثل أي أداة أخرى، هو اختيار فردي ويعتمد على مشروعاتك، وعاداتك، وتفضيلاتك الشخصية.
2 changes: 1 addition & 1 deletion 1-js/01-getting-started/index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# مقدمة

عن لغة جافا سكريبت و البيئة التي تُطَوّرْ بها.
عن لغة جافا سكريبت والبيئة التي تُطَوّرْ بها.
Loading

0 comments on commit 7c904cc

Please sign in to comment.