macos - osx & Windows udvikling - for nybegyndere

Indlæg af Hanne Mølgaard Plasc

Problem



min baggrund: Jeg har udviklet webapplikationer ved hjælp af php og javascript i de sidste ti år. Før det har jeg udviklet applikationer med turbo pascal til DOS. Efter min mening er ansøgning og webapplikationsudvikling to forskellige former for udvikling (i hvert fald det er, hvad jeg synes, når jeg husker tilbage i gamle DOS applikationsudvikling).


nu er jeg nødt til at gå tilbage til 'normal' applikationsudvikling af forskellige årsager. det program, jeg vil bygge, har brug for en GUI, og den skal køre på osx og windows. som mac os bruger det ville være meget rart for mig at få en ansøgning som resultat, det føles virkelig som en osx ansøgning. Jeg behøver ikke nogen specielle UI komponenter: en explorer/finder som træ, en datagrid og nogle formelementer ville være nok til mine behov.


Nu er problemet, at jeg ikke ved, hvor jeg skal begynde: Jeg ville klassificere mig som nybegynder, fordi det er så længe siden jeg sidst udviklede noget andet end en webapplikation. Er der nogen anbefalinger af programmeringssprog og gui toolkits med en ikke til stejl indlæringskurve? eller kan du anbefale enhver bog, jeg burde læse for at komme ind på tværs-platform osx/windows app udvikling?


mange tak!


Tak alle! Jeg tror jeg vil se på realbasic!

Bedste reference


Rediger Nov 2011 - en tilbagekaldelse


Det meste af det jeg siger nedenfor er stadig sandt, men jeg har nu fået alvorlige forbehold for at anbefale REALbasic for alle, der forsøger at frigive applikationer med kommerciel kvalitet. For at gemme mig at huske at redigere dette indlæg senere, skal du se, om RealSoftware har formået at frigive en robust version af deres IDE ved hjælp af Cocoa-versionen af ​​deres rammer. Hvis ikke, vær meget forsigtig.


Det er med et tungt hjerte, at jeg skriver dette, fordi jeg stadig kan lide sproget og tænker rammen og IDE'en er godt gjort. Problemet er tilsyneladende en af ​​underkapitalisering og muligvis en softwareudviklingskultur inde i virksomheden, der konsekvent fejler at håndtere et fejlregressionsproblem.Mange bugs er rettet hver udgivelse, men der synes at være en enorm skat på udviklerne i antallet af indførte bugs. De har et meget lille team til produktets kompleksitet, især i betragtning af den nyligt udgivne Web Edition, som faktisk er en helt ny platform.


Det er stadig teoretisk et godt produkt, men udnytter prøveperioden, test det grundigt på hver af de platforme, du planlægger at målrette og afgøre, om du kan leve med eventuelle fejl, du finder, fordi de måske er der et stykke tid.





REALbasic. [1]


Sproget er et kraftfuldt, moderne OO-sprog, som ikke er svært for dig at tilpasse sig fra din vagt huskede Pascal eller nuværende JavaScript. Det har det meste af kraften i C ++ uden de farlige bits, der gør debugging et mareridt. find IDE enklere og lettere at håndtere end sige Visual Studio.


IDE gør det meget nemt at kaste sammen en GUI og få det til kun at fungere på flere platforme. Pro-versionen har en af ​​de bedste platforme-debuggere jeg har brugt, og det er nemt at bare arbejde (sige) på en Mac og udvikle til Windows og Linux, kompilere og teste med et enkelt klik.


Der er også et blomstrende fællesskab, herunder mange mennesker på dit niveau af ekspertise, så du vil ikke blive mocked for at være en newbie .


Jeg er en professionel softwareudvikler med over 25 års erfaring og arbejder i dag primært i REALbasic, C ++, C #, Objective-C og en smule Ruby. For apps som du nævner, er REALbasic mit valgmulighed.


Rediger: Jeg kan ikke tro nogen nedvurderet dette, men har ikke svært ved at tilføje en kommentar, der forklarer hvorfor. Jeg har hørt om fordomme imod REALbasic, men det er første gang jeg har oplevet det. På hvilken måde var mit svar upassende for dette spørgsmål?


Bare for at føje til min cred har jeg implementeret platforme, der anvendes af systemer, der er installeret til titusindvis af slutbrugere. Jeg har C ++-platformsoplevelsen til at klappe over, at andre gør et godt stykke arbejde og de REALbasiske rammer er meget hyggelige. [2]

Andre referencer 1


Det bedste tværplatformværktøj, jeg har dabbled med en relativt lille læringskurve ... især hvis du er fortrolig med Visual Basic ... er REALbasic. Med REALbasic Pro kan du kompilere et program til at målrette Win32, Linux og OS X fra samme kodebase, så længe du ikke bruger OS-specifikke opkald og funktioner (som du kan gøre med plugins eller direkte opkald). Deres støtte Jeg har været meget lydhør over for mine spørgsmål. Den personlige udgave (som kun compilerer til den enkelt målplatform, du har downloadet IDE til), er gratis til Linux og billig for andre platforme, men du kan virkelig godt downloade og prøve det. En IDE, relativt billig, og kan kompilere native applikationer på OS X, Windows og Linux ... det er mindre besvær, og for mig er det vigtigt, når du ønsker at få et job udført.

Andre referencer 2


Jeg rådgiver mod C og Qt og vil også anbefale REALbasic.


Med din baggrund i Pascal og nok JavaScript vil du føle dig meget mere komfortabel med REALbasic. Jeg har lavet en masse kodning i Pascal og C/C ++ - hvor Pascal hjælper dig med at undgå programmeringsfejl, C giver dig mulighed for at træde lige ind, selv inviterer dig, og så har du svært ved at finde ud af, hvorfor det gik galt. Qt er en meget abstrakt ramme og kræver, at du lærer meget, før du kan få noget til at virke, ligesom med C. Sammenlignet med den lethed vi plejede at have med TP da.


RB er meget mere som Pascal i denne henseende. Og dens IDE er ret moderne med hensyn til at understøtte din programmering, med en brugervenlig GUI designer, straight-forward editor til at udfylde hullerne til håndtering af UI-hændelser, kode færdiggørelse osv.


Først når du kommer ind i store programstørrelser, mister RB noget af sin appel, fordi det mangler værktøjer til at give dig et godt overblik over komplekse klassevirkninger mv.


En anden ting er, at Qt er mere tilbøjelige til at forårsage grimme Mac-apps end RB ville. RB vejleder dig visuelt for at få det hele tilpas fint - i Qt skal du arbejde med tal, offsets osv. For at placere dine objekter (i det mindste var det sådan, da jeg brugte Qt 2 år siden).


Jeg har skrevet en række x-platform apps i RB og er ret tilfreds med resultaterne.


Du vil nok ikke skrive de super flotte apps, der konkurrerer med det bedste på det åbne small business-marked, men hvis du bare vil have en solid kode, der arbejder med et let-til-design-brugerinterface, der er acceptabelt for gennemsnitlige bruger, giv RB en prøve.


Det er dog ikke gratis. Men dets ret lille samfund er på din side - de er ivrige efter at hjælpe, i stedet for at basere alle, der prøver at tale fornuftigt :)

Andre referencer 3


Jeg er ny her, men hentet på denne tråd gennem REALbasic User Group. Jeg tror, ​​at min stilling lignede din. Jeg lavede website design til mit arbejde og brugte hovedsagelig javascript (med lidt php, ikke meget) .Jeg havde en Pascal og BASIC baggrund. Jeg dablede det C, men jeg kunne ikke lide det detaljeringsniveau, du havde brug for til at overvåge det. Det mindede mig for meget af samlingen (som jeg stadig har mareridt på fra mine high school/college dage).


Jeg ledte efter et sprog på tværs af platformen, med en velkendt følelse af det, men begyndte først med VB, fordi det var gratis. Jeg foretrækker programmering i MacOS, så jeg forsøgte REALbasic. Jeg fandt ud af, at REALbasic 's UI - bygherre var meget lettere at bruge end VB' s. Jeg ekko andre kommentarer, at samfundet er mest lydhør over for alle brugergrupper, jeg har været involveret i. Jeg har siden brugt REALbasic og min Mac til at lave flere programmer, som over 100 brugere bruger hver dag på mit arbejde (på pc'er, for det meste XP og 2000). Jeg har modtaget komplimenter om den polske og nemme brug af disse programmer. Du DO er nødt til at huske at justere de 'små' ting for at få det til at se højre krydsplatform (dvs.: standardknappeplacering er modsat på pc vs Mac, knapstørrelser er forskellige på Linux osv.). Mange mennesker har doneret brugerdefinerede klasser, der gør dette for dig selv.


Folk ser ud til at antage, at et 'BASIC' sprog ikke kan være stærkt nok til deres formål. Mens det er BASIC på sin kerne (med For..Næste, Do..While og If..Then kommandoer), er det ikke din far 's BASIC. Det er meget mere OOP end noget andet jeg ' Jeg har brugt, baseret på en begivenhedsdrevet struktur, som for mig var let at hente. De har en gratis prøveversion, så tag en demo og løbe gennem vejledningen. Hvis du sidder fast, skal du stille spørgsmål om NUG eller Forums på hjemmesiden og du vil sandsynligvis få et svar hurtigt.

Andre referencer 4


Du kan være interesseret i følgende spørgsmål og svar:



  • Udviklingen på tværs af platforme - Gå med en grænsefladet UI-værktøjssæt eller indbygget på flere platforme?

  • Nemmeste kryds platform widget værktøjskasse?

  • Skal jeg bruge et GUI-værktøjssæt på tværs af platformen eller stole på de oprindelige?

  • Brug af en Mac til udvikling af tværplatforme?



og mange andre foreslog i sidelinjen Relateret af disse spørgsmål.


Nogle svar tyder på gtk (som bruges af cross-platform gimp). Andre foreslår indfødte tilgange. Nogle antyder, at en Mac er en god platform til udvikling af Mac OS X, Windows, Unix og Linux. [7] [8]

Andre referencer 5


Jeg anbefaler helhjertet RealBasic også. Jeg har brugt RB i omkring 8 år nu og finder det til et perfekt værktøj til mine firmaers udviklingsbehov, fra små apps til store flerbruger systemer.


Det er perfekt til begyndere og dem, der kommer tilbage til programmering, og også til professionelle udviklere.


Højt anbefalet.

Andre referencer 6


Som Andy Dent og andre her har angivet, er det svært at slå REALbasic (nu Xojo) for en nybegynder at skabe platforme applikationer. [9]


Sikker på, at der er masser af andre tværplatformsløsninger som QT (C ++), Java, .NET (til en vis grad) og wxWidgets, men de er ikke noget, en nybegynder ville kunne bruge effektivt.


Jeg har mange års faglig udviklingserfaring i mange forskellige sprog og teknologier, og jeg foretrækker at bruge REALbasic mesteparten af ​​tiden.


Med det sagt kan du også overveje Runtime Revolution eller Adobe Air.

Andre referencer 7


Selvom det kan synes fristende at bruge et sprog, der er platform uafhængigt og giver dig mulighed for at skrive appen en gang og bruge hvor som helst, vil du utvivlsomt ofre noget på hver især i brugergrænsefladen og brugeroplevelsen.
Hvis du kan bedst oprette noget ved hjælp af en indbygget API, som giver dig mulighed for at udnytte funktionerne i operativsystemet fuldt ud, så din ansøgning skinner.

Andre referencer 8


Jeg ville helt sikkert gå til C ++ og Qt, den kode du skriver en gang vil kompilere og køre uden problemer på Windows, Mac og Linux. Den nye IDE, der følger med Qt - Qt Creator, er strålende, fungerer og ser det samme ud på Windows, Mac og Linux, du behøver ikke noget andet til at begynde at skrive platforme applikationer.


Jeg forsøgte WxWidgets, men fandt ikke god IDE, den bedste var Code Blocks, men GUI Designer er ikke perfekt og har forskellige problemer på forskellige systemer, og IDE selv er stadig under tung udvikling.


Andre muligheder er Java og C #, men de er ikke cross-platform-sprog, det er platforme selv. Selvom du ikke behøver at kompilere kode for hver platform, vil der være mange forskellige problemer undervejs ...

Andre referencer 9


Hvis dine GUI'er er enkle nok, hvorfor ikke bare oprette et generisk GUI-lag, og program til det? Kompilér en version for hvert OS ved hjælp af indbyggede widgets. Det er den bedste måde at sikre native L &F på flere platforme.


Både Qt og REALbasic forslag er gode, selvom de binder dig til den pågældende teknologi (som jeg ikke kan forestille mig, ville være et problem i dette særlige tilfælde).


Personligt går jeg med Java, fordi det har fungeret for mig før (jeg havde en app, der løb på min PDA, min telefon og mit skrivebord), men det bruger ikke indbyggede widgets.

Andre referencer 10


Tilføjelse af en sen kommentar her:


Tag et kig på revolutionen. Det er som et moderne Hyper-kort på roids. Og det er cross platform (Mac, Linux og Windows). Dette er en seriøs konkurrent til RealBasic og kommer på stærk. Selvom jeg stadig bruger RB (og kan lide det), giver jeg Revolution et seriøst kig på. [10]

Andre referencer 11


Jeg vil også se på enten Realbasic eller Revolution. De skaber begge cross-platform native apps. Personligt tror jeg Realbasic ville være et bedre valg, da det er meget ens, sprogligt, til VB. Du kan lære nogle værdifulde færdigheder med RB, og det kan vokse med din oplevelse. Jeg har brugt VB og RB i mere end 10 år kombineret, og jeg tror, ​​du vil være glad.

Andre referencer 12


Hvis du har brug for din kode som tværgående platform, skal du gå med noget som QT. [11]


Selvom jeg vil anbefale at bruge indbygget API til hver enkelt (Kakao til Mac OS X, .NET eller Win32 API til Windows). Brugeroplevelsen bliver meget bedre. Men selvfølgelig vil det koste dig flere penge med hensyn til udviklere timer.