الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

JavaScript ، موتي رجاءً .. مرحباً JavaWE .

رائج
بدأه Abdullah.Alshammeri في 16 أكتوبر 2010 · 58 رد · 6,717 مشاهدة · في الأخبار والنقاشات التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ،

Netscape حاولت اكساب لغة JavaScript الصغيرة شهرة بأن منحتها كلمة " Java " ، بعد أن أذنت لها Sun بذلك . المضحك أن Sun ماتت و JavaScript الصغيرة لا زالت على قيد الحياة . لغة JavaScript ظهرت لإضافة ميزة " شريط الأخبار المنزلق أعلى الموقع " ، ولاظهار alert للمستخدم ، ولاضافة نوع من الحيوية للصفحة .. كتغيير لون رابط أو تحريك صورة . هذه المزايا أدهشت محترفي برنامج " الرسام " ، فانتقلوا من برنامج الرسام الجامد إلى تطوير مواقع الانترنت . ظهرت مواقع عربية كموقع " كنز السكربتات لنسخ و لصق السكربتات " ، لإضافة تأثيرات حيوية على الصفحة .. مثال : إظهار رسالة alert مئة مرة عند دخول الصفحة .

اليوم الحال مختلف ، أصبحنا في عصر تطبيقات الانترنت ، نحن بحاجة للبرامج المكتبية مثل Word Processor من على الانترنت ، نحن في عصر Cloud Computing .. أنت لا تملك جهاز ، أنت تستأجر جهاز .

للأسف ، محترفي برنامج الرسام لا زالوا هم مطوّري المواقع ، ولو حاولت إقناعه بأهمية merge sort فسيصاب بإحباط .. فهو لا يعرف إلا onload و onclick . و كثير من مبرمجي ++C و Java انتقلوا إلى تطبيقات الانترنت .. فصارت المعادلة : محترفي الرسام vs محترفي Java و ++C ، فظهر السؤال : هل لغة JavaScript المائعة الآن ، مناسبة لتطبيقات الويب ؟ لو وضعنا مسألة السرعة جانباً ، هل اللغة مناسبة لتطبيقات ضخمة ؟

رأيي المتواضع هو لا .. وبتشديد الألف الأخيرة .. أقول : لأ .

أعتقد JavaScript تنتمي لفئة Dynamic Languages ، صحيح ؟ لا أعرف الكثير عن هذه التسميات .. لكن أسلوب JavaScript في التعامل مع المتغيرات ، ومرونتها الشديدة جداً في تقبّل أي شيء تكتبها ، و صعوبة تتبع الأخطاء ( لا تقل لي ، عليك بـ Firebug ) ، يجعلنا بالفعل أمام لغة تصلح فقط لمحترفي برنامج " الرسام " . لا أظن شخصاً جرّب حلاوة Java و روعة ++C ، في " قسوتهما على المبرمج " ، سيحاول تجربة JavaScript لساعة واحدة .

العيب باختصار ، أننا أمام لغة مثل JavaScript ، لا نستطيع أن نبني تطبيقاً رائعاً و منظماً ( من ناحية هندسة الكود ) ، واحتمالية وقوع أخطاء كبيرة أمر وارد . بصراحة ، هل هذا كود يمكن أن يكتبه محترف ( باستثناء محترفي الرسّام ) :

var blabla.x= 10;
var dummy = blabla.x;

لو سألت نفسك ، ماهي blabla ، ومن هو x ومانوع المتغير dummy .. فالجواب :

- مبرمجي ++C و Java و اللغات المماثلة : لن يصمدوا طويلاً أمام هذا الكود ، وسيقعوا في الأخطاء .

- محترفي برنامج الرسّام : لن يتعاملوا أصلاً مع كائنات .. فتركيزهم على onclick أكثر ، وإن وجدنا من هو مهتم .. فلن يسأل نفسه كثيراً ، عن المشكلة .. هي كذا وخلاص .

بينما هذا الكود :

Vector v = new Vector();
v.setX(10);

int dummy = v.getX();

الكود يشرح نفسه .

أمور أخرى ، هي بمحدودية JavaScript ، فأين Threads مثلاً ؟ أين Framework الجيد و الفئات الأساسية مثل فئات الـ Collections الموجودة في لغة جافا ؟ بل ما ذا تعرف عن قراءة ملف XML عن طريق JavaScript ؟ مهما حاولت إبداء محاسن JavaScript مثل السهولة و المرونة ، فهي زادت عن حدّها وأصبحت عيباً لا يمكن تحمّله أمام " تطبيقات واقعية مثل Word Processor أو معالجة الصور " .

الحل ؟

الحل ، JavaWE ، وهي اختصاراً لـ Java Web Edition . لا تقل لي أنك لم تسمع عنها ؟ صحيح .. هي من اختراعي قبل 10 دقائق ، وهي محاولة فلسفية من الطراز الأول ، لركل JavaScript بعيداً إلى الأفق النائي .. أما شكلها فهو :

<html>

<java src='MainListener.java' ></java>

<body>

<!-- You still able to use JavaScript to do silly things -->
<script type='text/javascript'>

	for(var i=0;i<100;i++){
		alert('Dumb Alert by a Dumb Painter Proffessional');
	}
</script>

	<a id='sortAsc' href='java:void()'>Sort Asc</a>
	<a id='sortDesc' href='java:void()'>Sort Desc</a>
	<form>
	 <select id="myList">
        <option>1</option>
        <option>2</option>
        <option>3</option>
    </select>
	</form>


</body>

// MainListener Class File 



class MainListener extends HtmlListener{
	private String sortingType ;

	public MainListener(){	
		this.sortingType = "asc";
	}

	@override
	public onPageLoad(){
		Element e = this.getElement("#title");
		e.css('color','255');
		e.setText('New Title');
		e.setText(e.getText().toLower());

	}

	@override
	public onClick(Element e){
		// suppose that java supports switch case with string , JDK 7 :-)

		switch(e.getId())
		{
			case "sordAsc":
				this.sortingType = "asc";
				HelperClass.sortList(e.getElement("#myList"),this.sortingType );
				beak;
			case "sortDesc":
				this.sortingType = "desc";
				HelperClass.sortList(e.getElement("#myList"),this.sortingType );
		}
	}
}

// HelperClass

import "java.util.*"
import "javaweb.html.*"

class HelperClas{

 public static void sortList(Element e,String sortType){
	if(sortType.equals("asc"))
	{
		try
		{
			List list = new ArrayList(HtmlHelper.getListOptions(e));
			Collection.sort(list,"asc");
		}
		catch(Exception e)
		{
			JOptionPane.showMessageBox(e.toString());	
		}
	}
	else
	{
			List list = new ArrayList(HtmlHelper.getListOptions(e));
			Collection.sort(list,"desc");
	}
 }
}

  • جمال الكود الخلاّق لوحده ، يكفي .. يكفي إلى أن يظهر شعار NoJS سريعاً .. فماذا لو تكلّمنا عن مسألة " تحويل اللغة من Interpreted إلى Compiled " بشكل حقيقي وكامل ؟
  • ماذا لو تكلمنا عن إمكانية تنفيذ السكربت من على السيرفر كخيار ، وخيار آخر تنفيذها على Client مع أخذ الاحتياطات الأمنية ؟
  • ماذا لو تكلمنا عن الاستفادة من مئات الحزم البرمجية مثل Graphics2D و مثل OGL ومثل XML .. ؟
  • بل وماذا لو تكلمنا عن المولود الجديد OpenCL والذي يمكن أن ندعمه من خلال JavaWE ، بحكم أن هناك نسخة للغة جافا الآن ؟

ما رأيك بهذه العبقرية التي تتدفق الساعة 6 صباحاً ؟

لاتنسَ أن جميع حقوق JavaWE محفوظة لي .. وإن اعترضت Oracle ، نسمّيها abdullahWE ..

بقي ساعة ونصف على بداية الدوام ، لذلك يجب أن أنام ، لم أنم طوال البارحة .

===

عذراً لمحبّي ومحترفي JavaScript ، أنتم عظماء .. لا تلتفتوا للغمز و اللمز الوارد في الموضوع .. مجرد " دعابة ثقيلة " فقط .

4 −3

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#2

هل تقصد ترجمة اكواد جافا لجافاسكربت ؟ مثل GWT او ربما بايثون لجافاسكربت PyJamas ?

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#3

أعرف ما تقصد أخي ،

أقصد قتل JavaScript نهائياً ، واستبدالها بلغة JavaWE ( المبنية على Java ) ، أي أن الـ Syntax مختلف نهائياً،

بحيث JavaWE مبنية على لغة الجافا ، وهي مجموعة مواصفات ، كل متصفح يعمل implementation لها .. و تعمل بشكل افتراضي على client ، كل صفحة مرتبطة بكائن يحمل اسم MainListener مثلاً والذي يرث من الواجهة/الفئة HtmlListener ، والتي تتنصنّت للأحداث التي تقع في هذه الصفحة .

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#5

جافاسكربت prototype-based فأكيد فى اختلاف :sleep:

ممكن تبص للموضوع من ناحية تانية انك ممكن تستخدم مكتبات جافا فى كود جافاسكربت اما قتل الجافاسكربت :unsure:

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#6

شخصيا أتمنى ذلك من كل قلبي ف JavaScript تثير أعصابي كلما حاولت تتبع خطأ ما وعدم معرفه ال IDE لأنواع المتغيرات يجعله يعجز امام استتناج صفاتها وبالتالي أنا من يجب علي استخدام الصفات الصحيحه. ما يسمى ب OOP او محاكاه طريقه كتابته فيها يجعلني أكتئب. لكني لا افهم لماذا نحاول نقل التطبيقات الكبيره الى المتصفح، لماذا لا نستخدم Java Web start مثلا؟ او اي شيء اخر خارج حدود المتصفح من الأساس!

تم تعديل هذه المشاركة بواسطة مهدي حجازي في 16 أكتوبر 2010 في 09:58

1 −1
#7

بغض النظر عن رأيي ورأيك بـ "محترفي الرسام" لكن عدم اعتيادك على اللغات الـ 'loosely typed' لا يؤثر شيئاً في قوتها وإنتاجيتها ... وإن كان بإمكان محترف الرسام إنتاج موقع جميل "يعمل" في 10% من الوقت الذي يحتاجه مبرمج الـ c++ ... فياللعار !

برأيي منطق العمل Business Logic يتقلص إلى حد كبير في كافة الأنظمة، وخاصة في أنظمة الويب، والاهتمام يزداد بشكل أكبر من قبل الزبائن والمبرمجين إلى طبقة التقديم/العرض presentation Layer فهي التي تحدد الآن قيمة منتجك البرمجي.

لقد أثبتت PHP نفسها بالرغم من أنها 'loosely typed'ـ ربما حان الوقت لمبرمجي الـ c++ والجافا "الأعتياء" محاولة تغيير تفكيرهم والنظر بانفتاح إلى الأفق الواسع

كما أن هذه "العيوب" يمكن تلافيها إلى حد كبير بالاعتماد على الـ frameworks المنتشرة بكثرة ...

تحياتي

تم تعديل هذه المشاركة بواسطة Speed_Of_Light في 16 أكتوبر 2010 في 13:35

#8
اقتباس
برأيي منطق العمل Business Logic يتقلص إلى حد كبير في كافة الأنظمة، وخاصة في أنظمة الويب، والاهتمام يزداد بشكل أكبر من قبل الزبائن والمبرمجين إلى طبقة التقديم/العرض presentation Layer فهي التي تحدد الآن قيمة منتجك البرمجي.

لا أعتقد بأي حال من الأحوال أن طبقة العرض هي المهمة في الويب. في الحقيقة إنها نقطة ضعف الويب الكبرى. لو كنت أريد برنامجاً يقدم أكثر واجهات التشغيل تقدماً لكان Desktop Application بدلاً من كتابته للويب.

تم تعديل هذه المشاركة بواسطة Khaled.Alshaya في 16 أكتوبر 2010 في 14:02

2
#9

كما قال أحد الأخوة لماذا لا تستخدم Flash أو SilverLight أو Flex أو JavaFX أو ....... إلخ

#10
اقتباس
لا أعتقد بأي حال من الأحوال أن طبقة العرض هي المهمة في الويب. في الحقيقة إنها نقطة ضعف الويب الكبرى. لو كنت أريد برنامجاً يقدم أكثر واجهات التشغيل تقدماً لكان Desktop Application بدلاً من كتابته للويب.

قصدت أنها عملياً من أكثر المراحل استهلاكاً لوقت وجهد المبرمجين ... والتفاعل مع قاعدة البيانات database interaction تأخذ الحصة الباقية ... ومنطق العمل أصبح رقيقاً جداً بين هذه الطبقات الضخمة

لا تنسى أيضاً أن اعتمادك على الويب -بدلاً من تطبيقات سطح المكتب- قائم على المزايا التي يوفرها لك من شبه الإنعدام للاعتماديات dependencies والعمل على أي جهاز يحوي متصفح تقريباً ... أياً كان نظام التشغيل ...

وهذا يجعله خياراً جذّاباً جداً ! وهو الاتجاه الجديد الذي يسعى نحوه الجميع الآن ... Cloud Computing

1
#11

اسمح لي بمخالفة رايك اخي الشمري ..

يمكن ان تغير السؤال : هل لغة الجافا المترهلة مناسبة لعمل تطبيقات الويب :) و دعنا لا ننسا الجافا ابلت و مصائبها !

الجافا سكربت هي لغة برمجة بكل ما للكملة من معنى و يمكنك استخدام خصائص عديدة تفتقدها لغات مثل الجافا و غيرها و اطلاقك عليها لغة "محترفي برنامج الرسام " هذه نوع من الاستهزاء الغير مقبول اطلاقا و وهو سخرية من جهود الاف المبرمجين , ولولا الجافاسكربت لكان حال المنتدى و الانترنت كما لو انه في عام 1995 .

شخصيا تعلمت Java و لغات مثل بايثون و روبي و بي اتش بي , و لكن Syntax الخاص بلغة الجافا سكربت عند معرفته بشكل معمق , سوف تعرف مدى روعته و اناقته ...

حتى اني حاليا اكتب interpreter في جافا سكربت لمواضيع اكاديمية .

اقتباس
للأسف ، محترفي برنامج الرسام لا زالوا هم مطوّري المواقع ، ولو حاولت إقناعه بأهمية merge sort فسيصاب بإحباط .

هذه ليس عيب لغة الجافا سكربت , بل هو عيب في من يدعي بمعرفته في الجافا سكربت, بطبيعة الحال , من يعمل على لغة JAVA في معظم احيان يتلقى تعليم "علم حاسوب" تقليدي , لكن , انتشار الجافا سكربت و مترجماتها اصبح كافيا ليدخل عليها كل من هب و دب ...

mergesort و غيره : كما قلت لك نادرا ما تقلى احد غير اللذين تلقو تعليم اكاديمي قد تعلمه او قد احتاج له , و هنا العيب ( ان صح تعبير ) كما قلنا في المبرمج و ليس لغة و هنا فرق شاسع

اقتباس

فظهر السؤال : هل لغة JavaScript المائعة الآن ، مناسبة لتطبيقات الويب ؟ لو وضعنا مسألة السرعة جانباً ، هل اللغة مناسبة لتطبيقات ضخمة ؟

دون ادنى شك يمكن انشاء تطبيقات بجميع الاحجام :) , لكن المسئلة تحتاج مبرمجي جافاسكربت متمرسين , لديهم من المعرفة الكافية في مواضيع مثل OOP in JavaScript و مواضيع اخرى مثل Design Patterns , و طبعا هذه لايكفي , هناك امور اخرى في Software Engineer Process وغيرها من موضيع , و هذه نادرا ما تكون متوفرة في مبرمجي الجافا سكربت , و لكن كما قلت العيب ليس في اللغة و لكن في بعض من يدعون معرفتهم فيها !

وهنا تعبير لغة مائعة تعبير مجحف للغاية , المصطلح الاصح هو The Flexibility of JavaScript , هل تستطيع مثلا اسناد فنكشن لمتغير في الجافا :)

var blabla.x= 10;
var dummy = blabla.x;

ان كنت تعتقد ان هذه الطريقة مناسبة لكتابة كائن في جافا سكربت , فاسمح لي ان ادعوك لمراجعة معرفتك في هذه لغة , سوف اعرض عليك 4 طرق مختلفه تبين طريقة كتابة كائن فيها ( لا اعتقد توفر هذه المرونة في لغة اخرى غير جافا سكربت او قلة غيرها ) , مقتبسة من كتاب JavaScript Design Patterns

//1
/* Anim class. */
var Anim = function() {
...
};
Anim.prototype.start = function() {
...
};
Anim.prototype.stop = function() {
...
};
/* Usage. */
var myAnim = new Anim();
myAnim.start();
myAnim.stop();

//2
/* Anim class, with a slightly different syntax for declaring methods. */
var Anim = function() {
...
};
Anim.prototype = {
    start: function() {
        ...
    },
    stop: function() {
        ...
    }
};


//3
/* Add a method to the Function object that can be used to declare methods. */
Function.prototype.method = function(name, fn) {
        this.prototype[name] = fn;
};
/* Anim class, with methods created using a convenience method. */
var Anim = function() {
...
};
Anim.method('start', function() {
...
});
Anim.method('stop', function() {
...
});

//4
/* This version allows the calls to be chained. */
Function.prototype.method = function(name, fn) {
        this.prototype[name] = fn;
        return this;
};
/* Anim class, with methods created using a convenience method and chaining. */
var Anim = function() {
        ...
};
// لا حظ التسلسل 
Anim.method('start', function() {
...
}).method('stop', function() {
...
});

اقتباس

أمور أخرى ، هي بمحدودية JavaScript ، فأين Threads مثلاً ؟ أين Framework الجيد و الفئات الأساسية مثل فئات الـ Collections الموجودة في لغة جافا ؟ بل ما ذا تعرف عن قراءة ملف XML عن طريق JavaScript ؟ مهما حاولت إبداء محاسن JavaScript مثل السهولة و المرونة ، فهي زادت عن حدّها وأصبحت عيباً لا يمكن تحمّله أمام " تطبيقات واقعية مثل Word Processor أو معالجة الصور " .

هنا اصبح الموضوع مختلف , هنا اصبح الموضوع Platform التي تعمل عليها الجافا سكربت , و نعود مرة اخرى الى متصفحات و غيرها

اقتباس
، فأين Threads مثلاً ؟

هل سمعت ب JavaScript Web Workers

اقتباس

أين Framework الجيد

لا تعليق بصراحة .. http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks

اقتباس

و الفئات الأساسية مثل فئات الـ Collections الموجودة في لغة جافا ؟

الجافا سكربت مرنة بطبيعتها , امور مثل Collections يمكن محاكاتها بالف طريقة !

اقتباس
فهي زادت عن حدّها وأصبحت عيباً لا يمكن تحمّله أمام " تطبيقات واقعية مثل Word Processor أو معالجة الصور " .

جميع تطبيقات الويب في معالجة نصوص تعمل على جافاسكربت باستثناء بعضها الذي يعمل على منصة فلاش و اغيرها من الاضافات ,

اما موضوع معالجة الصور , بكل ثقة اقو انه لولا اكسبلورر لرايته من اكثر التطبيقات تداولا على الانترنت اقرء عن Canvas و HTML5 رجاءا

اقتباس

الحل ، JavaWE ، وهي اختصاراً لـ Java Web Edition . لا تقل لي أنك لم تسمع عنها ؟ صحيح .. هي من اختراعي قبل 10 دقائق ، وهي محاولة فلسفية من الطراز الأول ، لركل JavaScript بعيداً إلى الأفق النائي

:lol:

الجافا لغة جميلة و لها ملعبها الخاص و لكنها مترهلة للغاية , و استخدام الجافا محل الجافا سكربت هو كلعجوز الذي يحاول ممارسة رياضة شبابية :wink:

و صدقني يمكن تطبيق جميع مفاهيم OOP في جافا سكربت بل و اضافة و عمل امور لا يمكنك حتى ان تحلم بها في جافا ...

اقتباس

* جمال الكود الخلاّق لوحده ، يكفي .. يكفي إلى أن يظهر شعار NoJS سريعاً .. فماذا لو تكلّمنا عن مسألة " تحويل اللغة من Interpreted إلى Compiled " بشكل حقيقي وكامل ؟

هنا بدئنا نخلط الحابل بنابل :P , هذه مسئلة تتعلق ب المتصفحات وليس الجافا سكربت ,مثلا , لو نظرت الى متصفح الـchrome سوف تجد سر سرعته انه يقوم بتحويل JS الى machine كود دون المرور بمرحلة ByteCode ابحث عن محرك V8

اقتباس

* ماذا لو تكلمنا عن إمكانية تنفيذ السكربت من على السيرفر كخيار ، وخيار آخر تنفيذها على Client مع أخذ الاحتياطات الأمنية ؟

اقرء عن NodeJs

اقتباس
* ماذا لو تكلمنا عن الاستفادة من مئات الحزم البرمجية مثل Graphics2D و مثل OGL ومثل XML .. ؟

* بل وماذا لو تكلمنا عن المولود الجديد OpenCL والذي يمكن أن ندعمه من خلال JavaWE ، بحكم أن هناك نسخة للغة جافا الآن ؟

مرة اخرى كل هذه يمكن توفيره بلجافا سكربت , بشرط توفيره في متصفحات و ليس شيء اخر و لو كانت الجافا او غيرها لكان موضووووع مماثل دون دعم متصفحات و مسئلة ليست جافا سكربت او جافا !

اقتباس

ما رأيك بهذه العبقرية التي تتدفق الساعة 6 صباحاً ؟

لاتنسَ أن جميع حقوق JavaWE محفوظة لي .. وإن اعترضت Oracle ، نسمّيها abdullahWE ..

بقي ساعة ونصف على بداية الدوام ، لذلك يجب أن أنام ، لم أنم طوال البارحة .

اعذرك قلة النوم ماثرة :wink:

ادعوك لقراءة الكتب التالية :

JavaScript The GoodParts

Pro JavaScript Techniques

JavaScript Design Patterns

سؤال على هامش : هل شاهدت تطبيق ويب قام بكتابته مبرمج جافا وحجم الماساة في نوع و جودة الـ Generated Code ؟

تم تعديل هذه المشاركة بواسطة ahmad123 في 16 أكتوبر 2010 في 16:24

6
#12

وضع (اكمال) بعض النقاط لو سمحت لي اخي احمد :)

يبدو باننا نسينا شيىء اسمه Ajax

حتى بالنسبة للصور يمكن ارسالها كبيانات base64 واذا لا توجد مشكلة .

بالنسبة لطبقة العرض معظم المطورين الان بعد العديد من المحالات يسعون ليكون بنفس اناقة سطح المكتب

بالنسبة لتطبيقات ك الWORD and Paint يوجد الان بجوجل برامج وب وظامية ان كان التعامل مع الجداول الالكترونية او تحرير النصوص ومن تفرة عرض بالمنتدى هنا الرسام المبني على ال canvas

ماذا بقي

بقي شيء واحد هو معالجة الصورة :( :( (من يجد لي حل اعطيه نقاطي كلها) :D للاسف لا توجد اي طريقة (اقصد مثل الفوتوشوب ان اقوم بالنقر فوق صورة واخذ الالوان المتشابهة لم اتطلع الى الhtml5 ان كان يوجد ياريت رابط) .او التعامل مع الكميرا وب موصولة بجهاز

+كتاب اخير اخي احمد

http://www.ecma-international.org/publications/standards/Ecma-262.htm

جزاكم الله كل خير

2

In bad state

#13

أخي الشمري بارك الله بك

أنت تحاول فقط ابراز نقاط ضعف وهمية بنيتها عن معرفة بسيطة بلغة لم تستطع التآلف معها :)

و رد الأخ أحمد و الأخ عبد جزاهما الله خيراً يوضح ما أقوله

وسأعطيك مثالا اضافياً :

اقتباس
لو وضعنا مسألة السرعة جانباً

لماذا لتضع مسألة كهذه جانبا و أنت تعلم ما لها من أهمية ليس فقط بمقاييس المبرمجين بل بمقاييس المستخدمين

اقتباس

للأسف ، محترفي برنامج الرسام لا زالوا هم مطوّري المواقع

من وجهة نظر بعيدة عن البرمجة أي من وجهة نظر مجرد قارئ

لماذا تركت محترف برنامج الرسام يتفوق عليك و يكون هو مطور الويب؟ ما الذي منعك من ابراز نفسك مادمت تعتبر نفسك متفوقاً عليه؟

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 16 أكتوبر 2010 في 17:13

1

Everything will be fine when we TALK LESS, DO MORE


#14

دعوة الى هذا المقال

http://www.codeproje...platesGrid.aspx

نفس فكرة الكود التالي

<html>

<java src='MainListener.java' ></java>

<body>

<!-- You still able to use JavaScript to do silly things -->
<script type='text/javascript'>

        for(var i=0;i<100;i++){
                alert('Dumb Alert by a Dumb Painter Proffessional');
        }
        <a id='sortAsc' href='java:void()'>Sort Asc</a>
        <a id='sortDesc' href='java:void()'>Sort Desc</a>
        <form>
     	<select id="myList">
        <option>1</option>
        <option>2</option>
        <option>3</option>
    </select>
        </form>

</script>

</body>

تم تعديل هذه المشاركة بواسطة X-File في 16 أكتوبر 2010 في 17:43

In bad state

#15
X-File كتب:

بقي شيء واحد هو معالجة الصورة :( :( (من يجد لي حل اعطيه نقاطي كلها) :D للاسف لا توجد اي طريقة (اقصد مثل الفوتوشوب ان اقوم بالنقر فوق صورة واخذ الالوان المتشابهة لم اتطلع الى الhtml5 ان كان يوجد ياريت رابط) .او التعامل مع الكميرا وب موصولة بجهاز

قرأت منذ فترة عن مكتبة لمعالجة الصور باستخدام الـ javascript اسم المكتبة هو Pixastic

اقتباس

Pixastic is a JavaScript library which allows you to perform a variety of operations, filters and fancy effects on images using just a bit of JavaScript

انظر إلى هذا الرابط : http://editor.pixastic.com/

اقتباس

Pixastic is an ex­peri­mental photo editing ap­plication developed by Jacob Seidelin. It uses only JavaScript and the <canvas> element. Brow­ser sup­port is currently limited to Firefox, Opera and Safa­ri.

1

Everything will be fine when we TALK LESS, DO MORE


#16

قبل كتابة هذا الموضوع تحتاج اولاً الى أن تقرأ و تعرف ماهي الJavascript

2 −2

مصري في بلاد الفرنجة.

قريباً اقرأ مقالاتي على It-scoop

#17

ادعوك فقط الى معرفة الجافاسكريبت بشكل اعمق مما تعرف الان ،

1

sigpic13832_4.gif

The best way to be ready for the future is to invent it

#18

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

لكن رد على السريع حتى أنام مرتاح البال :

motamayez كتب:

قبل كتابة هذا الموضوع تحتاج اولاً الى أن تقرأ و تعرف ماهي الJavascript

وقبل كتابة هذا الرد تحتاج إلى أن تفهم المغزى من الموضوع ويحدث هذا عندما تتمكن من استيعابه ، سأبسّط الموضوع إن شاء الله ،

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#19

لا يهم في الموضوع حبنا او كرهنا لطريقه كتابه java script او ما يمكن ان تقدمه لنا لكن لي تعقيب صغير على كلام استاذي خالد

اقتباس
لا أعتقد بأي حال من الأحوال أن طبقة العرض هي المهمة في الويب. في الحقيقة إنها نقطة ضعف الويب الكبرى. لو كنت أريد برنامجاً يقدم أكثر واجهات التشغيل تقدماً لكان Desktop Application بدلاً من كتابته للويب.

هذا ما اريد قوله بالضبط..ال desktop يتميز على ال web من ناحيه سهوله الاستخدام وقوه الشكل، لماذا يحاول البعض عمل Photoshop على ال web ولماذا يستخدمون java script حتى بالتعاون مع HTML5. انا لا أقول اتركوها لكني أظن انها لم تخلق لذلك ابد. بصراحه أظن انهم يغالون في استخدامها، ويجب التفكير جديا بطرق اخرى لعمل مثل هذه التطبيقات واحداها java fx او غيرها من المحاولات..

2
#20

الغرض من الموضوع واضح هو انك تشعر بأهمية الويب المتزايدة و خصوصا الJavascript و لكن تريد ان تقنع نفسك بان اللغة ضعيفة و لا تستحق منك ان تتعلمها

من الاخر انت خائف

1 −5

مصري في بلاد الفرنجة.

قريباً اقرأ مقالاتي على It-scoop

#21

عذراً إن فهمنا الموضوع بشكل خاطئ أخي الشمري. بانتظار التوضيح :)

ما هي الأمور التي ظهرت من أجلها الـ javascript برأيك أخي مهدي؟

وهل يمكن أن نقول عن لغة خلقت لهذا ولم تخلق لهذا رغم أنك تستطيع من خلالها عمل هذا وذاك؟

لماذا نحاول تخصيص عمل اللغة بينما هي تستطيع تخديم ما نريد؟

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 16 أكتوبر 2010 في 23:03

1

Everything will be fine when we TALK LESS, DO MORE


#22
اقتباس
ما هي الأمور التي ظهرت من أجلها الـ javascript برأيك أخي مهدي؟

خلقت لكي تقوم بعمل بعض المهمات البسيطه على ال client side وليس عمل شيء كهاذا

لماذا نسلم للأمر فقط لانه مستعمل..هدف الويب هو عمل برنامج يعمل عند الجميع دون تنصيب وعلى المتصفح حتى يكون سهل الاستخدام وغير مرتبط بنظام تشغيل معين, الان هذه ليست مشكلتي، المشكله انهم نظروا فوجود Java Script واخذو يضيفون لها ويغالون في استخدامها لتطبيق برامج تستفيد من خواص الويب، لماذا لا يعيدون التفكير في شيء اكثر حريه وقوه منها.

اقتباس
هل يمكن أن نقول عن لغة خلقت لهذا ولم تخلق لهذا رغم أنك تستطيع من خلالها عمل هذا وذاك؟

لماذا نحاول تخصيص عمل اللغة بينما هي تستطيع تخديم ما نريد؟

طبعا يمكنني..جافا لم تخلق للتعامل مع ال Hardware ولكن يمكنني عمل ذلك بطرق ملتويه و باستخدام JNI. السؤال لماذا كل هذا العناء وانا املك C++. كل اللغات يمكنها عمل كل شيء ( تقريبا ) لكن لكل لغه مجال قوه واختصاص ربما تفوق غيرها فيه وهنا يأتي دور اختيار اللغه الأكثر مناسبه و Java Script لا أظنها تناسب التطبيقات التي تحاكي تطبيقات سطح المكتب او ما يسمى بال Rich Internet Applications.

3
#23

بفعليا ليس مغالات

هل تعرفون سعر الفوتشوب الغير مسروق

هل تعرفون سعر الاتوكاد الغير مسروق

اسعار خيالية

سعر الاوفس قليل ولكن ماذا لو اصبح متاح على النت

ماذا لو اصبحت البراااامج كلها متاحة على النت دون تنصيبها على الحاسب وارهاق الحاسب بريجستري زيادة

رايي الجافا سكريبت لها باع طويل في برمجة الانترنت

بعد التعديل :

الان كل المؤسسات تبني تطبيقاتها web application وهنا نقطة هامة جدا جدا

تخيل ان معظم البرامج الحكومية والخاصة الان تعمل تحت المستعرض

لنتخيل قليلا ما يلي

حجم الصفحة 100 كيلو يطلبها عشرة الاف مستخدم من جميع انحاء البلد او جوانب الشركة

10000*10 لنجد الحجم انه كبير جدا

طبعا هذا بدون الجافا سكريبت

الان مع الجافا سكريبت البيانت المعدلة فقط هي التي ستتغير ضمن الصفحة سيتناقص الحجم الى 10 كيلو او اقل وهنا نلاحظ فائدة الجافا سكريبت

+

مستخدمين الحواسب متعودين على الازرار Ctrl+f

Ctrl+s

Ctrl+N

.......

كيف سيتم عملها بتطبق ذلك مع ال Ajax

سنلاحظ ان التطبيق سيرقى الى مراتب لن يحققها اي تطبيق desktop

تم تعديل هذه المشاركة بواسطة X-File في 17 أكتوبر 2010 في 00:24

2

In bad state

#24

جميل جداً أخي مهدي هذا الرد الذي كنت انتظره بالفعل

إذاً أنت تصف اللغة بالضعف في هذه المجالات وليس بعدم القدرة على التخديم

ولكن لم تذكر لنا نقاط الضعف التي ستجعل غيرها متفوقاً عليها

برأيي الـ javascript لها خصائصها التي تميزها عن غيرها

وخصوصا بالتعامل مع jQuery ذات شعار Write less .... Do more

والله أعلم...

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 17 أكتوبر 2010 في 00:02

Everything will be fine when we TALK LESS, DO MORE


#25

دائما أأتي متأخرا ...

أود أن أشكرك أخي و أستاذي الشمري ..... فأنت مبدع حقا...

لكن دعني أخالفك الرأي ...

أعتقد الجافا سكربت ليست بهذا السؤء لمبرمجيها .... (و أنا لست منهم) ...

كما أن وجود تقتنيات مثل GWT ... قد تغني غنا (كمبرمجي back-ends إن ظبط التعبير) الكثير من عناء الجافا إسكربت ..

مواضيع مشابهة