Desktop vs. Web програмирање

Desktop или web програмирање?


  • Вкупно гласачи
    60

back_rest

ex mod coder
Член од
19 јули 2006
Мислења
1.590
Поени од реакции
106
Ми се дискутира на ваква тема од повеќе аспекти:
1. Кое почесто практикувате?
2. Кое е потешко/полесно?
3. Кај кое има поголем предизвик, и каде комплексноста знае да надмине големи граници?
4. Кое е поисплатливо?

Јас лично повеќе преферирам десктоп од причини што ми е некако поприродно, имам предизвик за голем број на алгоритми што треба да се имплементираат, комплексни и тешки но сепак интересни проекти и доста селфсатисфактори резултат ако се излезе како што треба.
Предосеќам дека сите ќе речат web програмирање, така да спремен сум за борба. :pishtoldz
 

Dzish

unlike any other...
Член од
15 февруари 2007
Мислења
13.994
Поени од реакции
2.687
Би рекол дека иднината е во веб..... Незнам зошто, но некако се ми оди дека ке имаме он-лајн оперативен систем, кој наместо на дестоп компјутерите ке биде на некој сервер. Како што разбрав, во јапонија провајдерите нудат терабитен интернет, така да се е можно за брзо време.
 
Член од
24 август 2007
Мислења
761
Поени од реакции
15
Десктоп, иако повеќе заработувачка има во веб... и иднината е таму...
 

deXterche

тадаммм
Член од
12 февруари 2006
Мислења
4.920
Поени од реакции
941
Мојата иднина ја гледам во веб програмирањето а и најголемите ИТ компании се комплетно сконцентрирани кон развивање на веб апликации. Веќе имаме офис онлајн, фотошоп онлајн, веб базирани оперативни системи и уште многу слични апликации што пред неколку години неможевме ни да сонуваме дека ќе се појават во веб издание. Тоа е иднината дали ни се свиѓало нас или не. А за предностите на веб апликациите споредени со декстоп и да не зборуваме...

Како од google одговараат на прашањето Desktop vs Web applications

I think it's safe to say that web applications are not going to
completely replace desktop applications, just as the car hasn't
replaced the bicycle, television hasn't replaced newspapers, recorded
music hasn't replaced live music, etc. In every case there is a
"certain something" to ensure that the older technology will retain a
secure niche.

So what defines the niche that will remain for desktop applications?
To identify that, it helps to use the web usability factors identified
by Chris Loosley of E-Commerce Times:

"To satisfy customers, a Web site must fulfill four distinct
needs: availability, responsiveness, clarity, and utility.
This list presents the four essential qualities in order of
their significance..."

E-Commerce News: When is your web site fast enough?
http://www.ecommercetimes.com/story/46627.html

At first glance, it seems like desktop applications have the edge for
availability. After all, you can use your desktop applications even
when the web server is down (or if you are not connected to the
internet at all).

But there's more to it than that. You can't use your desktop
applications when you are anywhere other than at your desktop. You
can't use them at school, at the office, on the road, on the airplane,
in another city, etc. Having your "desktop" applications on a "laptop"
is a partial solution, but it ties the availability of the application
to the physical presence of a particular piece of equipment.

A web application is usable anywhere you have a web browser. So the
web application wins for availability.

What about clarity? I agree with you that the GUI is not the key
factor here. There are web apps with rich, clear user interfaces, and
there are desktop apps with rich, clear user interfaces. Similarly,
there are appaling examples of both.

When you think about it, the browser is itself a desktop application.
When browsing the web, we are interacting with a desktop application.
Of course there are differences in the GUI toolkits available for
browser applications and for desktop applications, but each of these
toolkits is evolving to include the best of what the other has to
offer. So, although a rich, clear interface is vital, it's not the
factor that divides desktop applications from web applications.

Next, let's consider utility. Does the application do what you need?
Interestingly, Chris Loosley puts this last in his order of
importance. It's tempting to put it first, yet the most functional
application in the world is useless if it's not available, or if it's
too confusing to use. So I'm with Chris on this one: utility comes
last (but it's still absolutely essential).

So is utility the factor that sets desktop applications apart from web
applications? It's temping to say "yes", because we don't yet have any
web application that does everything that Microsoft Word or Excel can
do (although we are certainly getting close). But that's a very
one-sided way to look at the issue, when there are web applications
that simply cannot be replicated on the desktop.

A search engine such as Google cannot be implemented on the desktop.
Our individual computers do not have the power to crawl the entire
web, index it, and perform complex search queries. Nor can we have
collaborative websites such as photo-sharing sites on the desktop.

Perhaps, though, you are more interested to compare internet
applications accessed through a web browser, versus internet
applications access through a desktop application. Here it gets
interesting. Consider Google Earth on the desktop:
http://earth.google.com/
versus Google Maps on the web browser:
://www.google.com/maphp?hl=en&tab=wl&q=
Both can display maps, satellite photography, driving directions, etc,
yet the desktop application seems to be more powerful and elegant.

Google Earth versus Google Maps is only one data point however. If
internet-enabled desktop applications were substantially more
functional, we would expect to see more of them than we do. There
certainly are banks, collaborative groups, ticketing agencies and
recreational sites that use internet-enabled desktop applications, yet
there are vastly more that use browser-based applications.

Of Chris Loosley's four "needs", this now leaves only "responsiveness"
as a possible decider between web applications and desktop
applications, and I believe "responsiveness" is indeed the important
one. Chris doesn't say much about it though:

"Having reached the site, pages that download slowly are
likely to drive customers to try an alternate site."
http://www.ecommercetimes.com/story/46627.html

Is that all one can say about responsiveness? I don't think so.

Firstly, it's really important. Microsoft urges developers to steer
away from unresponsive pauses in the operation of their applications:

"This leads the user to attempt to terminate the application ...
or even to reboot the computer. Usability studies conducted by
Microsoft show that even periods as short as a few seconds are
too long for many users."

Make It Reliable
http://msdn.microsoft.com/windowsvista/prodinfo/what/reliability/default.aspx

Right now, most desktop applications are more responsive than their
web equivalents. That's not surprising, considering that the bandwidth
between the computer and its hard drive could easily be a hundred
times higher than the bandwidth between the computer and the server.

Also, desktop applications are likely to be written in an efficient
compiled language whereas web applications will be using an
interpreted scripting language for user interface operations. So,
unless the application has a particularly high computational overhead,
the desktop version is likely to be more responsive.

Communication speeds are increasing, however, and in the future we can
expect the gap between local response times and internet response
times to continually narrow. That's not enough though, and here we get
to what I believe is the essence of the situation.

It's not the absolute response time that is most important; it's how
predictable the response time is. Given a choice between an
application that always responds in half a second, or one that
responds mostly in a tenth of a second but sometimes only after two
seconds, users will choose the first application.

It's the variation, the unpredictability, in the response time of a
web application that makes a desktop application feel smoother to use.
To some extent, an unpredictable response time is inevitable with a
web application. There are always going to be unknown delays in
communication over a complex network; those delays are greater and
less predictable than those due to communicating to and from a local
hard drive.

Also of some relevance to your question is an observation that modern
web applications result from a meshing of two technologies - the web
as a hypertext information space (as originally conceived), and the
web as a link between the client and server of a specific application
(as frequently found in web applications). This dichotomy, whilst
extremely powerful, can make the web application less than fully
satisfactory in terms of access to hyperspace and also in terms of a
user interface to a single application. This dichotomy is illustrated
by an annotated diagram in this PDF page by Jesse James Garrett:

The Elements of User Experience
http://www.jjg.net/ia/elements.pdf

which is also available as part of a book by the same name:

The Elements of User Experience
http://jjg.net/elements/

At this point, klaus777-ga, I would like to know whether you find it a
satisfying hypothesis that desktop applications gain their usability
edge due to the predictability of their responsiveness.

If you accept this hypothesis, do you need me to take it any further?
If not, please state why it is not acceptable in order to guide my
further research. Just let me know by using the "Request for
Clarification" feature.

In closing, I would like to add two further points.

First, you mentioned that you found Thunderbird more functional
because it managed all of your email accounts in one place. That's
certainly an important factor, but it's not one that's fundamental to
a desktop application. For example, you could have five accounts all
configured to forward to one Gmail account
http://gmail.google.com/
from which you could manage all of your accounts using the Gmail web application.

Secondly, I believe that we will see an explosion in hybrid
desktop-web applications over the next few years. By that I mean
applications that will operate as a desktop application when you are
on your own computer. When you are on another computer (or a mobile
phone etc) you will be able to access the same (or very similar)
functionality as a web application. Your same data files will be used
in each case: either the desktop copy or the webserver copy will be
considered the "golden" copy, with other copies transparently
duplicated, cached and synchronised on demand.

As I said above, please let me know if you require clarification or
additional research.

Regards,
eiffel-ga
 
Член од
19 септември 2005
Мислења
5.616
Поени од реакции
180
Се е кажано погоре

WEB програмирање!
 

back_rest

ex mod coder
Член од
19 јули 2006
Мислења
1.590
Поени од реакции
106
Пак ве лажат комунистите!!!! :)
Оф, туку нејсе, имам мислење дека web програмирањето има добри шанси да ја убие уметноста на тоа да се биде програмер. Се повеќе и повеќе ќе излегуваат гуруа за web-апликации кои неретко ќе незнаат да спојат два фор циклуси или нешто слично.
Каде пример во некоја web апликација што ја имате работено ќе го сретнете следново:
- функционално наследување на класи
- ПОЛИМОРФИЗАМ!
- интерфејси, апстрактни класи
- ambiguity
- backtracking, dynamic programming, heuristic
- lists, maps, multimaps, sets, multisets (ај ова можеби ќе се сретне, ама ретко)
- ...

Што треба да се знае за да се биде web програмер (зборам за нивоа за градење на портал, форум или нешто слично т.е. средна класа апликации):
- html
- css
- скриптен јазик (perl, php, ruby, python) и мала количина функции пред се за: работа со бази на податоци, обработка на текст, дати и echo.
- примитивна работа со бази на податоци.
 
Член од
19 септември 2005
Мислења
5.616
Поени од реакции
180
Ми се дискутира на ваква тема од повеќе аспекти:
1. Кое почесто практикувате?
2. Кое е потешко/полесно?
3. Кај кое има поголем предизвик, и каде комплексноста знае да надмине големи граници?
4. Кое е поисплатливо?
Ајде малку да образложам зошто...

1. Web. Работам аутсорсинг или web страни за Македонија, и 99% од случаите.. бараат WEB.
2. Web е полесно, попрактично, повеќе можност за повеќе луѓе да видат полза од апликацијата... значи повеќе наменето за поопшт пазар.
3. Предизвик, зависи што сметаш за предизвик. Искрено, кажав потешко е desktop повеќе фактори на кои треба да мислиш, повеќе мозгање. Но мене исто ми е предизвик да направам квалитетен дизајн, да направам апликација која ќе ја користи секој, со само типкање на неколку букви (линк до страната). Како што кажа Декстерче... сакале нејќеле... се движиме кон Online (одбери збор). Значи се станува Оnline. Во се повеќе фирми во САД практикуваат компјутери со САМО browser и цела работа ја прават online.
4. Поисплатливо... она за кое има повеќе работа. WEB
 

deXterche

тадаммм
Член од
12 февруари 2006
Мислења
4.920
Поени од реакции
941
Пак ве лажат комунистите!!!! :)
Оф, туку нејсе, имам мислење дека web програмирањето има добри шанси да ја убие уметноста на тоа да се биде програмер. Се повеќе и повеќе ќе излегуваат гуруа за web-апликации кои неретко ќе незнаат да спојат два фор циклуси или нешто слично.
Каде пример во некоја web апликација што ја имате работено ќе го сретнете следново:
- функционално наследување на класи
- ПОЛИМОРФИЗАМ!
- интерфејси, апстрактни класи
- ambiguity
- backtracking, dynamic programming, heuristic
- lists, maps, multimaps, sets, multisets (ај ова можеби ќе се сретне, ама ретко)
- ...

Што треба да се знае за да се биде web програмер (зборам за нивоа за градење на портал, форум или нешто слично т.е. средна класа апликации):
- html
- css
- скриптен јазик (perl, php, ruby, python) и мала количина функции пред се за: работа со бази на податоци, обработка на текст, дати и echo.
- примитивна работа со бази на податоци.
А тек асемблер да работиш, brain usage 99.9%:vozbud:
Се што наброи погоре можеш да го искористиш и во веб апликации (не е само форум и портал, туку буквално се што ќе ти падне на памет (има цел OS во веб издание ти текнува :wink:))
 

back_rest

ex mod coder
Член од
19 јули 2006
Мислења
1.590
Поени од реакции
106
Ајде малку да образложам зошто...

1. Web. Работам аутсорсинг или web страни за Македонија, и 99% од случаите.. бараат WEB.
2. Web е полесно, попрактично, повеќе можност за повеќе луѓе да видат полза од апликацијата... значи повеќе наменето за поопшт пазар.
3. Предизвик, зависи што сметаш за предизвик. Искрено, кажав потешко е desktop повеќе фактори на кои треба да мислиш, повеќе мозгање. Но мене исто ми е предизвик да направам квалитетен дизајн, да направам апликација која ќе ја користи секој, со само типкање на неколку букви (линк до страната). Како што кажа Декстерче... сакале нејќеле... се движиме кон Online (одбери збор). Значи се станува Оnline. Во се повеќе фирми во САД практикуваат компјутери со САМО browser и цела работа ја прават online.
4. Поисплатливо... она за кое има повеќе работа. WEB
Хехе, ова за предизвикот. Веб апликација без некоја посебна бизнис логика ја сведувам на ниво на документ. Значи пенал работа со само различен интерфејс и графика. Останатото е 99% исто.
Веб апликација со солидна логика (пример планер, дизајнер, CAD) со масовна потреба за AJAX, JScript и тежок механизам за синхронизација на барањата како и дистрибуција на информациите е веќе нешто. Нешто што не би ми било вреѓање за струката. Пример, градевме веб апликација Calendaring за менаџирање на ресурсите (луѓе, простории, уреди) и планирање на состаноци во рамки на една компанија. Еден месец солидна работа на тим од четворица се сведе на готови само 20% од барањата. Сеуште до ден денес има работи кои не можам да ги сконтам и не знам како да ги имплементирам. Ова е веќе нешто. Ако овој надуен принцип на бидување на се онлајн евентуално успее, парите лежат во вакви ствари.
 

back_rest

ex mod coder
Член од
19 јули 2006
Мислења
1.590
Поени од реакции
106
А тек асемблер да работиш, brain usage 99.9%:vozbud:
Се што наброи погоре можеш да го искористиш и во веб апликации (не е само форум и портал, туку буквално се што ќе ти падне на памет (има цел OS во веб издание ти текнува :wink:))
Yes dex. Сепак наведов средна (може и према ниска) класа на веб апликации. Ако има некој ептен амбициозен овде и да го прави наредниот web mail на yahoo или гугл мапс, риспект индиид. Ама до таму треба „котари пченка“ да изеде. :)
 
Член од
19 септември 2005
Мислења
5.616
Поени од реакции
180
Сум имал сличен проблем. Имав десктоп апликација, и барањето на клиентот беше да се имплементира (конвертира) во Web опкружување. Имав солидни 2 месеци работа, но на крај сум презадоволен од тоа што испадна. Апликацијата беше за сметководствени потреби, како и wizard апликација, која помага за да се направи решение за една специфична област... и сето тоа за повеќе клиенти.

Без разлика дали е десктоп, или веб, апликацијата имаше и тоа каков предизвик...
 

back_rest

ex mod coder
Член од
19 јули 2006
Мислења
1.590
Поени од реакции
106
Забега муабетот малце.
Океј, не е финтата сега да си ги мериме. Причината поради која што го напишав првиот пост кој ја крена целава дискусија сега е невиденото самозадоволство и чувство на нирвана на одредени особи кога ќе научат неколку функции во php или ќе совладат gridview во asp.net.
Програмер, кодер поконкретно, се мери во квалитетот и познавањето на алгоритмите, како и брзината на излезениот резултат. Секоја поозбилна фирма ги тестира кандидаите на ова а не на познавања на одреден јазик или технологија. За сериозен програмер, новиот јазик или околина треба да биде мачја кашла.
Девелопер се мери во квалитетот на архитектурата на изграденото, задоволените потреби, перформансите, скалабилноста и пред се цената на финалниот продукт. (како пример, знам дека еден сајт мислам tweeter или tweater, не знам како беше сигурно, целата архитектура му падна во вода само затиоа што самобендисаните програмери користеле ruby).
Муабетот ми е, патот до солиден web developer и прилично тежок. Граница која што мора да се помине за да се стекне искуство и смисол за градба на апликации пред се е десктоп програмирањето. Не може оп троп, вчера ништо, денес php гуру. Ааа јок.
Сепак, само мое мислење.
 
Член од
19 септември 2005
Мислења
5.616
Поени од реакции
180
Муабетот ми е, патот до солиден web developer и прилично тежок. Граница која што мора да се помине за да се стекне искуство и смисол за градба на апликации пред се е десктоп програмирањето. Не може оп троп, вчера ништо, денес php гуру. Ааа јок.
Сепак, само мое мислење.
Се сложувам. Не мора само десктоп програмирањето да е патот. Објектното програмирање е многу поважен пат. Но познавам многу такви кои го прескокнале тој пат... за жал. И не верувам дека од нив ќе испадне добри wbe девелопери
 

back_rest

ex mod coder
Член од
19 јули 2006
Мислења
1.590
Поени од реакции
106
Се сложувам. Не мора само десктоп програмирањето да е патот. Објектното програмирање е многу поважен пат. Но познавам многу такви кои го прескокнале тој пат... за жал. И не верувам дека од нив ќе испадне добри wbe девелопери
Контекстуално се подразбира. На ова повеќе мислев.
 
Член од
22 февруари 2007
Мислења
7.076
Поени од реакции
1.940
Се сложувам. Не мора само десктоп програмирањето да е патот. Објектното програмирање е многу поважен пат. Но познавам многу такви кои го прескокнале тој пат... за жал. И не верувам дека од нив ќе испадне добри wbe девелопери
Не мораат да ги следат принципите. Многу од веб девелоперите не се некои гуруа за програмирање т.е. се далеку од тоа. Арно ама научиле неколку циклуси тагови , повици до база и крај. Можат да склопат некоја едноставна апликација за неколку дена. Не викам дека ќе биди којзнај колку јака ама ќе ја има потребната функционалност и пред се вади пари.
За десктоп апликации можи да биди дурии и полесно ако се земи во предвид колку добри визарди постојат. И програмирањето се сведува на куцање 2-3 линии на код за соодветните евенти.
И во двата случаи без доволно вештини и познавања можи лесно да се заглави и да ги давиш другарчињата како да го напрајш следниот чекор.
 

Kajgana Shop

На врв Bottom