Lämna dina kontaktuppgifter, så skickar vi dig vår presentation via e-post.
Jag samtycker till att mina personuppgifter behandlas för att skicka personligt anpassat marknadsföringsmaterial i enlighet med Integritetspolicy.
Formuläret har skickats in framgångsrikt! Ytterligare information finns i din brevlåda.
Innowise Group är ett internationellt företag för utveckling av mjukvara med fullständig cykel som grundades 2007. Vi är ett team med över 1500 IT-proffs som utvecklar mjukvara för andra yrkesverksamma över hela världen.
Om oss
Innowise Group är ett internationellt företag som utvecklar mjukvara för hela cykeln. som grundades 2007. Vi är ett team på över 1400 IT-proffs som utvecklar mjukvara för andra företag. yrkesverksamma över hela världen.

Innowise Groups utveckling av mobilappar

Välkommen till Innowise Group Mobile Digest, din ultimata källa för allt som rör mobil utveckling. I denna omfattande sammanställning presenterar vi dig de senaste nyheterna, grundliga recensioner och ovärderliga guider inom den ständigt föränderliga mobila utvecklingen. Utforska verkliga fall och framgångshistorier där revolutionerande lösningar har omformat företag och branscher. Dessutom omfattar vårt handplockade urval av artiklar olika sammankopplade ämnen, vilket ger insikter och perspektiv på framtiden inom följande områden mobilteknik.

Paketet dev_pilot för att skapa ett Flutter-projekt

Vi är glada att kunna presentera vårt nyligen släppta paket "dev_pilot", utvecklat av Innowise. Detta paket syftar till att förenkla installationsprocessen för Dart-projekt, så att utvecklare kan sätta upp nya projekt snabbt och effektivt.

Till att börja med är dev_pilot ett värdefullt verktyg för utvecklare som vill påskynda skapandet av Flutter-projekt. Det erbjuder ett interaktivt kommandoradsgränssnitt (CLI) som vägleder användarna genom att tillhandahålla projektdetaljer som projektnamn, funktioner och varianter. Därefter genererar paketet den nödvändiga katalog- och filstrukturen, vilket effektivt sparar tid och minskar ansträngningen.

Koden för dev_pilot är skriven i Dart, ett modernt programmeringsspråk som används ofta för att utveckla mobila och webbapplikationer. Koden följer Darts kodningskonventioner och har en välorganiserad och lättbegriplig struktur.

För att utföra olika uppgifter som I/O-operationer, loggning och validering innehåller koden flera viktiga paket och bibliotek, bland annat dart:io, dcli, mason_logger och andra. Att utnyttja befintliga paket och bibliotek visar att paketet använder tillgängliga resurser på ett klokt sätt och undviker onödig uppfinning.

Huvudmetoden fungerar som ingångspunkt till paketet och är det centrala navet för alla operationer. Den börjar med att kontrollera om det angivna argumentet är "create". Om argumentet uppfyller villkoret fortsätter paketet att be användaren om ytterligare projektinformation, t.ex. projektnamn, funktioner och tidigare nämnda smaker.

För att underlätta olika uppgifter använder paketet olika tjänster som DirectoryService, FileService, InputService och andra. Användningen av dessa tjänster bidrar till kodens modularitet och underlättar underhållet, eftersom de är genomtänkt organiserade.

Ett annat anmärkningsvärt inslag i koden är användningen av "await" och "async" för att hantera asynkrona operationer. Detta tillvägagångssätt förbättrar avsevärt kodens prestanda och reaktionsförmåga och visar upp ett lovvärt implementeringsval.

Dev_pilot förenklar processen att skapa ett nytt Flutter-projekt, så att du enkelt kan införliva funktioner, smaker, paket och generera kodmallar för olika projektkomponenter. Dessutom innehåller paketet integrerade validatorer för att säkerställa korrekt användarinmatning.

Här är en översikt över hur Dev_pilot fungerar:

Den kontrollerar om argumentet som överlämnats är "create".

Paketet dev_pilot för att skapa ett Flutter-projekt

Den kontrollerar om argumentet som överlämnats är "create".

utveckling av mobila appar

Den kontrollerar om Dart-versionen ligger inom det acceptabla intervallet. 

Om så är fallet uppmanas användaren att ange ett projektnamn.

Paketet dev_pilot för att skapa ett Flutter-projekt

Den frågar användaren om han eller hon vill ange en anpassad sökväg för projektet.

Paketet dev_pilot för att skapa ett Flutter-projekt

Om användaren väljer att ange en sökväg uppmanas han eller hon att ange den önskade sökvägen.

Den frågar om användaren vill lägga till funktionsmoduler i projektet.

Paketet dev_pilot för att skapa ett Flutter-projekt

Om användaren bestämmer sig för att inkludera funktionsmoduler uppmanas han eller hon att ange namnen på de önskade modulerna.

Den frågar användaren om han eller hon vill lägga till smaker till projektet.

Paketet dev_pilot för att skapa ett Flutter-projekt

Om användaren väljer att lägga till smaker uppmanas han eller hon att ange namnen på de önskade smakerna.

Den frågar användaren om han/hon vill lägga till paket till projektet.

Paketet dev_pilot för att skapa ett Flutter-projekt

Om användaren väljer att lägga till paket uppmanas han eller hon att välja en modul och ange paketens namn. Denna process upprepas tills användaren bestämmer sig för att inte lägga till fler paket.

Flutter Lab Innowise

I april lanserade vårt företag ett Flutter-laboratorium som svar på marknadens efterfrågan. Vi insåg bristen på yrkesverksamma med relevant kunskap och tog därför initiativ till att ta itu med detta problem.

Deltagarna måste behärska talad engelska på minst B1-nivå, ha en grundläggande förståelse för datavetenskapliga begrepp och välutvecklade mjuka färdigheter. Förkunskaper om Dart/Flutter är inte nödvändiga för de sökande.

Kursen kommer att bestå av 14 lektioner, under vilka "eleverna" kommer att lära sig Dart/Flutter och arbeta med sitt eget husdjursprojekt. Efter varje lektion kommer en mentor att bedöma förståelsen av den teori som behandlats och genomföra en kodgranskning. Instruktörerna för kursen är Flutter-utvecklarna Alexander Guzich och Alexey Lebedev.

När denna nyhet publiceras är den första gruppen nästan klar. Om den första lanseringen är framgångsrik planerar vi dock att upprepa kursen för efterföljande grupper.

Utveckling av mobiltelefoner

iOS

Den här sammanställningen innehåller en kombination av YouTube-samlingar, fallstudier från verkliga livet och informativa recensioner med tillhörande guider.

Säkerhet ur ett mobilt perspektiv

Källa: Medium

Artikeln ger en kortfattad översikt över klientapplikationernas säkerhet på olika nivåer, från serverkommunikation till programkod. Viktiga punkter som diskuteras är bland annat:

  • Risker i samband med användning av mobila enheter, t.ex. datastöld, skadlig kod och phishing-attacker.
  • Säkerhetsnivåer för mobila tillämpningar.
  • Betydelsen av säkerhetsåtgärder och deras genomförande.
  • Bästa metoder för att förbättra mobilsäkerheten, inklusive användning av starka lösenord, regelbundna programuppdateringar, undvikande av osäkra Wi-Fi-nätverk och försiktighet vid misstänkta länkar eller e-postmeddelanden.
Utveckling av mobiltelefoner

Rosetta, jag är ledsen att behöva ta farväl.

Källa: Medium

I och med lanseringen av Xcode 14.3 har Apple slutat stödja Rosetta och har på ett diskret sätt visat utvecklarna att de måste anpassa sina projekt för Apple Silicon. Cyan-utvecklaren delade med sig av en berättelse om de hinder som deras företag stötte på med sin huvudprodukt och den tredjepartslösning som hjälpte dem att eliminera användningen av Rosetta.

Sammanfattning:

  • Förklaring av Rosetta.
  • Hur användningen av Rosetta bestämdes i fallet Cyan.
  • Åtgärder som vidtagits för att lösa problemet.

På det hela taget ett tydligt exempel på hur ramverket anpassas till verkligheten för ARM64 MacBooks, med vår rekommendation.

Förstå den cyklomatiska komplexitetens inverkan på kodkvaliteten i Swift

Källa: Heliga Swift

I denna artikel behandlas begreppet cyklomatisk komplexitet inom följande områden Utveckling av Swift-programvara och ger rekommendationer för att minimera den. Cyklomatisk komplexitet mäter kodens komplexitet utifrån antalet beslutspunkter eller vägar i koden.

Författaren föreslår flera strategier för att minska den cyklomatiska komplexiteten i Swift, bland annat:

  • Ersätt inbäddade if-else-utsagor med guard-utsagor.
  • Att dela upp omfattande funktioner i mindre, modulära funktioner.
  • Använd switch-satser i stället för if-else-satser när det är möjligt.

Dessutom utforskar artikeln användningen av funktionella programmeringsprinciper, t.ex. genom att använda funktioner av högre ordning som map, filter och reduce, för att förenkla koden och minska komplexiteten.

Sammantaget är detta en värdefull resurs för Swift-utvecklare som vill förbättra förståelsen, underhållbarheten och effektiviteten i sin kod.

Cachelagring av innehåll med NSCache

Källa: andyIbanez.com

Författaren betonar betydelsen av caching av innehåll i iOS-appar för att förbättra prestandan och minimera mängden data som överförs via nätverket. Artikeln koncentrerar sig främst på att använda NSCache, den inbyggda cachemekanismen i iOS, för att cacha innehåll i iOS-applikationer. NSCache fungerar som ett nyckelvärdeslager som hanterar sitt innehåll och automatiskt släpper objekt som inte längre behövs.

Artikeln innehåller flera exempel på hur du kan använda NSCache i iOS-program, inklusive caching av bilder, JSON-data och webbinnehåll. Dessutom innehåller artikeln bästa praxis för användning av NSCache, t.ex. att ställa in ett maximalt antal objekt och implementera en policy för cacheutvisning för att kontrollera minnesanvändningen.

Cachelagring av innehåll med NSCache

Hur man lagrar data i iOS: Användarstandard, nyckelringar och smörgåsar

Länk till källan

Den här omfattande och informativa guiden ger värdefulla insikter om datalagring i iOS. Med tanke på de utmaningar som har stört många utvecklare är det här materialet särskilt viktigt. I den här resursen har ledande iOS-utvecklare red_mad_robot går in på lagringsmotorer, deras användning samt för- och nackdelar med varje metod.

Författaren analyserar noggrant följande verktyg:

  • UserDefaults - perfekt för att lagra användarinställningar och flaggor.
  • Nyckelring - säkerställer säker datalagring.
  • Listor - lämpliga för lagring av programkonfigurationer eller bibliotek.
  • Databaser - rekommenderas för hantering av stora mängder olika data.
  • NSCache - utformad för tillfällig datalagring.

Den här guiden ger dessutom en djupgående analys av olika databaser som finns tillgängliga i iOS:

  • Realm är ett plattformsoberoende program som är känt för sin snabba prestanda och användarvänliga API.
  • Native Core Data, som erbjuder ett grafiskt gränssnitt för modeller och olika lagringstyper, vilket underlättar testning.
  • SQLite, vilket gör det möjligt att använda SQL-språket direkt utan att behöva använda ytterligare tunga bibliotek från tredje part i ditt projekt.

Den här resursen är viktig för utvecklare som vill ha en omfattande förståelse för iOS datalagringsalternativ.

Hur du lagrar data i iOS UserDefaults, nyckelringar och smörgåsar

iOS Conf SG 2023

Källa: Youtube

iOS Conf SG är den största iOS-utvecklarkonferensen i Sydostasien. Det är därför lämpligt att ta reda på vad som diskuterades på evenemanget i år! Den här spellistan hjälper dig med detta: här finns höjdpunkterna och talen från konferensen. Hundratals utvecklare från hela världen delar med sig av sina idéer, upptäckter och utvecklingar - var annars kan du hitta en sådan källa till insikter som är användbara för arbetet, om inte där?

Behärska canvas i SwiftUI

Källa: Swift med Majid

Du kan rita 2D-grafik i SwiftUI med hjälp av Shape API:et, men ramverket omvandlar så småningom alla former till SwiftUI-representationer och visar dem. Det här tillvägagångssättet har sina för- och nackdelar. Som tur är kan du rita rik 2D-grafik utan att behöva kombinera flera former. I den här artikeln får du bara veta hur du använder Canvas-vyn i SwiftUI.

Viktig utvecklare

Källa: Youtube

Detta är inte artikelns titel, utan kanalens namn. Caio och Mike, två utvecklare som är ett par, förvaltar en kanal för iOS-utveckling som har över 500 videor. Detta är ingen överdrift. Videorna är genomtänkt organiserade i olika kategorier, t.ex:

  • Bygga iOS-appar med Swift, TDD och ren arkitektur.
  • Mentorskap för iOS-utvecklare i direktsändning.
  • Ren iOS-arkitektur.
  • Rena kodbaser för iOS.
  • Sammansättning av iOS View Controllers, och så vidare.

Det är viktigt att notera att samlingen innehåller både nya videor om aktuella ämnen och videor som är 2-5 år gamla. Detta är faktiskt fördelaktigt, särskilt för nybörjare, eftersom äldre utgåvor kan ge en solid grund. Trots detta är det viktigt att tänka på hur färsk informationen du konsumerar är.

Identifiering av Core Datas förmåga att utföra lätta migreringar innan behållaren laddas

Länk till källan

Detta är en anmärkningsvärd demonstration av omvänd plattformsteknik. När man utvecklar en applikation med hjälp av Core Data-ramverket är det vanligt att man utformar en datamodell som genomgår flera ändringar. Författaren upptäckte ett alternativt tillvägagångssätt som eliminerar behovet av att radera alla data och ladda om dem, vilket kan belasta servern i onödan och tömma användarnas batterier. I texten utforskas en enklare metod som syftar till att minimera återverkningarna av datastrukturändringar och mildra deras negativa effekter.

Android

Vi har valt ut tre material som erbjuder djupgående guider om nyanserna i Android-utveckling. Nedan ger vi en kort beskrivning av varje guide och inkluderar respektive länkar. Du kan sedan avgöra om du tycker att dessa långa läsningar är värdefulla eller inte. Låt oss fortsätta!

Ju nyare desto bättre: hur vi flyttade från GSON till Kotlinx.Serialization

Länk till källan

Det här materialet fokuserar på erfarenheterna av övergången från GSON till Kotlinx.Serialization och berättas av en Android-utvecklare från Tinkoff Investments.

Men låt oss börja med en kort presentation av stjärnan i showen: Kotlinx.Serialization. Det är ett serialiseringsbibliotek som utvecklats av JetBrains specifikt för Kotlin och som är utformat för att stödja flera plattformar och format. Biblioteket består av ett kompilatorplugin, ett kärnbibliotek och flera hjälpbibliotek som underlättar olika dataserialiseringsprotokoll.

I den här guiden får du veta följande:

  • Styrkorna med Kotlinx.Serialization, inklusive dess sömlösa kompatibilitet med Kotlin och andra fördelar.
  • De nödvändiga stegen för att migrera till Kotlinx.Serialization.
  • Oundvikliga utmaningar som du kan stöta på under migreringsprocessen och hur du kan hantera dem på ett effektivt sätt.
  • En omfattande jämförelse av prestanda mellan GSON och Kotlinx.Serialization som visar hur programmets prestanda förbättras efter migreringen.
  • Noterbara funktioner i den senaste versionen av biblioteket.

Campuskarta i Android-appen

Länk till källan

En Android-utvecklare från UMNO Digital delar med sig av sina insikter om sitt personliga projekt, vilket lätt kan utläsas av artikelns titel. Det handlar om ett vanligt scenario: en stor utbildningsinstitution med många byggnader, där det blir en uppgift i sig att hitta rätt publik, bibliotek eller avdelning. Författaren föreslår en lösning på detta problem genom en interaktiv karta, och guiden ger en stegvis beskrivning av hur man skapar en sådan karta. Intressant nog skulle detta tillvägagångssätt potentiellt kunna tillämpas på andra liknande strukturer som sjukhus eller stora industrier.

De viktigaste kraven på kartan är att den lätt ska kunna importeras till programmet och uppdateras oberoende av det. Annars skulle användarna få den nya kartversionen först efter att ha verifierat och uppdaterat hela applikationen via appbutiken. Kartan måste därför uppfylla följande villkor:

  • Visa var publikplatser och byggnader finns och ge ruttinformation.
  • Skapas med hjälp av en separat modul för att möjliggöra ritningsfunktioner.
  • Den ska finnas på en separat server för att säkerställa snabba uppdateringar.

Guiden förklarar sedan steg för steg hur man omvandlar idén till verklighet. Anvisningarna omfattar följande:

  • Att dela upp kartan i komponenter som vägar, byggnader med mera.
  • Skapa och rita kartdiagrammet (vilket kan låta enkelt, men författaren erkänner att det finns fallgropar och utmaningar).
  • Välja ett lämpligt bibliotek för att rendera kartans olika lager.
  • Koppla kartan till geografiska koordinater.

Varje steg beskrivs i detalj, vilket gör det relativt lätt att följa med (även om författaren medger att det finns vissa svårigheter och utmaningar). Denna guide fungerar som en utgångspunkt för att utveckla en enkel lösning som kontinuerligt kan förbättras och förfinas. Den gör det möjligt att lägga till nya element och funktioner, ändra gränssnittet och göra övergripande förbättringar. Sammanfattningsvis ger den värdefull vägledning och vi rekommenderar den varmt.

Campuskarta i Android-appen

Hur vi minskade starttiden för Android-appar med 77%

Källa: Medium

Även om titeln kan verka som clickbait eller potentiellt tvivelaktig är det faktiskt en utmärkt guide för att minska starttiden för program. Teamet bakom bildelningsappen Turo delar med sig av de steg de tog och hur de mätte resultaten.

Här är en sammanfattning av artikeln:

  • Det ursprungliga tillståndet för lanseringen av applikationen och hur den fungerade före optimeringen.
  • De förbättringar som teamet genomfört inkluderar införandet av en splash screen, uppskjutande av synkrona nätverksförfrågningar, optimering av disk input/output (I/O) och andra relevanta tekniker.
  • Mätning av de förbättringar som uppnåtts och uppföljning av eventuella problem.

Om guiden inte täcker allt, har författarna också gett ytterligare länkar till kompletterande material om ämnet.

Hur vi minskade starttiden för Android-appar med 77%

Flutter

Den här omfattande guiden innehåller olika ämnen som rör Utveckling av Flutter. Den tar upp de senaste trenderna inom Flutter för innevarande år, ger en detaljerad fallstudie om videostreaming med Flutter, introducerar ett verktyg för kodgenerering och ger praktiska tips för att förbättra de tekniska färdigheterna. Och det finns ännu mer värdefullt innehåll som väntar på dig i den här guiden.

16 idéer för att förbättra dina Flutter-färdigheter (avancerad färdplan)

Källa: Medium

Redan titeln antyder vikten av att ständigt finslipa sina yrkeskunskaper. Den här praktiska guiden erbjuder värdefulla tips för att förbättra dina färdigheter, vilket gör den lämplig för både nybörjare och erfarna Flutter-utvecklare. Förslagen omfattar bl.a. följande:

  • Fördjupad utforskning av Flutter-widgetar.
  • Användning av olika animationer och övergångar.
  • Integrering av flöden och reaktiv programmering.
  • Utnyttja Flutters inbyggda testverktyg.
  • Utforska alternativa Flutter-ramverk.

Dessutom innehåller artikeln användbara rekommendationer och resurser för att hålla dig uppdaterad om de senaste framstegen i Flutter-communityt.

6 saker att ta med sig från färdplanen för Flutter 2023

Källa: Medium

Om du har ambitioner att avancera inom detta område är denna text ett måste att läsa. Den ger en översikt över Flutters strategi för 2023, med särskilt fokus på webbutveckling. Författaren fördjupar sig i flera viktiga ämnen, bland annat:

  • Det nuvarande läget för Flutter Web och skälen till varför det fortfarande inte anses vara helt färdigt.
  • Förhållandet mellan Flutter och Web Assembly.
  • Utforska landskapet av spel som utvecklats med Flutter och bedöma deras faktiska antal.
  • Flutters inriktning på mer intensiv felrättning.
  • Förhållandet mellan Flutter och Google Services.
  • Frekvensen av månatliga betaversioner.

Det här är inte bara en torr recension, utan författarens personliga åsikter och kommentarer baserade på det officiella pressmeddelandet. Här presenteras tankeväckande insikter som läsarna kan fundera över.

Har du hört talas om Shorebird?

Källa: Linkedin

Vi presenterar Eric Seidel, en Google-ingenjör som ansvarar för utvecklingen av Flutter, och Felix Angelov, även känd som Felangel, skaparen av paketen Bloc och Flutter_Bloc. Deras kombinerade expertis lovar anmärkningsvärda resultat. Och de har verkligen levererat!

Vi presenterar Shorebird, ett nytt projekt med öppen källkod som är utformat för att förenkla skapandet av dataintensiva webbapplikationer. Shorebird bygger på Flutter-ramverket och använder sig av reaktiv programmeringsteknik och erbjuder kraftfull och skalbar applikationsutveckling.

I den här artikeln beskrivs de viktigaste funktionerna i Shorebird, inklusive synkronisering av data i realtid, effektiv databehandling och åtkomst till data offline. Författaren betonar Shorebirds användarvänliga design och ger utvecklare ett tydligt API.

Shorebird har dessutom potential att revolutionera utvecklingen av datainriktade webbapplikationer, särskilt inom kritiska branscher som hälso- och sjukvård, finans och logistik. Missa inte möjligheten att få veta mer om Shorebird och dess banbrytande möjligheter.

Spara tid med CodeGpt-kodgenerering i Flutter

Källa: Medium

Vi presenterar CodeGPT, ett nytt verktyg för kodgenerering som är särskilt utformat för Flutter-applikationer. CodeGPT utnyttjar AI och tekniker för behandling av naturligt språk för att automatiskt generera kod baserat på enkla engelska beskrivningar av applikationens funktioner och möjligheter. Det är en imponerande lösning, eller hur?

Den här artikeln ger en informativ översikt över hur CodeGPT fungerar och lyfter fram dess viktigaste fördelar. En viktig fördel är den betydande tidsbesparing och ökade produktivitet som uppnås genom automatisk kodgenerering (som du kanske redan har gissat). Artikeln innehåller också ett detaljerat exempel som visar hur CodeGPT kan användas för att generera kod för en grundläggande Flutter-applikation. Författaren betonar hur snabb och enkel processen är, vilket resulterar i välstrukturerad och lättförståelig kod.

Avslöja det okonventionella: 5 mindre kända hinder i Flutter-utvecklingen

Länk till källan

Den här artikeln bygger på erfarenheter från en Surf Studioutvecklare som fick ett projekt som krävde att videoströmningsfunktionalitet skulle implementeras med Flutter. I den här artikeln presenteras Timurs erfarenhet och diskuteras hur man ska gå tillväga för att utveckla plattformsfunktioner, förhållandet mellan Flutter och native-utveckling, och ger insikter om vanliga fallgropar och effektiva lösningar.

Avslutningsvis ger artikeln en moralisk läxa och ett bonusavsnitt med en rad komplexa och spännande funktioner, varav några inte kom med i den slutliga versionen. På det hela taget kommer läsarna att få en bättre förståelse för vad de kan förvänta sig när de utför liknande uppgifter, eftersom projekt kan vara oförutsägbara i mjukvaruutvecklingsvärlden.

Avslöja de okonventionella 5 mindre kända hindren i Flutter-utvecklingen

Vad är skillnaden mellan MVC och MVVM (för Flutter)?

Källa: Medium

I artikeln jämförs två populära designmönster - MVC (Model-View-Controller) och MVVM (Model-View-ViewModel) - för att bygga Flutter-applikationer. Författaren förklarar de viktigaste begreppen i varje mönster och lyfter fram skillnaderna mellan dem. MVC-mönstret delar upp en applikation i tre komponenter:

  • En modell som representerar data och logik.
  • Vyn som hanterar datavyn.
  • En controller som fungerar som ett mellanled mellan modellen och vyn.

Resten av artikeln handlar om MVVM, som liknar MVC men som lägger till en ny komponent, viewmodellen. Den är ansvarig för att bearbeta presentationslogiken och binda data, vilket skiljer den från presentationen.

När du väl är lite insatt går författaren över till att diskutera för- och nackdelar med varje metod. Det noteras särskilt att MVC är enkelt och okomplicerat, medan MVVM erbjuder bättre separation av problem och enklare testning. Vi uppmärksammar också det faktum att Flutter ger inbyggt stöd för båda mönstren, vilket gör det lättare för utvecklare att välja det tillvägagångssätt som bäst passar deras behov.

Flutters enhetsförhandsgranskning: få en smygtitt på hur din app ser ut på vilken enhet som helst.

Källa: Medium

Verktyget som beskrivs i artikeln visar sig vara mycket värdefullt i situationer där ett responsivt användargränssnitt behövs, men där det finns begränsad tid eller tillgång till flera enheter (antingen fysiskt eller under pågående utveckling). Verktyget kallas Device Review och ger möjlighet att förhandsgranska applikationer på olika enheter och skärmstorlekar, vilket onekligen är dess mest fördelaktiga aspekt.

Genom att använda Device Preview kan utvecklare effektivt upptäcka problem med layout och användargränssnitt i ett tidigt skede av utvecklingsprocessen. Artikeln innehåller omfattande information om hur man installerar, konfigurerar och använder Device Review samt en förklaring av de underliggande principerna. Läsarna kommer att finna denna engagerande text som en informativ guide för att förstå de nödvändiga stegen och de invecklade detaljerna i att utnyttja detta anmärkningsvärda verktyg.

Allmänt

Hur du hjälper din ledning att inte göra bort sig

Länk till källan

Istället för att återberätta och försöka utvärdera innehållet kommer författaren själv undantagsvis att få ordet:

"Hej alla, jag heter Veronica och är chef för utvecklarrelationer på Dodo Engineering. [...] Veronica är medveten om att många ledningsfel kan förebyggas tidigt. Hon har bevittnat team som framgångsrikt räddat sina ledare från potentiella katastrofer. I den här artikeln har hon sammanställt nio berättelser från olika utvecklingsteam, inklusive hennes eget, som kastar ljus över de överhängande farorna med ledningens misstag. Varje berättelse åtföljs av praktiska rekommendationer, baserade på verkliga erfarenheter, för att hjälpa underordnade att förhindra projektkollaps och katastrofer.

Det kan tyckas vara en svår läsning, men låt oss sätta oss ner och börja utforska dessa berättelser. När allt kommer omkring vill var och en av oss skapa en vänskap med sin egen teamledare, eller hur? 🙂 .

Hur du hjälper din ledning att inte göra bort sig

Mjuka färdigheter: reda ut saker och ting en gång för alla

Länk till källan

Om du fortfarande är fast övertygad om att mjuka färdigheter kommer från det onda och att rekryterare/personalansvariga av alla sorter har uppfunnit dem av tristess, ber vi dig: läs den här texten. Författaren har blivit mycket bombarderad av de "avslöjanden" som "experter" lägger ut överallt på Internet, och han har skrivit en egen (ganska djärv, måste jag säga) text, där han bryter ner allting:

  • Vad är mjuka färdigheter (termen myntades förresten i den amerikanska armén på 60-talet)?
  • Hur avgör du om din färdighet är en mjuk färdighet?
  • Vad kan testet av mjuka färdigheter i en intervju bli?

Vi lovar ett par insikter och skäl att "tänka". Har du till exempel någonsin tänkt på att mjuka färdigheter i ett yrke kan vara hårda färdigheter i ett annat och vice versa? Låt oss lägga till roliga exempel här - och nu är en intressant läsning redo för en kaffepaus.

Jakten mot klockan: Kan mänskligheten lyckas kontrollera artificiell intelligens innan den leder till en världsomfattande katastrof?

Länk till källan

Detta är en fängslande och tankeväckande lång läsning med reflektioner om framtiden med artificiell intelligens från en välbekant författare.

I denna fascinerande artikel går författaren in på kärnan i GPT-modellerna och funderar på om de är verkliga AI-modeller eller om de bara fungerar som textgeneratorer. Texten handlar också om det potentiella försvinnandet, eller snarare författarens önskan om att vissa yrken ska bli föråldrade. Dessutom diskuteras konsekvenserna av att lyckas skapa en formidabel artificiell intelligens, tillsammans med en undersökning av intelligens i sig själv och metoderna för att utvärdera den.

Författarna delar dessutom med sig av sina insikter om olika ämnen, såsom den framtida utvecklingen av enskilda AI-assistenter, den verkliga takten i den tekniska utvecklingen, utmaningarna i samband med att sätta upp mål för AI och de långtgående konsekvenserna av den tävling mellan företagen som syftar till att uppnå AI-överlägsenhet. Det är en fängslande läsning som uppmuntrar till att vidga sina horisonter. Även om artificiell intelligens för närvarande kanske har begränsad relevans i ditt liv är det viktigt att erkänna dess oundvikliga integrering i alla individers liv i framtiden.

Hur Slack skickar miljontals meddelanden i realtid

Källa: Slack

I detta material presenteras en analys av flödet i en klient-server-applikation, med särskilt fokus på utvecklingen av ett realtidssystem som kan hantera en stor publik. I artikeln utforskas den arkitektoniska strategi som används för att möjliggöra meddelandeöverföring i realtid i stor skala. Den undersöker också de tjänster som ansvarar för att överföra meddelanden till chattplattformar och leverera olika händelser till online-användare.

Sammanfattning:

  • Översikt över servern.
  • Konfiguration av Slack-klienten.
  • Leverans av meddelanden i realtid till miljontals kunder.
  • Hantering av händelser.

Bonus

Här hittar du en rad olika önskemål som kan hjälpa dig att optimera chattupplevelsen eller skräddarsy den exakt efter dina behov: https://www.jailbreakchat.com/

Jämförelse av grafiska neurala nätverk: att avgöra vilken som är bäst

När vi började använda Midjourney för att generera bilder för våra arbetskrav kunde vi inte sluta och började utforska andra grafiska neurala nätverk. Om du tycker att de alla verkar likadana föreslår vi att du fortsätter att läsa.

Vi utförde tester med verktyg som Lexica, Stabble Diffusion on Dezgo och Leonardo (det sistnämnda är fortfarande i betatest) och jämförde dem med Midjourney. Under hela processen lyfte vi fram deras för- och nackdelar samt nyanserna i deras användning.

Vi valde ett enkelt tillvägagångssätt: vi skickade in samma förfrågningar och utvärderade resultaten. Det fanns tre specifika förfrågningar:

  • Bearbeta ett porträtt av Scarlett Johansson i en specifik stil.
  • Skapa en bild av Warszawa i stil med tre olika konstnärer.
  • Utforma en logotyp med tillhörande text.

Låt oss från början klargöra att vi förstår att dessa förfrågningar kunde ha varit mer detaljerade och preciserade, vilket utan tvekan skulle ha förbättrat resultaten i samtliga fall. Vi valde dock att börja med enkla exempel och begränsade variationer. Även i dessa fall observerade vi hur neuronerna ibland fixerade sig vid en aspekt av förfrågan medan de helt struntade i resten.

Porträtt

Begäran var: Matisse-målning, rosa färger, många blommor. Författaren till dessa rader utförde till en början personliga experiment, men för arbetssyften valde de så småningom en mer framträdande person.

Porträtt

Som referens: Så här såg Matisse verk ut:

Matisse

Och här är vad de neurala nätverken kom fram till. Som du kan se har varje nätverk olika kunskaper om den berömda franska konstnären Matisse. 

Lexica (1-2) verkar inte ha någon information om Matisse, och i en version blev skådespelerskan oförklarligt nog asiatisk. 

Dezgo (3-5) erbjöd, beroende på inställningarna, alternativ som antingen låg mycket nära mästarens penseldrag (men långt ifrån originalet) eller som presenterade en lättare stilisering. Det fanns till och med ett par fall där AI föreslog ett stilleben i stället för ett porträtt. 

Midjourney (6-7), som vanligtvis ger ett korrekt resultat, var en liten besvikelse den här gången: skådespelerskan blev oigenkännlig och blommorna var inte återgivna i rätt stil. 

Leonardo (8-9) ansåg att blommorna och färgen rosa hade en viss likhet med originalet och tolkade kompositionen på ett kreativt sätt. Alla inställningar fångade dock inte konstnärens teckningsstil korrekt.

AI-porträtt

Stadslandskap

Låt oss försöka beskriva Warszawa. Frågan var: "Warszawa är målat i X stil." Olika konstnärers stilar valdes av två skäl: a) artikelförfattaren har en passion för konst och b) de typiska stilar som neurala nätverk tecknar i, såsom grafik, anime, tecknade serier och digital konst, har blivit monotona. Dessutom var det spännande att observera hur neurala nätverk skulle reagera på något mer komplexa kriterier och samla information om den valda stilen.

Tre konstnärer valdes ut på grund av sina anmärkningsvärt olika stilar:

  • Gustav Klimt, känd för den wieneriska jugendstilen.
Stadslandskap Gustav Klimt
  • Mark Rothko, känd för sin abstrakta expressionism.
Stadslandskap Mark Rothko
  • Salvador Dali, känd för sin surrealism.

Intressant nog började var och en av dessa mästare med en stil men blev berömda för en annan, vilket ledde till olika resultat vid insamling av information. När det gäller Klimt var detta mönster sant. Midjourney (1) fokuserade på hans berömda "gyllene" porträtt, medan Lexica (3) utforskade landskap. Stabble Diffusion on Dezgo (2) betonade Klimts unika tillvägagångssätt att införliva utskurna föremål i sina målningar, och Leonardo (4) lade till en touch av Klimts essens till realistiska skildringar av den gamla staden.

Stadslandskap

När det gällde Rothko gav de neurala nätverken tydligare tolkningar: ränderna förblev ränder, om än med subtila variationer. Warszawas utmärkande drag, såsom torn och skyskrapor, bevarades till övervägande del. Tillskrivningarna är följande: Tillskrivningarna: Midjourney (1), SD on Dezgo (2), Lexica (3) och Leonardo (4).

5 Stadslandskap

Återigen var det en blandning av förvirring och utforskning. Lexica (3) fångade Dalis karakteristiska komposition, svävande mellan himmel och jord. Midjourney (1) observerade Dalis förkärlek för vertikalt förlängda bilder, samtidigt som Warszawas symbol - sjöjungfrun - införlivades på ett unikt sätt. Dezgo (2) representerade skickligt Dalis stil att införliva utskurna föremål i målningarna, vilket ger dem en utomvärldskänsla. Slutligen föreslog Leonardo (4) idén om en väggmålning med Dalis porträtt på en husvägg, vilket stämde överens med konstnärens anda.

AI stadslandskap

Logotyp

Att utforma en logotyp som innehåller text är den största utmaningen på vår lista. Många neurala nätverk har fortfarande svårt att effektivt översätta text till en bild. Kanske har några av dem skaffat sig de färdigheter som krävs för denna uppgift.

Begäran var följande:

textlogotyp för ett företag som tillverkar videospel, vit eller transparent bakgrund, färgerna orange, blå och grön.

Det finns inget särskilt anmärkningsvärt att diskutera i det här fallet, eftersom allt är uppenbart. Vi har valt både de mest framgångsrika och de mest okonventionella alternativen. Återigen blev det tydligt att neurala nätverk fortfarande har svårt att generera text, men även innan dess observerade vi tydliga skillnader i stilar.

Tillskrivningarna är följande:

1 och 2: Lexica

3 och 4: Dezgo

5 och 6: Leonardo

7 och 8: Midjourney

Logotyp

Slutsats

Grafiska neurala nätverk uppvisar variationer i sina bearbetningsmetoder, tekniker för informationsinsamling och visuella tillvägagångssätt. Detta innebär att användarna har ett stort utrymme för experimenterande och kreativitet, samtidigt som de måste kunna anpassa sig, lära sig av misslyckanden, förstå inställningar och göra iterativa försök.

Även om detaljerade förfrågningar tenderar att ge effektivare resultat än allmänna förfrågningar, garanterar de inte alltid ett tillfredsställande resultat. Dessutom kräver de att användarna har domänkunskap och förmåga att formulera uppmaningar, vilket inte alla har.

Neurala nätverk skiljer sig också åt när det gäller tillgängliga inställningar, vilket är anledningen till att resultaten av våra utvärderingar kanske inte är helt perfekta. I vissa fall var vi tvungna att justera inställningarna för att få resultat som ens tillnärmelsevis liknade den önskade begäran. Midjourney låter till exempel användarna skapa en textförfrågan och ange önskat bildformat, samtidigt som det svarar på förfrågningar om en vit eller transparent bakgrund, till skillnad från andra neurala nätverk.

Dezgo erbjuder alternativ för att välja format (stående eller liggande), prestandanoggrannhet, monteringsmodell och provtagningsmetod. Lexica följer ett liknande mönster med alternativ för format och utförandenoggrannhet. Leonardo, å andra sidan, låter användarna välja antalet bilder (upp till 8) och erbjuder en funktion för att ta bort bakgrunden, även om den kanske inte fungerar optimalt med intrikata detaljer i kanterna. Dessutom har Leonardo flera inställningar, inklusive den spännande knappen "Prompt Magic", som vi ännu inte har utforskat.

Det finns fortfarande mycket att förbättra för neurala nätverk. Det är ofta problematiskt med textomslag, realistiskt återgivna händer är en sällsynthet snarare än norm, och vissa färdiga bilder fångar bara delvis begäran och bortser från andra detaljer. Dessa utmaningar utgör bara en del av de aktuella problemen.

Alla neurala nätverk är inte fritt tillgängliga. Medan det är gratis att experimentera med Dezgo (därför använder vi det ofta), erbjuder Midjourney en betald prenumeration efter ett visst antal gratis förfrågningar (från $8/månad + skatter, vilket gör det till vårt andra verktyg). Leonardo erbjuder 150 gratis förfrågningar per dag för dem som går med i deras betatestgrupp, med en svarstid på ungefär en vecka eller två (en betalversion med ytterligare funktioner finns också tillgänglig, från $10/månad). Lexica har ett liknande pris som Midjourney men erbjuder större funktionalitet med sina gratis förfrågningar.

Grafiska neurala nätverk är onekligen kraftfulla verktyg. De har hjälpt oss att illustrera olika ämnen (även om vi ibland var tvungna att anstränga oss extra mycket för att få användbara resultat), och deras resultat har prytt vårt företags månatliga tidning, för att inte tala om deras användbarhet när det gäller att skapa bilder för inlägg och tillkännagivanden. På det hela taget använder vi oss själva av dessa nätverk och uppmuntrar andra att utforska och behärska deras potential.

Tack för ditt betyg!
Tack för din kommentar!

Betygsätt den här artikeln:

4/5

4,8/5 (45 recensioner)

Relaterat innehåll

Har du gett oss en utmaning?

    Ladda upp en fil

    Du kan bifoga upp till en fil på totalt 20 MB. Giltiga filer: pdf, jpg, jpeg, png

    Observera att när du klickar på Skicka-knappen kommer Innowise Group att behandla dina personuppgifter i enlighet med vår Privatlivspolicy för att ge dig lämplig information.

    Vad händer härnäst?

    1

    När vi har tagit emot och behandlat din begäran kommer vi att kontakta dig. för att beskriva dina projektbehov i detalj och underteckna ett NDA för att säkerställa att för att garantera konfidentialitet för informationen.

    2

    Efter att ha undersökt kraven utarbetar våra analytiker och utvecklare en projektförslag med arbetets omfattning, lagets storlek, tid och kostnad. uppskattningar.

    3

    Vi ordnar ett möte med dig för att diskutera erbjudandet och komma fram till en överenskommelse.

    4

    Vi undertecknar ett kontrakt och börjar arbeta med ditt projekt så snabbt som möjligt. möjligt.

    Den här webbplatsen använder cookies

    Vi använder cookies för att förbättra din webbupplevelse, visa anpassade annonser eller innehåll och analysera trafiken på webbplatsen. Genom att klicka på "Acceptera allt" samtycker du till vår användning av cookies. Kolla in vår Integritetspolicy.

    Tack!

    Ditt meddelande har skickats.
    Vi behandlar din begäran och kontaktar dig så snart som möjligt.

    pil