Vart att starta?

Discussion in 'Frågor, support och diskussion' started by Mazrim, Dec 29, 2009.

  1. Mazrim

    Mazrim Baby Droid Medlem

    Joined:
    Jul 22, 2009
    Messages:
    24
    Likes Received:
    0

    MINA ENHETER

    Hejhopp,

    Jag hade tänkt ge mig in i racet att göra nått Android App eller två.

    Mina förkunskaper är:
    Väldigt lite java (kommer få bättre på detta såklart då jag förstått att det är språket som gäller för Android).
    C# tills det blödde ur mina fingrar och öron, har dock aldrig gjort något som tagit sig ut på nätverk av något slag. Detta var dock en ca. 7-8 år sedan.
    Mer än grundläggande erfarenhet av Linux/Bsd system.

    Några små frågor om någon har tid/lust att hjälpa.

    1:
    Innan jag börjar, vilket OS är bäst lämpat? Kör Win7 och Ubuntu för tillfället.
    Har något OS bättre verktyg än något annat just för Android? Hur ser SDKerna ut? någon skillnad mellan OS?

    2:
    Förutom googles egna sidor, typ code.google.com osv. har någon något bra tips på allt från enklare guider kod-databaser till mer avancerade dito de funnit användbara?

    3: Eftersom man är en opensourceanhängare så vill man ju gärna dela med sig om det nu blir några alster, och då jag inte gjort det här på ett par år tänkte jag kolla om det finns några smarta/enkla projekthanteringssystem ( som gärna är opensource själv) som passar bra till Android-projekt? för publicering av kod och versionshantering osv. osv. ?
     
  2. johannilsson

    johannilsson Adult Droid Medlem

    Joined:
    Jun 23, 2009
    Messages:
    577
    Likes Received:
    8

    MINA ENHETER

    Själv sitter jag i Ubuntu och det har fungerat bra för mig, kör både med Eclipse och Intellij vilka båda finns för både Windows och Linux. Inga skillnader vad jag vet i SDKn baserat på vilken platform du sitter på.

    Kan rekommendera http://commonsware.com/ böcker, Mark Murphy som skriver dem har även ett repo på GitHub med bra kodexempel, http://github.com/commonsguy.

    Många Android projekt verkar ligga på Google Code, själv har jag mina projekt på GitHub. Antar att det är vad man själv tycker om där.
     
  3. johan.walles@gmail.com

    [email protected] Kid Droid Medlem

    Joined:
    Nov 24, 2009
    Messages:
    38
    Likes Received:
    0

    MINA ENHETER

    Tycke och smak

    Precis som Johan säger är nästan allting smaksaker.

    Om jag ska dra min smak med lite bakgrund så har jag själv aktiva projekt på:
    * Sourceforge
    * Savannah
    * Launchpad (används av Canonical för Ubuntuutvecklingen)

    Av de sajterna vinner Ubuntus Launchpad alla gånger. Hos Launchpad är man uppe och snurrar så fort man reggat sitt projekt. Hos Sourceforge och Savannah måste man vänta på att någon administratör godkänner ens projekt innan man får tillgång till sina projektsidor. Google Code och Github är säkert bra men kräver att man använder Git (se nedan).

    Vad gäller versionshanteringssystem har jag minst ett års erfarenhet av följande:
    * CVS
    * Subversion
    * Perforce
    * Bazaar

    Av dessa vinner Bazaar alla gånger. Både Git och Mercurial var kandidater jag tittade på när jag ville hitta en ersättare för SVN, men både Git och Mercurial saknar funktionalitet jag tycker är viktig så de försvann redan i grovgallringen. Kvar blev bara Bazaar (och Monotone, fast det verkar användas så lite så det åkte ut av popularitetstekniska skäl).

    Att köra CVS är att be om problem; ifall två personer submittar samtidigt kan repositoryt gå sönder. Ja, det är sant.

    SVN är mycket mer driftsäkert än CVS, men är fortfarande av den gamla centraliserade modellen. Det innebär att folk som vill ta ut grenar av ditt projekt och kunna arbeta i dem måste ha tillstånd från dig, vilket innebär en massa administration och strul för alla parter.

    Perforce är som ett snabbare SVN som inte är Open Source.

    Bazaar är distribuerat, och för mig som kom från SVN var kommandoradssyntaxen i stort sett samma så det var lätt att ta till sig. Att man inte behöver trassla med någon server för att komma igång tyckte jag var mycket trevligt.

    Det jag brukar göra när jag påbörjar ett projekt är:
    0. Börja koda på nåt.
    1. Inse att jag vill ha versionshantering.
    2. "bzr init", "bzr add *", "bzr commit"
    3. Fortsätt lokalt ett tag...
    4. Inse att jag vill publicera koden.
    5. Fixa ett projekt på launchpad.
    6. "bzr push --remember lp:Projektnamnet"

    I steg 6 åker allt, inklusive hela den lokala historiken upp på nätet. Supernajs :-).

    Vet inte hur jag ska avsluta det här riktigt, men jag gillar iaf Launchpad och Bazaar skarpt. Lycka till :-).

    //Johan
     
    Last edited: Dec 29, 2009
  4. PatrikS

    PatrikS Senior Droid Medlem

    Joined:
    Jun 29, 2009
    Messages:
    1 123
    Likes Received:
    65

    MINA ENHETER

    Det är väl snarare för att commita som de behöver tillstånd för SVN?

    Om man inte behöver tillstånd för det i andra versionshanterare så går de bort direkt men jag antar att det inte är det du menar?

    Mazrim, läs igenom grunderna på http://developer.android.com/guide/index.html det är mycket bra inledning.
     
  5. johan.walles@gmail.com

    [email protected] Kid Droid Medlem

    Joined:
    Nov 24, 2009
    Messages:
    38
    Likes Received:
    0

    MINA ENHETER

    Jo precis, jag kanske uttryckte mig otydligt. Men det är ett rätt stort problem.

    Om jag vill jobba på (inte bara titta på) någon annans projekt utan att fråga upstream om lov måste jag göra det utan versionshantering ifall upstream kör SVN. Jag kan alltså inte committa mina ändringar lokalt, utan jag måste få ett konto och committa dem upstream.

    Med Bazaar (och andra distribuerade versionshanteringssystem) kan jag ta ut en gren och få första klassens versionshantering lokalt utan att upstream behöver vara inblandad alls.

    Det sagt så är ändå SVN moget och har mycket bra verktygsstöd, men det finns designbrister i SVN som gör det problematiskt, särskilt i open-source-projekt.
     
  6. sandos

    sandos Adult Droid Medlem

    Joined:
    May 27, 2009
    Messages:
    715
    Likes Received:
    8

    MINA ENHETER

    Googe code har inte heller någon "fördröjning" numera, projekten skapas per automatik. Du kan välja mellan SVN och HG (mercurial) vilket jag själv föredrar numera. Google code är ju kanske i enklaste laget för de flesta, men funkar ypperligt för mig.
     
  7. henca

    henca Senior Droid Medlem

    Joined:
    Dec 30, 2009
    Messages:
    1 337
    Likes Received:
    213

    MINA ENHETER

    Man kan hitta en del snippets och om man har riktig tur kan man även få goda råd på http://www.anddev.org/

    m v h Henrik