Какви танкове биха произвеждали производителите на смартфони

Какви танкове биха произвеждали производителите на смартфони.

iTank от Apple:
1. стилен бял танк с футуристичен дизайн, заоблени краища, с ябълка на купола.
2. остарява по-бързо, отколкото се движи.
3. струва колкото 20 китайски аналога, но за разлика от тях не може да лети и да прави палачинки.
3. снарядите са по 1.99, 5.99 и 9,99 евро.
4. при опит да влезе в хангара може да се изчезнат боеприпасите, да изтече горивото или да отреже краката на командира, който после може да се купи за 29.99.
5. при технически преглед от неоторизирано от производителя лице, може да ви кажат, че това не е танк, а кофа с цаца, може да се превърне отново в танк срещу 29.99.
6. при опит да се зареди с неоригинално гориво отрязва не само краката на командира, но и ръцете му.
7. при покупката му се записвате в секта, от която не може да се излезе.

Танк с Android
1. танк като танк, ъгловат, от евтини материали, цветове по избор: черен, светло черен, тъмно черен.
2. никога не върви на където трябва.
3. предлага избор от 250 безплатни екипажа: 200 от тях са глухонеми, 40 не умеят да управляват точно този модел танк, останалите 10 постоянно искат пари, припадат и получават пристъпи.
4. непрекъснато му изчезва горивото.
5. след технически преглед или ремонт може да се самопростреля в купола, след което не подлежи на възстановяване.
6. на дулото може да се закрепи фенерче, да се смени цвета на интериора, както и половата принадлежност на екипажа.
7. по време на смяна на двигателя с нов има 70% шанс боеприпасите да се взривят и 100 % екипажа да се контузи.

Танк с Windows mobile
1. всъщност това е самолетоносач.
2. но не плава.
3. и няма самолети, но пък има вериги.
4. екипажът е един и същ, но проблемите винаги са нови.
5. командирът на танка може да е два вида: контузен или глухоням.
6. в произволен ред наранява екипажа, дулото му се огъва, изтича му горивото или стреля по съюзниците.
7. преди ремонт работи отвратително, след това не работи.

Китайски танкове.
1. има всякакви видове, размери, цветове, но за съжаление няма в наличност.
2. струват колкото нови маратонки.
3. екипажът не говори български, при опит да бъде обучен на чужд език се опитва да се застреля.
4. стреля, но не където трябва, върви, но не както трябва, може да лети, но не може да се управлява, прави палачинки, но не спазва рецептата.
5. след две седмици престава да работи.
6. няма гаранция.
7. трябва да му се смени всичко, което подлежи на смяна, след което става като танк с Android.
8. при технически преглед се оказва, че е направен от картон, напълнен с камъни за по-голямо тегло, никой няма представа как работи.

Танк Unix.
1. изпращат ви кутийка.
2. в кутийката има гаечен ключ, пила и 1600 страници ръководство.
3. …за това как се строи звезда на смъртта.
4. получава се мотопед.
5. продължавате да ремонтирате мотопеда цял живот.

HTML5 Android Cordova

Преди няколко седмици се включих в курс по програмиране на HTML5 за Android, който се води от моя приятел Леон Анави.

В курса се запознаваме с технология, за която бях чувал, но не бях пробвал – хибридни приложения за мобилни устройства.

Хибридни приложения

Хибридните приложения са уеб приложения, написани на HTML, CSS, JavaScript, които се изпълняват на мобилно устройство. Мобилните платформи не позволяват директно използване на HTML, CSS, JavaScript за да си направите приложение. Затова се прави следния трик:

  1. Пишете си приложението на HTML, CSS, JavaScript, така, както бихте го писали да се изпълнява в web browser – Google Chrome, FireFox, Internet Explorer.
  2. Когато дойде време да качите приложението на мобилно устройство, то се пакетира с Web Browser control. Реално, мобилното ви приложение е един Web Browser, като този browser изпълнява вашия HTML, CSS, JavaScript код, които са включени в пакета на приложението.
  3. Потребителя на приложението не забелязва, че това е уеб приложение. За него то изглежда като нормално приложение за мобилното устройство.

Архитектурно така изглеждат нещата:
cordova-phonegap-encryption

Предимства

Идеята е добра и има следните предимства (нa теория):

  • Пишете кода веднъж, ползвате го на много мобилни платформи
  • Лесно за разработване – използват се масовите технологии HTML, CSS, JavaScript
  • Следствие от горното е, че има много уеб програмисти, които няма нужда да се квалифицират за всяка отделна платформа.

Недостатъци

  • Светът на мобилните устройства е доста разнообразен. Оказва се, че Web Browser Control-а, който се използва на всяка платформа, се доставя от самата платформа. А всяка платформа реализира по различен начин HTML5 стандарта.
  • JavaScript, който изпълнявате в Web Browser Control-а има ограничен достъп до устройството. За достъп до неща като: камера, GSP, Accelerometer се използват специални плъгини. Не е сигурно дали тези плъгини работят еднакво на всички платформи.
  • Следствие от горното е, че ако искате приложението да върви на много устройства, все пак ще трябва да се съобразите с различните особености и да напишете съответния код.
  • Езикът за програмиране е JavaScript. Това не е език, на който можете лесно да напишете сложно приложение. За малки и сравнително прости проекти – върши перфектна работа. Но ако искате нещо по-сложно е трудно проекта да се направи и след това поддържа.
  • Следствие от горното е, че приложението може да работи много бавно и да консумира много ресурси на устройството.

Знаех за горните предимства и недостатъци и принципно как работи идеята. Но не знаех на практика как се случват нещата.

Разглеждаме платформата Apache Cordova, като се фокусираме на приложения за Android.

Първи впечатления

  1. Сравнително лесно за инсталиране на платформата за разработване
  2. Широка поддръжка на платформи на които да разработвате приложенията – Windows, Mac, Linux
  3. Широка поддръжка на платформи за които да правите приложения – Android, iOS, Windows Phone, Windows desktop, Ubuntu, Mac OS X, Balckberry и други
  4. Добра документация
  5. Сравнително лесно се пише приложение

Освен това открих, че има много приложения направени на Apache Cordova (PhoneGap е комерсиалната версия на Apache Cordova), което показва, че платформата е популярна.

Инсталиране на Apache Cordova

Оказа се, че хората са се потрудили и инсталацията на Apache Cordova е лесна. Много бързо, без особени затруднения се стига до създаването на “Hello World” проект, който после лесно се модифицира според вашите нужди.

В Интернет е пълно с ръководства, как да се инсталира, но ще го напиша тук за да ми напомня на мен как се прави 🙂

Инсталирате:

  1. Android Studio – няма да го използвате да пишете кода, но то ще инсталира Android SDK, което ви трябва за да правите приложение на Cordova за Android
  2. Node.js – с него се инсталират следващите компоненти
  3. Cordova

    npm install -g cordova

  4. Ripple – емулатор с който можете да пускате приложенията в web browser. Така лесно се дебъгват и тестват.

    npm install -g ripple-emulator

  5. Създаване на Cordova проект

    cordova create project-folder com.yourname.project-name Project-Name

  6. Добавяне на Android като платформа към проекта

    cd project-folder
    cordova platform add android

Това е. Сега взимате любимия си текстов редактор и започвате работа.

 

ПС: Леоне, благодаря за курса 🙂

Мобилни приложения, които комуникират

Тукс – символът на безплатния софтуер с отворен код

Знате ли кой е Тукс (Tux) ? Това е пингвинът, който е официален символ на Линукс – безплатната операционна система, която е и с отворен код. Пингвинът се е превърнал в символ на всички безплатни и с отворен код софтуерни приложения.

Тази събота и неделя имахме конференция TuxCon посветена на безплатния и с отворен код софтуер за мобилни, вградени и устройства за обличане. Лектори, специалисти в различни области споделиха опит и визия отностно технологиите.

Една от лекциите я водих аз, като темата беше “Мобилни приложения, които комуникират”. Споделих опита, който натрупахме при прехода ни от дестоп приложения, към мобилни. Основният ни продукт Бросикс, започна като комуникационно приложение за Windows, после добавихме Mac и Linux – все десктоп операционни системи. Когато решихме да добавим мобилните Android и iOS, срещнахме нов свят, където старите принципи и начини на работа не работят така, както очакваме. По-късно направихме друго мобилно приложение, което комуникира – GuestVista. В тридесетте минути, които ми бяха дадени, се опитах да споделя целия ни опит и да дам насоки в които колегите да работят, когато проектират и изграждат своите мобилни приложения, които комуникират.

Това е видео-запис на презентацията, а тук можете да видите всички презентации от конференцията.

Ето самата презентация в PDF формат.

 

Конференцията беше много интересна с теми, които засягат важни области от света на мобилните и вградените устройства. Запознах се с хора от различни градове на страната, Гърция и Турция, обменихме идеи или просто общувахме. В неделя имахме практическа част, в която участниците имаха възможност да се докоснат до света на вградените устройства. Беше ден посветен на хардуер.

Благодаря на организаторите за перфектната организация и се надявам скоро да има нови издания, които да популяризират добрите практики в разработването на приложения за мобилни устройства, вградени устройства и новите, набиращи популярност устройства за обличане.

Ето снимки от конференцията

Смартфон или напредъка на технологиите – 2

От януари 2010 ползвам смартфон Google Nexus One. От около 3 месеца съм с още един смартфон – iPhone 4. Освен неудобството да се движа с два телефона, това ми дава рядката възможност пряко да ги сравня в ежедневна употреба. Основната причина да ме интересува подобно сравнение е изключителната популярност на iPhone серията и факта, че Android платформата набира все повече позиции. Бих могъл спокойно да кажа, че светът на смартфоните се дели на две: iPhone и Android. Естествено има и други, които се опитват да играят на този пазар, но тяхното влияние е малко.

Сравнението между iPhone 4 и Google Nexus One не може да е напълно обективно, защото iPhone 4 излезе в продажба почти година и половина след Nexus One телефона. В света на компютрите и електрониката, това е невъобразимо дълго време. Но въпреки тази разлика, има фундаментални неща заложени в идеологията на всяка платформа, които се променят трудно с времето.

iPhone е марка на една компания – Apple. Android е платформа, водена от Google, но телефони за тази платформа произвеждат много компании – HTC, Samsung, Sony Ericsson, Motorola и др. Това от една страна показва силата на марката iPhone, но от друга поставя силни предизвикателства пред нея.

Приложения

Смартфона е смартфон заради приложенията (софтуера). Ако приложенията са добри то и смартфона е добър.

Android приложенията се изтеглят от сайт наречен Android Market. Там е пълно с платени и безплатни приложения. Количеството публикувани приложения е такова, че човек има усещането за необятен океан. Има приложения за почти всичко за което можеш да се сетиш, а и за неща за които не си и сънувал. За всяко приложение има отзиви и коментари от потребители, заедно с рейтинг и ревю.

iPhone приложенията се изтеглят от сайт наречн App Store. Там също има много приложения. Но сякаш са по-малко. Има типове приложения, които не се намират на App Store, но ги има на Android Market. Рядко виждам някое приложение да има коментари от потребители, да е оставен рейтинг или ревю. Имам усещането, че аз съм единствения, който ползва iPhone и търси нещо на App Store.

До тук 1:0 за Android.

Лекота на работа

Без съмнение, работата с iPhone е много по-лека. Екрана е много по красив. Анимациите са някак по-пъргави, по-красиви. Батерията издържа невъобразимо по-дълго време отколкото на Nexus One. Това може да се дължи на по-новата технология на хардуера.

До тук 1:1

Свързаност

Съвременния свят се движи стремително към глобализация. Това за компютрите означава свързаност с интернет, свързаност с други компютри и мобилни устройства и интеграция на услуги.

Благодарение на множеството приложения Android е отворен, свързан, комуникира с всичко и по всякакви възможни начини.

iPhone е затворен. Ако искаш да свалиш снимките от телефона ти трябва връзка с USB кабел с компютър. Ако искаш да синхронизираш контактите си, освен че трябва да се свържеш с USB кабела към компютъра, на компютъра задължително трябва да има инсталирана програмата iTunes. Цялостното усещане е за затвореност, за ограниченост.

До тук 2:1 за Android

В заключение мога да кажа:

Android има много повече възможности. Човек може да направи повече неща с него. Но имам усещането че тази негова страна се оценява основно от хора с технически наклонности.

iPhone има изключителен дизайн. Много е красив, работата с него е удоволствие. Изпълнението на задачите е канализирана. Потребителят не може да се отклони от “правия” път. Цялото усещане е че iPhone е много по-стилен и елегантен.

За времето от както имам Android телефон редовно получавам обновяване на Android платформата. Това което забелязвам е че тя се движи в посока iPhone – оптимизиране използването на ресурсите, лекота на работа. В същото време запазва своите предимства – богат набор от приложения, отвореност, свързаност.

За времето от както имам iPhone телефон, успях да получа няколко обновявания на операционната система. Последното беше днес, телефона се обнови до версия 5.0 на iOS. Това което забелязвам, е че iPhone се движи в посока Android – отвореност, свързаност с Интернет. В същото време iPhone запазва своите уникални предимства – изключителен дизайн на приложенията, лекота на работа.

Ако трябва да препоръчам какво да си вземете, мога да кажа следното:
Ако обичаш компютри, ако си на ти с техниката – взимай Android.
Ако не си в горната категория, няма да оцениш преимуществата на Android телефоните, затова може да си вземеш iPhone.

Android телефон и край на разговор

On Call End icon

Телефоните с Android са много интересни и мощни играчки. Но, поне моя телефон Google Nexus One е повече компютър отколкото телефон. Предполагам затова има една странна функция – всеки път когато разговор по телефона приключи, телефона отваря екрана с историята на повикванията (call log). За какво ми е да видя че преди малко съм говорил със съпругата ми? Нали точно преди една секунда затворих? Много ме дразнеше това поведение на телефона.

Затова седнах и направих една програма за Android, която следи за приключени разговори и когато разговора приключи, вместо да отвори екрана с историята на разговорите, отваря екран по мой избор. Вече два дни съм с тази програма и се наслаждавам колко удобен стана телефона 🙂 Публикувах я на Android Market и за по-малко от два дни има 400 изтегляния. Програмата се казва “On Call End”. Ако искате да я ползвате, просто въведете в полето Search на Android Market “On Call End” и следвайте инструкциите.

On Call End settings
On Call End settings
On Call End Options to navigate after a call
On Call End Options to navigate after a call