الرجاء نشر الخبر حتى يستفيد اكبر عدد ممكن من هذه التطبيقه المهمة والرائعة.. ثمنها الأصلي 7$.
Though everything looks the same, more polished, quicker, more features... the inner core of UBUNTU™ fundamentally has changed. In philosphy its called paradigm shift . The result is, that everybody may now easily do his own programs as demo'd at the end of this abstract.
In former times, layouts were box oriented: Boxes in boxes in boxes. You might know this from MS Word™ editing. Placing a graphics in the text required an 'anchoring' (a fixed reference) - either in the text, so that graphics advances to follow in pages, when text was added before, or anchored on a fixed page, with text flowing around. Same within HTML. Body, text, table, table in table, graphics in table - everything follows the 'stacked boxes principle'. This philosophy you find in all kind of layouts and protocols. Old DVI (TeX output), Postscript™, PDF™, docx, xslx, pptx, XML, HTML, CSS3, SGML, XAML, JSON, BSON, YAML ... hierarchical, named trees, whereever you look. All built upon the old Lisp idea of "S-Expression" (named) trees.
Now, every functional element, that is visible on your desktop, has become an "independent object" with 'behaviour'. You might define it as an independent object 'button' and an independent object 'text' and you just tell the object 'text' to follow object 'button' in x and y coordinates. And suddenly you can move the button with your mouse and the text inside to button follows your mouse too. They now just appear as "one object".
In former times, the button could only be defined together with text. Now, the 'text' object is free to follow the 'button' rectangle. You even might give your 'text' object a delay in time to follow the 'button' object, what might look very funny.
In programming, things have fundamentally changed too. Everything now (window, scrollbar, buttons, texts, borders...) are 'free' GObject s (how they are called in GNOME GUI) or QObject s (Qt, KDE GUI).
Like a shopping list you may now simply write down, what you want to see on your screen and what objects you want to be coupled or decoupled.
For not breaking compatibility with good old code, what is #1 priority, e.g. in GNOME, some GObjects now come 'coupled' as default behaviour in the same environment/namespace/scope/behavioural group .
So, you still might still define a window with scrollbars and icons, buttons, text, graphics in the 'old fashioned' way, so that everything works as expected, like moving, rescaling... but - now you might decouple them to build more sophisticated, highly dynamic, fancy applications: So you mighht e.g. decouple and redefine your [OK] button to rotate all the time. Or blink, when you come near with your mouse pointer. Whatever is thinkable, now can be easily done!
or from outside via DOM-GObject bindings. Look out for "GObject DOM" bindings or "QObject DOM" or "hidden DOM" bindings.
Here you can see, how DOM objects in your browser now become manipulated in 'real time', following the same new, mental model in your new UBUNTU™ 14.04 graphical user interface: http://nbubna.github.io/HTML/#Demo
Now to our example. Keep the new mental model always in mind, when watching, how a complete webbrowser comes into life on just one single page with Python. See how simple now this declarative way of programming is - like writing a wishlist for christmas in a rather 'natural way' or 'human language'
Create a basic webbrowser with Python GTK: http://youtu.be/JEW50aEVi4k
Same in Vala: https://bug463438.bugzilla-attachments.gnome.org/attachment.cgi?id=93084
Here you can see, how easy it is even for beginners in C programming language to write highly animated GUIs in the "declarative way" : http://www.tuxradar.com/content/clutter-beginners-tutorial
And now for programmers, who come from C# or JAVA, an example for an addicting game, written in Vala with GNOME/Clutter, just a few pages long: Swell-foop: http://youtu.be/V6M6VNoCwkI
Very worth mentioning is QtQuick alias QML. Being totally declarative its never been easier to write platform independent code. Android™, iOS™, Windows™ 7, Mac OS X™, UBUNTU™ ... See e.g. http://marble.kde.org/dev-intro.php
Win a Bell Samsung Galaxy S5! (Contest) | MobileSyrup.com
Win a Bell Samsung Galaxy S5! (Contest)
طريقة جديدة للدخول إلى الماركت الأمريكي (بدون روت)
الكاتب : لمسات المبدعين بسم الله الرحمن الرحيم يعاني البعض من مشكلة الدخول الى الماركت الامريكي ...
Contest: Win a Nexus Wireless Charger From Droid Life! – Droid Life
Accessories · Apps · Games · Extras · Appearances · Contests · Deals · Downloads · News · Breaking · Exclusive · Humor · Interviews · Live ·