Programista .NET na MacBooku, czyli programowanie w C# pod macOS

Programista .NET na MacBooku, czyli programowanie w C# pod macOS

.NET, Programowanie

Programisto .NET! Czy warto przesiadać się na MacBooka? Z jakich narzędzi korzystać pod systemem macOS? Czy sprzęt od Apple poradzi sobie z Twoim projektem? Oto moje przemyślenia i historia kilku lat pracy na Macu 🙂

Trochę historii – początki z macOS

Pamiętam, jak kilka lat temu (okolice 2015 roku) przesiadłem się z Windowsa na pierwszego MacBooka Pro. Pracowałem wtedy na etacie pisząc głównie aplikacje mobilne w Xamarinie, o którym przeczytasz więcej w artykule Xamarin, czyli natywna aplikacja mobilna 35% taniej i szybciej.

Technicznie była to przesiadka z klasycznego Visual Studio na ówczesne…

Czytaj dalej →
Czym są zdecentralizowane aplikacje (DApps)? Po co blockchain i smart kontrakty?

Czym są zdecentralizowane aplikacje (DApps)? Po co blockchain i smart kontrakty?

Blockchain, Programowanie

Czym różni się aplikacja zdecentralizowana od klasycznej aplikacji? Gdzie i kiedy stosować blockchain? O co chodzi ze smart kontraktami? Od podstaw do architektury w kilku akapitach!

Czym jest blockchain?

Blockchain jest to specyficzny rodzaj bazy danych. Wprowadzane dane lądują w blokach. Bloki są numerowane i podpisywane za pomocą hashy tworząc łańcuch bloków.

Łańcuch bloków

Hash (podpis) to wynik funkcji skrótu obliczonej na podstawie numeru bloku, danych oraz hasha bloku poprzedniego. Wiążemy kolejne bloki podpisami, aby zapewnić ich niezmienność.

Jeśli zmienimy dane w pierwszym bloku (wystarczy jeden znak), to zmieni się jego podpis, ponieważ dane są jednym z argumentów funkcji hashującej. Gdy hash pierwszego bloku…

Czytaj dalej →
Globalne płatności w aplikacji SaaS, czyli integracja ze Stripem

Globalne płatności w aplikacji SaaS, czyli integracja ze Stripem

.NET, Programowanie, Startup

Chcesz globalnie sprzedawać oprogramowanie w modelu abonamentowym? Cyklicznie pobierać płatności i automatycznie wystawiać faktury? Wystarczy jeden system i jeden wolny wieczór…

W tym artykule opisałem integrację ze Stripem w kilku krokach!

Alternatywne rozwiązania

Dlaczego Stripe? Jest to w zasadzie bramka płatności, a nie dedykowane narzędzie do zarządzania subskrypcjami SaaS.

Mógłbym wykorzystać Chargebee, czyli typowy Subscription Billing Software. Prawdopodobnie najlepsze rozwiązanie na rynku, choć cennik nieco przytłacza… Oczywiście mógłbym skorzystać z programu dla startupów (pierwsze $50K przychodu za free) lub wypróbować tańszy odpowiednik z Indii – Pabbly.

Problem? Muszę płacić miesiąc…

Czytaj dalej →
Powiadomienia e-mail i SMS w Twojej aplikacji, czyli jak i z czym się integrować

Powiadomienia e-mail i SMS w Twojej aplikacji, czyli jak i z czym się integrować

.NET, Marketing, Programowanie

Chcesz z automatu wysłać użytkownikowi SMS lub e-mail? Informować o zdarzeniach wewnątrz aplikacji? Zwiększyć zaangażowanie lub sprzedać abonament? Zobacz, jak z gotowych usług zbudować zaplecze do obsługi powiadomień!

Obecnie budowanie aplikacji oraz dostarczanie rozwiązań IT przypomina układanie klocków. Korzystamy z gotowych bibliotek, narzędzi i usług (często chmurowych), które łączymy ze sobą produkując coś nowego. Integrujemy gotowe elementy, aby dostarczyć określoną wartość biznesową.

Nikt nie stawia własnego serwera pocztowego, aby wysyłać maila do użytkowników swojej aplikacji. Nikt nie podpisuje umowy z operatorem sieci komórkowej i nie wpina się bezpośrednio do (najczęściej) przestarzałego API, aby wysłać kilka wiadomości SMS.

OK – prawie nikt. Pomijam specyficzne zastosowania np. gdy chcesz słać potężną ilość SMS na terenie określonego kraju lub tylko do numerów danego operatora. Bezpośrednio możesz wynegocjować lepsze stawki. W tym artykule piszę…

Czytaj dalej →
Xamarin, czyli natywna aplikacja mobilna 35% taniej i szybciej

Xamarin, czyli natywna aplikacja mobilna 35% taniej i szybciej

.NET, Aplikacje mobilne, Programowanie

Chcesz wypuścić na rynek aplikację mobilną dla systemu Android i iOS? Stoisz przed wyborem wykonawcy? Technologii? A może chcesz zaprogramować ją na własną rękę? W tym artykule pokażę Ci, jak zaoszczędzić 35% czasu i pieniędzy wybierając odpowiednie narzędzia.

Rodzaje aplikacji mobilnych

Na początek ustalmy, czym charakteryzuje się natywna aplikacja mobilna. Jest to aplikacja, która wykorzystuje specyficzne dla danej platformy elementy interfejsu użytkownika (kontrolki), ma dostęp do wszystkich funkcji określonej platformy lub urządzenia oraz zapewnia wydajność na poziomie natywnym – tyle mocy i pamięci ile fabryka dała 😀 W przeciwieństwie do aplikacji hybrydowych, które najczęściej są aplikacjami internetowymi uruchamianymi wewnątrz kontenerów.

Technicznie hybryda to natywna aplikacja mobilna z jednym widokiem (kontener), który wyświetla aplikację internetową – taka przeglądarka opakowana w nazwę, ikonę i ekran startowy.

Natywne aplikacje swoim wyglądem, zachowaniem i działaniem nie…

Czytaj dalej →