RSS

Category Archives: Web

your first step with ZK

your first step with ZK

peace be upon all

 

ZK in a glance

ZK is a highly productive open source Java web framework for building amazing enterprise web and mobile applications. Its unique Sever+client Fusion architecture enable developers to write applications using pure Java, design UI in XML while having optional control to the client side. ZK’s true event-driven model reflects desktop programming shielding developers from JavaScript programming, cross-browser issues, complex Ajax communication and the danger of exposing business logic.

ZK  also have alot of other products along with the framework

ZK  : web framework 

ZK mobile : extends the reach of Web applications to billions mobile devices supporting Java Mobile and Android.

ZK studio and ZTL tools :  visual IDE plugin for Eclipse and testing suite

ZK spreadsheet , ZK calendar : ajax application component

ZK Pivottable : Ajax web component for summarizing raw data

 

Why ZK ?

1- ZK is the leading enterprise Ajax framework and the easiest way to build great modern Java web applications.

2- Enterprise. Trusted. Established.

3- End to End Productivity Boost

4- Industry Leading Architecture

5- Transparent Ajax with Jav6- Rich Modular UI

7-  Fortune 500 Approved Security

 

Getting Started !

  • ** installation
    – u can  download and run on any IDE , but assume using netbeans , u need to download the REM plugin from here
    – start netbeans , on main menu bar select Tools >> plugins
    – click on downloaded tab >> add plugin , then navigate to where REM is downloaded and select it
    –  click install
  • ** create Netbeans demo ZK project
    – new project >> samples >> java web >> zk509 Demo application >> write the project name and click Finish
    – this is a demo project to explore the different component of the framework
    – click run and Enjoy 😀

>> <<  To can create a new project and use the palette to explore the different tools

>><<  more on   http://www.zkoss.org/

 

 
Leave a comment

Posted by on March 27, 2012 in Back-end, Featured, Programming

 

Tags:

let's forge !! ()

let's forge !! ()

welcome all ,

sure you are wondering what’s Forge !!
Forge is a Cross-platform app framework  which enables you to create native apps for multiple platforms from a single HTML5 codebase.

Here are a few benefits of Forge:

    • ** Single code base
    • ** Ability to generate mobile applications for Android and iPhone
    • ** Ability to generate browser extensions for Chrome, Safari, Firefox, and IE
    • ** Rapid development
    • ** Reduced maintenance costs

 

It doesn’t require to write any line of  java or objective-c or learn any platform-specific APIs.
now let’s get started

 

    1.  Download the development environment
              ** To use Forge, you will first need to sign up for the service at https://trigger.io/forge/
      •  download the Forge development environment and unzip it to any directory .

 

    1.  For Win users >> run go.bat
      • ** for linux and MAC users >> from the terminal change the directory to wherever you extracted the zip file run source  go.sh

 

    1.  Creating your first app
               ** by now u should have a command terminal look something like that.

 

(forge-environment)

** HINT ** if u want to keep each of your apps separated u should use another directory for them

mkdir “../test-apps”
cd “../test-apps”

now we are in a separated directory , let’s create the app

forge create
after that you will be prompted to enter the app name , your user-name , password and that’s it you are done 🙂

you can switch to the app directory and try run your index page named index.html Now if u wanna start your app as an extension to chrome , or Firefox add-on or android , iphone app >> let’s move to another level i would prefer to start it as an extension to chrome .

by now u should see src  directory under the app directory , this is where all the extensions will be placed

inside , u should see “config.jsonwhich automatically generated and holds all the settings for the extension .

 

1- Create a file called background.js” inside the “src” directory and add the following code
     window.alert(‘Hello Chrome’);

2- Open config.json and add this file to the background_files array
     “background_files”: [“background.js”],

3- Building and load Chrome Extensions Using Forge

** Navigate to the directory where you extracted the build tools from the terminal

** Windows users run go.bat. OSX/Linux users run source go.sh

** Run forge build.

** When the build finishes take a look inside the development directory and you should see your generated Chrome extension

** Open the Chrome browser and go to chrome:extensions.

** If Developer mode isn’t already enabled click the [+] button at the top right.

** Click Load unpacked extension.

** Navigate to the development directory which contains the generated extension.

** Select the chrome folder and click OK.

** You should see ‘Hello Chrome’ alert window as soon as the extension has loaded.

>> NOTE  <<
only the “Get Started” apps are FREE , more pricing here >> https://trigger.io/pricing/

>> REFERENCE <<
https://trigger.io/

 

 

HTML #BeBsata

HTML #BeBsata

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

 

بعض الناس بيظن إن تصميم أى ويب سايت شئ صعب ، و لكن من خلال سلسلة تعلم HTML هنعرف مدى سهولتها .

ما هى ال HTML ؟
هي اختصار ل   .HTML is HyperText Markup Language حيث :

hyper : معناها إن لغة البرمجه دى غير خطيه ، قديما كان الكمبيوتر بيشتغل بشكل خطى و أوامر ورا بعضها ، و لكن ال HTML ممكن فى اى مكان تكتب اى حاجه و تروح لأى حاجه .

Text : هو أى كلام داخل ال HTML و هيتعرض للمستخدم

Mark up : هو عباره عن تحرير الtext اللى هيتكتب ، زى تغيير نمط و لون و شكل العناوين و غيره … .

language :  و طبعا ال HTML هى عباره عن لغة توصيف .

 

هنكتب الكود فين !؟

ببساطه هنكتبه على notepad  إذا كنت من مستخدمي الويندوز .

و إذا كنت من مستخدمى لينكس .. هنكتبه فى ” Pico “ ، و إذا كنت من مستخدمى نظام ماك .. هنكتبه فى “ TextEdit “ .

 

حالياً ، انت مُهيأ لتعلم أول و مبادئ لغة ال HTML .

فيه حاجات مهم نعرفها :-

HTML عباره عن مجموعة من ال Tags ..

Tag بيكون بالشكل ده  <Tag> .. و أي تاج بيتكون من <element attribute = value > ..

و مش ننسى إن لكل تاج بداية <tag> و نهايه  </tag> يعنى بنقفل التاج بإننا نزود عليه ال ” / ” ما عدا بعض ال Tags اللى مش ليها نهاية زى مثلا :-
<img src = url >  ، <hr> ، <br>

  وده لأنها مش بتحتوى على محتويات أو داتا جواها .. فلازم تقفلها في نفس التاج يعنى بالشكل ده :

</br/> , <hr/> , <img src=url>

لاحظ أن ال HTML  غير حساسه للحروف سواء capital او small أو خليط بينهم و لكن يفضل استخدام ال small

المسافات فى ال HTML مالهاش قيمه .. يعنى مهما تعمل مسافات بيحسبها مسافه واحده فقط .. لكن لو عاوز تعمل مسافه بتكتب الآمر ده &nbsp;

هنبدأ نتعلم مع بعض أول حاجه لازم تتكتب فى صفحة ال HTML و هى أساسية لكل صفحات ال HTML

<HTML>

<head>

هنا ممكن نكتب css او اى script language زى ما هنشوف فيما بعد .

<title >
هنا بنكتب  اسم الويب سايت بتاعنا
<title/ >

<head/>

<body>

هنا هنكتب كل الtags اللى هتأثر على صفحة الويب بتاعتنا

<body/>

<Html/>

** لاحظ إن أول تاج بنكتبه هو آخر تاج بنقفله و هكذا .. دلوقتى هنبدأ نعمل اول و أبسط ويب سايت 🙂

1- افتح notepad و ابدأ اكتب ال tags الأساسيه اللى قلنا عليها قبل كده .

<html>

<head>

<title>

this is my first website

</title>

</head>

<body>

<body/>

<html/>

دلوقتى هنكتب tags ما بين <body> ………….. </body>

 

<body>

<h1>

Al slamo 3likom ,,This is my first web site ! 😀

</h1>

 </body>

بعد ما خلصنا الكود بتاعنا هنحفظ الملف بتاعنا و لكن بامتداد .html او .htm  “لا تنسى “

هيظهر لك ملف قم بفتحه بإستخدام إى browser عندك .

مبروك …. عملت أول ويب سايت 🙂

html basic tags

 

هنبدأ أولا نتعرف على بعض ال tags المهمه فى لغة ال HTML

 

<body>

** بيحتوى على مجموعة خصائص “attributes”

bgcolor : لتغيير خلفية الصفحة

background : لوضع صورة للصفحة كخلفيه

text : بنحط فيها الون الاساسى و الافتراضى لأى text هنكتبه

link : لون اللينكات الهتكون موجوده ف الصفحه

alink : لون اللينك عند النقر عليه

vlink : لون اللينك اللى تم زيارته

مثال :-

<“BODY TEXT=”white” LINK=”red” VLINK=”yellow” ALINK=”green” BGCOLOR=”black>

body tag and attributes

او بإستخدام صورة للخلفية <body background=url >


<img>

بيحتوى على مجموعة خصائص attributes :-

src : بنكتب فيه path الصوره اللى موجوده ع الجهاز – أو url إذا كانت الصوره مرفعوعه على سرفر .

alt : بنكتب فيه وصف بسيط عن الصورة

align : بيحدد لنا محاذاة الصورة سواء يمين او شمال او فوق او تحت او ف المنتصف

width & height : بيحدد حجم الصورة من خلال طولها و عرضها و طبعا عباره عن قيم عددية .

border : بيرسم حدود للصورة من خلال قيمة عددية  بياخدها

مثال :-

<“img src=”photo.jpg” alt=”colourful photo ”  width =”100″ height =”100 >

img tag and attributes

<a>

بيحتوى على مجموعة خصائص :-

  • href : و الخاصية دى بتاخد أكتر من قيمه url
  • <a href=“http://www.google.com” >Go To Google </a> و دى بتنقلنا لموقع آخر

  • <a href=“home.html” > Home</a> و دى بتنقلنا لصفحة و لكن فى نفس الموقع

  • <a href=“images/image.jpg” > My Image</a> و دى لينك  بينقلنا لصورة

  • <a href=“http://www.google.com” ><img src = “home/image.jpg”> </a> و دى بتخلى الصورة عباره عن لينك . نقدر إننا نروح لجوجل من خلال النقر عليها .

  • <a name=“above”>Text</a> تسمية جزء ف الصفحة .

  • <a href=“#section1”>Text 2</a> لينك ف نفس الصفحه لتسهيل الحركه فى الصفحات الكبيره .

  • <a href=”mailto:someone@example.com”>send email</a> لإرسال إيميل لشخص ما .

target : ده لفتح الصفحة الناتجه من اللينك فى صفحة جديده blank_ او نفس الصفحة self_ او parent_ أو top_

link tag and attributes

 

<br>

هو عباره عن النزول لسطر جديد . و هو أحد الtags اللى بدون تاج قفل .

<hr>

هو عباره عن رسم  خط ” مسطره “

بيحتوى على خصائص :-

align : محاذاة الخط  ( يمين – شمال – فى المنتصف )

size : حجم “سُمك ” الخط المرسوم .

width : عرض الخط ف الصفحة .

height:عباره عن أرتفاعه بالنسبه للصفحة .

مثال :-

<hr align = “center” width =”100″ height = “100”>

horizontal line

<font>

بيحتوى على خصائص منها :-

face : و هو نوع الخط المستخدم .. مثلا arial

size : حجم الخط  المستخدم

color : تخصيص لون معين  لل text المكتوب بين ال tag ده

مثال :-
<font face=”arial” size=”80″ color=”pink” >Catazine</font>

font tag

 

<p> 

هو عباره عن تاج للبراجراف paragraph

خصائصه :-

align : و هى محاذاة البراجراف فى المنتصف او يمين او شمال .

مثال : –

<p align = “center” > Hi , This is our test for the  Paragraph tag  </p>

paragraph tag

و هنا تقريبا نكون خلصنا جزء كبير من ال html .. نكمل المرة القادمة ان شاء الله .

 
1 Comment

Posted by on March 17, 2012 in BeBsata, Web

 

Tags: ,

Django: Part(3)

Django: Part(3)

فى المثال الذى ناقشناه فى (المرة السابقة) كان الناتج (static) اى ان شكل  الصفحة  يظل كما هو لا تتغير حتى وان قمنا بعمل (request) ، وفى هذه المقالة سوف نشاهد مثال اخر ولكن فى هذه المرة الناتج يتغير كل مرة عند عمل (request) وهذا مايسمى بال (dynamic pages) .

فى هذا المثال سوف نقوم بعرض التوقيت الحالى فى كل مرة واظهاره على الصفحة .

فى الملف (views.py) والذى قمنا بعمله فى المرة السابقة قم باضافة الكود التالى:

شرح الكود المستخدم :

اولا قمنا باستدعاء الموديول (django.http) ومنه قمنا باستدعاء (HttpResponse) لنتمكن  من ارسال الرد للمستقبل ثم قمنا باستدعاء ال (datetime) لكى نتمكن من الحصول على التوقيت الحالى من خلال السيرفر.

ثم  قمنا بتعريف دالة واعطيناها اسم (current_datetime) تقوم باستقبال ال (request) من اليوزر وتقوم بارجاع ( HttpResponse) يحتوى على (html) والذى يمثل شكل الصفحة التى يحصل عليها  المستخدم (فى المرة القادمة سوف نعلم  فى المرة القادمة بان هذه ليست الطريقة المثالية لعمل الصفحة  سوف نقوم ان شاء الله باستخدام  (Templates)  ولكن مايهمنا الان هو المتغير(now) قمنا باستخدامه فى الصفحة عن طريق خاصية (string formatting) الموجودة فى البايثون .

وفى النهاية يكون الشكل النهائى لملف (views.py) :

وكما تعلمنا فى المرة السابقة نقوم بربط الدالة عن طريق ملف (urls.py)

بعد ذلك قم بتشغيل السيرفر ، ثم قم بكتابة هذا الرابط فى المتصفح الخاص بك (http://127.0.0.1:8000/time/) ، لابد ان يظهر لك التوقيت الحالى .

Loose Coupling:

 

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

مثال :

لو اردنا تغيير الاسم الذى يقوم باستدعاء الدالة فى المثال السابق  باى اسم اخر ترغب فى استخدامه  فانك غير مضطر الى تعديل الكود نفسه ولكن كل ما عليك هو استبدال time

مثال اخر :

لو اردنا اضافة اسم اخر يقوم بتنفيذ نفس التطبيق

وسوف يظهر اهمية هذا المفهوم ايضا عند استخدامك لل templates

حين لا تقوم بادراج اى من رموز ال html فى ال views يكون من السهل التعديل فى شكل الصفحة بغض النظر عن الكود المستخدم

نتوقف عند ذلك الحد وفى المرة القادمة سوف نقوم بشرح ال templates ان شاء الله

 
1 Comment

Posted by on March 5, 2012 in Featured, Programming, Software, Web

 

Tags: ,

Django: Part(2)

Django: Part(2)

فى هذا الجزء سوف نتناول مزيد من التفصيل كيفية عمل (web app) فى الجانجو اولا  بداخل الفولدر الذى قمنا بانشائه اخر مرة والذى كان يحتوى على :

:  (__init__.py) -1

 لكى يقوم البايثون بالتعامل مع المشروع كوحدة (package)  وعادة ما يكون ملف فارغ .

:  (manage.py) -2

 

تمكنك من التعامل مع المشروع ولمعرفة ماذا يمكن فعله قم بكتابة هذا الامر في التيرمينال (python manage.py help)

 (settings.py) -3

 

يحتوى على اعدادات المشروع بصفة عامة مثل :  ( INSTALLED_APPS,TIME_ZONE , LANGUAGE_CODE,….)

: (urls.py) -4

وهو اشبه مايكون بالجدول الذى يحتوى على اسم التطبيق والدالة التى تقوم بتنفيذه ، وبعد استعراض هذه الملفات  سوف نقوم بعمل ملف جديد وليكن اسمه(views.py)  بداخل هذا الملف نقوم بكتابة الكود الاتى :

اذا اتجهنا الى الملف (urls.py) فانه يحتوى على كود يشبه التالى :

 

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

ال ^ , $ هى regular expression characters وسوف نتحدث عنها فيما بعد ، ولكن فائدة  ^  هى التاكد من ان المعطى في url يماثل البداية بمعنى انه بدونه يصبح

وفائدة $ التاكد من انه يماثل النهاية بمعنى انه بدونه يصبح

والان دعونا نتناول باختصار ماذا يحدث عند طلب Request فى هذا المثال :

1-      عند طلب Request يقوم الجانجو بالذهاب الى ROOT_URLCONF الموجود بملف settings.py ، وتكون قيمته مثلا ROOT_URLCONF = ‘mysite.urls’

2-      يقوم الجانجو بالذهاب الى ملف urls  ومنه الى urlpatternsويقوم بعمل مقارنة بين الاسم الذى تم اعطائه فى ال (127.0.0.1:8000/hello)  والاسماء الموجودة بداخل  patterns

3-      عند وجود تطابق يقوم بعمل الدالة بتنفيذ الدالة المجاورة والموجودة  فى ملف views

4-      تقوم الدالة بارجاع HttpResponse ويقوم الجانجو بتحويله الى صفحة ويب لكى  تظهر لك على ال browser

 
Leave a comment

Posted by on February 27, 2012 in Featured, Software, Web