aplikację Brush Tracker w 3 dni bez wcześniejszego doświadczenia z Swiftem, głównym językiem programowania do tworzenia aplikacji na iOS. Chociaż mam w pełni funkcjonalną aplikację dostępną w App Store, nadal mam bardzo małą wiedzę na temat Swifta, ponieważ do jej opracowania użyłem „kodowania wibracyjnego”.
W tym artykule wyjaśnię proces, narzędzia AI, z których korzystałem oraz podzielę się niektórymi moimi spostrzeżeniami i spostrzeżeniami.
Wszystko jako droga alternatywa
Wcześniej korzystałem z Lovable do tworzenia aplikacji internetowych, ale nie wydaje się, aby była to opcja do tworzenia aplikacji mobilnych, przynajmniej na razie.
Istnieją alternatywy dla Lovable do tworzenia aplikacji. Niedawno natknąłem się na narzędzie o nazwie Everything i ponieważ miałem tak dobre doświadczenia z Lovable, postanowiłem spróbować rozwinąć moją aplikację. Na początku wydawało się, że działa dobrze, ale ogólne wrażenia nie były tak skuteczne, jak się spodziewałem.
Najtrudniejsze było to, że nie mogłem od razu przetestować wprowadzonych zmian, poprawek i ulepszeń. Wszystko ma wbudowany interfejs użytkownika do testowania, ale doświadczenie nie było płynne. Kieruje również do przetestowania kodu za pomocą aplikacji Expo, ale to też nie zadziałało w moim przypadku.
Muszę wspomnieć, że nie miałem żadnego doświadczenia w tworzeniu aplikacji. Dla programistów lub każdego, kto ma doświadczenie w kodowaniu, Everything może być prawdopodobnie bardziej produktywnym narzędziem niż dla mnie.
Wyeksportowałem kod z Everything i próbowałem przetestować go w Xcode na moim Macu, ale pojawiło się wiele błędów i nie mogłem go uruchomić. Dlatego zdecydowałem się skorzystać z alternatywy. Wskaźnik wydawał się oczywistym wyborem.
Wskaźnik
Słyszałem bardzo dobre rzeczy o Cursorze od wielu znajomych, którzy aktywnie z niego korzystają. Chciałem spróbować sam.
Użyłem tego samego zapytania w Cursorze i poprosiłem go o utworzenie aplikacji. Następnie utworzyłem projekt XCode z folderami i plikami wygenerowanymi przez Cursor. Uruchomiłem symulator na XCode i zadziałał za pierwszym razem.
Celem Brush Tracker jest pomóc Ci zachować spójność w codziennym szczotkowaniu. Daje wynik czystości zaczynający się od 100%. Jeśli pominiesz jeden dzień, wynik spadnie, a Twoje zęby zaczną wyglądać w aplikacji na żółtawe, co odpowiada wynikowi czystości.
Uwaga: wszystkie obrazy użyte w tym artykule zawierają zrzuty ekranu z mojej aplikacji Brush Tracker.
Pierwsza wersja zawierała tylko główną funkcję aplikacji. Myślę, że to najskuteczniejszy sposób tworzenia produktów przy użyciu narzędzi opartych na sztucznej inteligencji. Uruchom pierwszą wersję przed dodaniem funkcji.
Aby przetestować podstawową funkcję aplikacji na symulatorze, musiałem zmienić datę symulatora bez ukończenia „dzisiejszego mycia zębów”, aby sprawdzić, czy wynik czystości spadnie i czy wizualizacje zębów zostaną zaktualizowane zgodnie z oczekiwaniami.
Kursor sugerował zmianę daty w symulatorze XCode, ale symulator nie ma już ustawienia daty i godziny. Starsze wersje symulatora XCode miały to ustawienie, ale już nie.
Rozwiązaniem była zmiana daty na moim komputerze Mac. W ten sposób zmieniła się także data na symulatorze i mogłem przetestować tę funkcję.
Jedną rzecz, którą zauważyłem, było to, że kiedy zmieniałem datę na komputerze Mac, kursor nie widział mojego konta i nie działał. Wszystko wróciło do normy gdy ustawiłem datę na automatyczną.
Funkcja timera
Wbudowany timer szczotkowania wydawał się świetnym dodatkiem do narzędzia Brush Tracker. Użytkownicy mogą z łatwością oznaczyć sesję szczotkowania jako zakończoną lub użyć timera podczas szczotkowania.
Zajęło mi kilka prób, aby ta funkcja działała zgodnie z zamierzeniami. Możesz po prostu powiedzieć Cursorowi, aby dodał tę funkcję, ale działa ona znacznie lepiej, gdy dostosujesz zapytanie i dokładnie wyjaśnisz, czego chcesz. Kiedy podasz jasne instrukcje, Cursor zazwyczaj wykonuje świetną robotę.
Funkcja nagród
Chciałem dodać dodatkową motywację, gdy użytkownik zakończy codzienne szczotkowanie. Po ukończeniu sesji mogą kliknąć „Wygraj codzienną nagrodę” i zobaczyć krótki cytat motywacyjny. To drobny szczegół, ale miła pamiątka dla zdrowia zębów.
Właściwie możesz się uczyć podczas kodowania wibracyjnego
Kursor nie tylko pisze kod, ale także pomaga w nauce. Kiedy próbowałem dodać funkcję nagrody, początkowo implementacja nie przebiegała prawidłowo. To nie działało prawidłowo.
Opisałem problem Cursorowi, a on wyjaśnił, co jest przyczyną problemu i jak go naprawić. Oto dwa przykłady tego, jak wskaźnik może pomóc w nauce:
Problem polega na tym, że nagrodaQuote jest pusta przy pierwszym dotknięciu, ponieważ ustawia ją handleRewardTap(), ale arkusz jest natychmiast wyświetlany. Przed wyświetleniem arkusza muszę się upewnić, że cytat jest ustawiony.
Rozwiązano problem! Problem polegał na tym, że showReward = true jest ustawione zaraz po RewardQuote, ale prezentacja arkusza SwiftUI może nastąpić przed pełnym przetworzeniem aktualizacji stanu.
Efektywniej korzystaj z kursora
Wskaźnik to świetne narzędzie, ale istnieje kilka sposobów, aby zwiększyć jego skuteczność.
Załóżmy, że kod nie powiedzie się lub nie zostanie wykonany poprawnie. Jeśli wiesz, na czym polega problem, zaznacz tę sekcję i dodaj ją do czatu. Zdecydowanie ułatwia to Cursorowi rozwiązywanie problemów.
W Brush Trackerze miałem problemy z ustawieniem powiadomień. Zdefiniowałem problem i poprosiłem Cursora o jego rozwiązanie. Kursor powiedział mi, że problem został naprawiony, ale problem nadal występuje. Następnie na podstawie zmian w kodzie znalazłem miejsce, w którym występuje problem, i dodałem tę część do czatu.
Kursor naprawił to w następującej próbie: Problem polega na tym, że onTapGesture jest stosowany do Pickera, ale w SwiftUI segmentowane selektory nie zawsze dobrze reagują na gesty stuknięcia, ponieważ mają własną wewnętrzną obsługę gestów. Modyfikator onChange jest uruchamiany tylko wtedy, gdy wybór faktycznie się zmieni, a nie po dotknięciu tej samej wartości.
Kolejną rzeczą wartą wspomnienia jest procent „używanego kontekstu” w Kursorze. Automatycznie pobiera odpowiedni kontekst z bazy kodu, więc nie musisz mówić mu, które pliki ma przeglądać. Ale historia czatów jest również uwzględniona w tym kontekście i czasami zawiera stare problemy lub nieistotny kod.
Ten dodatkowy bałagan może zwiększyć użycie tokena lub sprawić, że Kursor będzie mniej wydajny. Gdy wzrasta procent użytego kontekstu, usuwam historię czatów.
Dystrybucja Twojej aplikacji w App Store
Po zakończeniu testowania aplikacji przy użyciu symulatora lub urządzenia fizycznego (np. własnego iPhone’a) nadszedł czas, aby rozpowszechnić aplikację w sklepie App Store, aby inni mogli ją zobaczyć (i, miejmy nadzieję, używać) Twojej aplikacji.
Nie jest to skomplikowany proces, ale zawiera wiele szczegółów, co może zająć trochę czasu, szczególnie jeśli robisz to po raz pierwszy. Znalazłem film na YouTube, który jasno wyjaśnia cały proces krok po kroku.
Po wykonaniu wszystkich kroków wysłałem wniosek do rozpatrzenia. Po zatwierdzeniu otrzymałem e-mail z App Store Connect z informacją, że jest gotowy do dystrybucji.
Pragnę zaznaczyć, że nie mam powiązań z żadnym z narzędzi AI wspomnianych w tym artykule.
Dziękuję za przeczytanie! Możesz sprawdzić Brush Tracker w App Store. Chętnie poznam Twoją opinię, jeśli spróbujesz lub będziesz miał jakieś uwagi.



