Pokazywanie postów oznaczonych etykietą framework. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą framework. Pokaż wszystkie posty

25 kwietnia 2017

Zwycięstwo Open Source nad pospolitą komercją



Zasady w świecie otwartego oprogramowania są dość naturalne:
  • stwórz sobie projekt, który możesz zrobić lub szukasz innych chętnych do jego realizacji
  • korzystaj z kodu innych i zgłaszaj swobodnie poprawki, błędy, pomysły, uwagi
  • kontrybuuj, czyli dorzucaj kiedy chcesz swoje trzy grosze zupełnie "za darmo" do projektów
  • ciesz się życiem, sukcesami i ew. dolarami za zdobycze/osiągnięcia całego świata IT bazującego na Open Source
  • nie narzekaj, po prostu poprawiaj niedoróbki jako wolontariusz - wielu też się teraz uczy
  • inne specyficzne zależne od konkretnych prawnych licencji
Jak to bywa w wielkim świecie oprogramowania są firmy, które pokazują co produkują i takie, co ukrywają tajnie swoje kody. Do niedawna było tak, że wielcy tego świata z branży IT robili kod tylko dla siebie i pokazywali wyjątkowo fragmenty na konferencjach branżowych. Lata mijały, coraz trudniej im się wiodło i od kilku lat mają swoje konta na github.com i tam świadomie dzielą się w ramach FLOSS za darmo wyprodukowanym kodem. Również respektują przytoczone na wstępnie zasady :-)

To jest WIELKI SUKCES OPEN SOURCE, kiedy przeglądając kod takich firm jak: Google, Allegro, Zelando, Amazon, eBay, Netflix, Uber, Facebook, Apple, IBM, Redhat, NASA, NSA itd. możemy podziwiać kunszt i uczyć się od najlepszych, o ile jaramy się warsztatem programistycznym innych programistów z całego świata. 

Osobiście "pożywiam" się takim otwartym kodem na co dzień i muszę tutaj wspomnieć, że analiza statyczna, testy bezpieczeństwa, testy jednostkowe, testy behawioralne to kanony, które już stanowią podstawę publikacji wielu projektów Open Source.
Nie ma już sytuacji, że tak jak kiedyś na sourceforge.org ściągaliśmy spakowane źródła z kodem, to nie było wiadomo, czy działa, czy nie działa. Obecnie na github, gitlab, bitbucket i wielu innych sitach mamy dostęp do wysokiej jakości kodu za darmo
TAK jest to wiedza, która jest za DARMOCHĘ.
Jeśli drogi czytelniku zamierzasz zostać programistą, to musisz wiedzieć, że istnieje ogromna ilość kodu do przejrzenia, wsparcia i współtworzenia. Co wiążę się z nowymi sposobami zdobywania wiedzy, poprzez społecznościowe przeglądy naszego kodu, dyskusje z ludźmi zaangażowanymi w brażę, z pasjonatami. Koniec z nudnymi wykładowcami - taki żarcik, nie wymrą zbyt szybko - bo współcześnie każdy nowy trend w IT ma swoich zwolenników, społeczność i darmowe kursy eLerningowe.

W tej sytuacji, jeśli jakaś komercyjna firma, która nie ma udziałów w OpenSource w sensie nie dokłada swojej cegiełki, a tylko korzysta jest pozbawiona najpewniej ludzi z pasją. Bo ludzie z zainteresowaniami chętnie wspierają innych, kontrybują do Open Source i są bardzo otwarci na dzielenie się wiedzą i kodem na zewnątrz. To stoi w sprzeczności z interesami firm, które zamykają się na Open Source, więc mam taką hipotezę, że inżynierowie oprogramowania jacy do nich trafią będą mniej otwarci na NOWE technologie niżeli fanatycy zmieniającej się branży.
Dochodzimy do sedna: jeśli zatrudniasz ludzi z pasją do Open Source to wiedz, że Twoja firma dzięki takim ludziom posiada przewagę konkurencyjną. Ludzie w zamkniętych technologiach/korporacjach czekają aż jakiś support rozwiąże za nich problem, a ludzie z otwartych firm sami robią Pull Requesrty ze zmianami do używanych przez nich projektów Open Source.

Skąd te wnioski ? Z praktycznego współtworzenia kodu i społeczności Open Source m.in. tutaj http://github.com/bieli oraz z edukacji znajomych (w tym licznych klas młodzieży) w tematyce programowania i budowy systemów komputerowych.

Zachęcam tym samym wszystkich do spróbowania, załóżcie konto na GITHUB, nauczcie się GITa i spróbujcie swoich sił w bardzo silnej branży IT. Świat otwartego oprogramowania liczy na waszą kontrybucję :-) i kto wie, może tak przełomowy projekt jak jądro Linuxa, czy rozproszony system kontroli wersji GIT.

Tutaj oczywiście ukłon w stronę Open Source i wyraz szacunku, że zaufanie jakie pokładałem w otwartym oprogramowaniu ładnych ~25 lat temu współcześnie jest normalnością, standardem i koniecznością. Jest to spójne ogniwo pomiędzy wieloma firmami i freakami, gdzie widać wspólny cel, kształtowanie etyki zawodowej i realny rozwój technologii przez każdego chętnego.


Open Source dzisiaj to synonim Otwartego Spokojnego Umysłu i niechaj tak pozostanie :-)



9 grudnia 2013

Appcelerator Titanium - też możesz napisać aplikacje wieloplatformową w Java Script, PHP, Python

Pamiętam czasy rozkminiania GUI na desktopa, aby napisać swojego klienta poczty POP3. Jak również poznawanie GTK w wersji 1 i 2, borykanie się z brakiem dobrej dokumentacji i przykładów. Pamiętam też, że QT wygrało na dokumentacji i przykładach. Dodatkowo na tym, że jest wieloplatformowe. Ktoś może pamięta, że dla PHP też istniało coś takiego jak PHP-GTK i zestaw narzędzi do desktopa napisanych w PHP ! ... Albo już ludzie zajmująyc się desktopowymi aplikacjami wygineli jak dinosaury, przez co w swojej kanciapie klepią CRM w Delphi lub C++ Builderze :-) i mają z tego np: 10k radości.

Może tyle o wspomnieniach, przedstawiam Wam doczesność składającą się z aplikacji mobilnych i narzędzi do wytwarzania aplikacji na telefony komórkowe.
Isnieje całkiem pokaźny zestaw frameworkóœ i platform, które potrafią więcej niżeli pisać funkcje w kodzie. Są już pełne SaaS platforms, czyli oparte na usługach platformy, w których określamy, czy też wyklikujemy przepływy naszej aplikacji, wgrywamy szablony dla wyglądu, a wyjściem jest kod dla wielu platform mobilnych: Android, iOS, etc.
Chciałby przedstawić nowy koncept Appcelerator Titanium, jest to technologia, która pozwala storzyć apliakcje zarówno dla desktopa, mobilne i jest alternatywną technologią referencyjną do Abode AIR

br /> Mozna np: znając Java Script zaczać pisać na iPhone - bez znajomości Objective C

Cytat ze strony oficjalnej, co można uzyskać w Appcelerator Titanium:
JavaScript-based SDK with over 5,000 APIs for iOS, Android, Windows, Blackberry and HTML5.

Jakie możliwości wymienia dokumentacja:
Features

With Titanium, you use JavaScript to code your application. Titanium's compiler will compile your application code into an efficient native executable for each target mobile platform. Titanium writes native code so you don't have to. :)

Native apps built using JavaScript
Apps are compiled and run locally with full offline support
Support for native platform UI controls
Third-party JavaScript support such as jQuery, Dojo, etc.
Support for Web views incorporating HTML5, CSS etc.
Support for in-application SQL database
Support for Geolocation (compass, geolocation, forward/reverse lookup)
Support for Camera (taking Photos, playing and recording Video)
Support for Photo Album (reading and writing)
Support for Contacts Database / Address Book
Support for Streaming Audio and Recording Audio, Audio Input Levels, Mic etc
Support for Vibration
Support for Social APIs such as Facebook Connect, Twitter, etc
Support for Yahoo YQL
Support for Web Services via REST, SOAP
Support for native Maps
Support for Push Notifications
Support for in-application Email
Support for in-application SMS, Telephone
Support for Filesystem (reading, writing, etc)
Support for Gestures (such as Shake)
Support for Platform and Device capabilities
Support for complex native views such as Coverflow, Image viewers, Table views, Grouped Views, Composites, etc.
Completely extensible via Module API for building your own controls or extending capabilities at compile-time
And much, much more.

Materiały:
http://www.codestrong.com/
https://github.com/appcelerator/titanium_mobile

21 stycznia 2012

Closure - Google polubił JavaScript

Warto podkreślić fakt, że język programowania Java Script zyskuje na popularności z dnia na dzień. Firma Google jest żywo zainteresowana technologią budowania tzw. Rich Web Applications i z tego powodu stworzyła projekt closure.

Od dawna ekosystem narzędzi Google np: Developer Webtools przypomina skromne i lekkie strony HTML z dodatkiem AJAX. Podejście oferowane przez Closure przełamuje ten dramat w GUI i oferuje nam cały zestaw gotowych widżetów i bibliotek dla języka Java i Java Script, które posiadają wspólną cechę. Kiedy piszemy w Java to możemy używając otwartego kompilatora Closure zbudować wkłąd w postaci biblioteki JavaScript, która pozwoli na napisaną w Java aplikację uruchomić w świecie aplikacji webowych.

Na pierwszy rzut oka super sprawa i dość kompleksowe podejście, ale kiedy spojrzymy sobie na kodbase bibliotek i sposobu szablonowania oraz znaczących metatagów w komentarzach do kodu, aby Closure - jak należy zrozumieć - było przenoszalne pomiędzy desktop a web ... wówczas mamy zawrót głowy. A tutaj szczerze to mało szaleńców znam, którzy wykorzystują to produkcyjnie i z lekką ręką mogą to polecić jako dojrzały i łątwy do opanowania stack.

Spójrzmy co powoduje, że w ogóle Google napisał Closure i się tym chwali. Otóż jak wspominają: jest to modularny i przenośny zestaw bibliotek, wraz z kompilatorem. Możemy dzięki Closure powołać do życia aplikacje, które zostaną utworzone z reużywalnych kontrolek. Oto rekomendacje produktowe, które pokazują, że Google wytworzyło szereg potężnych narzędzi dzięki temu środowisku. Do narzędzi tych neleżą: Search, Gmail, Maps, Docs, Sites, Books, Blogger, Calendar, GOogle+ oraz Photos.

Kod closure-library został publicznie udostępniony na githubie.
Pozostaje mi życzyć, miłej lektury źródeł oraz tzw. reużywalności i ciekawych przykładów użycia Closure.

Oto przykład użycia narzędzia closurebuilder.py w celu skompilowania projektu do jednej spójnej biblioteki z kodem Java Script:

closure-library/closure/bin/build/closurebuilder.py \ --root=closure-library/ \ --root=myproject/ \ --namespace="myproject.start" \ --output_mode=compiled \ --compiler_jar=compiler.jar \ > myproject/start-compiled.js

Dla chcących dowiedzieć się, jak zbudować aplikacje z Closure oto link z Cookbookiem CLosure oraz wstępniak