APPS SCHREIBEN IN BASIC

NSBasic/AppStudio nun nativ für OS X verfügbar

21.02.13 | 09:19 Uhr - von
(Bild: screenshot)

Eine weitere Alternative zum Schreiben von iOS- und Android-Apps: AppStudio erlaubt das Schreiben von Apps mit Basic und JavaScript. NS Basic gab es schon damals für Apples Newton, die Entwicklungsumgebung lief bisher nur unter Windows.

Nun läuft sie auch nativ auf dem Mac, eine Lizenz ist für beide Betriebssysteme gültig. Mit dem alten NSBasic ist App Studio aber nur bedingt vergleichbar: Zwar können Entwickler ihren Code in Basic schreiben, aber dieser wird in JavaScript übersetzt. Apps werden daher auch hauptsächlich über das Web vertrieben, in den App Store kommen sie erst mit PhoneGap von Adobe.

ANZEIGE

NS Basic (NS: Nice & Smart) wurde 1993 entwickelt, als erster PDA wurde der Newton 1994 unterstützt. 1997 folgte das von Apples HyperCard inspirierte NewtCard. Später veröffentlichte die Firma Umsetzungen für Windows CE und Palm.

Mehr zu: iOS | SDK

Artikel kommentieren

Bild von batDan

Die damit geschrieben Apps dürften somit etwa so schnell wie die Android-Java Apps sein ;-)

Bild von Lucky

Ich bin zwar selber iPhone und Mac-User und finde die Entwicklung mit Objective-C interessant und auch, dass diese Vorzüge hat. Jedoch frage ich mich, ob du damit sagen möchtest, dass Java-Applikationen langsamer sind? Denn das trifft mittlerweile nicht mehr zu.. wenn du was anderes damit meintest, nehme ich das zurück :D

Bild von BioExorzist

"Denn das trifft mittlerweile nicht mehr zu.."

Ab wann ist denn dieses "mittlerweile"? Hab da bislang andere Erfahrungen gemacht... "Minecraft", "Machinarium", "Edna bricht aus", "OpenOffice", etc.
Eigentlich immer wenn irgendwas langsam und merkwürdig am Mac läuft, ist es mit Java geschrieben worden xD

Bild von Lucky

Vielleicht liegt das auch mehr am Mac als an Java oder einfach an den genutzten Bibliotheken des jeweiligen Herstellers.. das einzige was ich damit sagen wollte ist: Der Mythoas, dass Java prinzipiell langsamer sei als andere Programmiersprachen (Oft wird hierzu C oder C++ herangezogen) ist schwachsinn. In den neueren Java-Versionen sind einige Features eingebaut, die das Programm optimieren und es genügend Code-Beispiele gibt die gleich schnell ausgeführt werden. Des Weiteren ist die Entwicklung von Java einfacher als von Objective C.. das ist zwar auch eine subjektive Meinung und hängt davon ab, welche Sprache man zuerst gelernt hat.

Und mal ganz objektiv beurteilt: Laufen Android-Apps wirklich langsamer als iOS-Apps?

Bild von BioExorzist

Es ist halt schon etwas auffällig das gerade die Java-Anwendungen von Leistungseinbußen betroffen sind. Oder ist vielleicht Java auch einfach schwierigerer zu programmieren, dass die Programmierer damit nicht klar kommen?

Lässt sich schwer sagen ob Android Anwendungen langsamer sind oder nicht. Da das ganze System ja schon langsamer als iOS ist, braucht man ja schon ein Leistungsfähigeres Smartphone, um überhaupt gleiche Vorraussetzungen zu schaffen...

Bild von batDan

Natürlich ist Java langsamer als Objective-C! Erstens hat das technische Gründe, Objective-C wird in Maschinencode compiliert, der *direkt* auf der CPU des Gerätes läuft. Java wird immer in Bytecode kompiliert, der dann nochmals interpretiert werden muss und in Maschinencode für die CPU des entsprechenden Gerätes umgesetzt. Davlik und andere moderne Java-Bytecodeinterpreter optimieren diesen Vorgang zwar massiv, aber es ist immer noch ein gewisser Overhead vorhanden gegenüber Objective-C oder C/C++.
Zweites benutzt Java wie auch .NET/C# und die meisten herkömmlichen Betriebssysteme einen Garbage Collector, der immer wieder nicht mehr benutzte Speicherbereiche von Objekten leer räumen muss. Das ist einer der Gründe, der immer wieder zu störenden Hängern und Wartezeiten führt.
Apple hat hingegen bei iOS von Anfang an auf einen Garbage Collector verzichtet, ab iOS 4 kann man nun zum Glück Automatic Reference Counting (ARC) verwenden, also auf das zugegebenermassen früher für iOS-Entwickler sehr mühsame manuelle Allozieren und Freigeben von Objekten verzichten, das erledigt der Compiler automatisch, aber eben im Voraus, man hat also keine Hänger und Performance-Einbussen eines Garbage Collectors zu befürchten wie u.a. bei Android.

Es ist also KEIN Mythos, das Java langsamer ist als in Maschinencode compilierte Programmiersprachen wie C, C++ oder Objective-C (sondern das ist prinzipbedingt)!!!

Ausserdem ist Java NICHT einfach zu Programmieren! Java ist grosse Schei..e, die nur so populär ist, weil sie an Unis zur Grundausbildung in der Informatik gehört, zumindest bei miesen, konservativen Profs!

Bild von Lucky

Das was du beschreibst ist bei neueren JVMs nicht mehr der Fall. Sie übersetzen den ByteCode in Maschinencode, der einmal beim Start übersetzt werden muss (was vllt einen verlangsamten Start verursacht), jedoch nicht wie ein normaler Interpreter den Code immer und immer wieder neu übersetzt, sondern den übersetzten Maschinencode. Weitere Optimierungen sind z.B. die HotSpot-Funktion, die den Code zur Laufzeit optimieren kann. Folglich sind 2 Dinge zu erkennen: 1. Ist ein Java-Programm mal am laufen, dann läuft es auch in Maschinencode. 2. Ist ein C-Programm scheiße geschrieben, bleibt es scheiße. Die HotSpot-Funktion von Java kann dem entgegenwirken.
Des Weiteren gibts genügend Performance-Tests die bestätigen, dass Java nicht langsamer ist. Bei den grafischen Oberflächen bestreite ich das nicht, aber das liegt nicht an Java, sondern an den Bibliotheken.

Und die Art und Weise wie Java zu programmieren ist, ist einfach. Zudem besitzt es große Vorteile in der Entwicklung von Webanwendung. Besonders in Verbindung mit dem Google Web Toolkit. Was letztendlich nichts anderes als Java-Programmierung ist.

Bild von batDan

Du bist offensichtlich ein Java-Evangelist, der die Java-Werbesprüche gebetsmühlenartig hinbetet und sich durch sachliche Argumente nicht beeindrucken lässt. JIT-Kompilierung und HotSpot verspricht viel, es gibt aber wie immer Performance-Test, die deren Leistungsfähigkeit bestätigen (meist von den Firmen dahinter) und andere unabhängige Tests, die gemischte bis schlechte Ergebnisse zeigen.

Insbesondere in der Management-Ebene in der IT kommen immer wieder diese Versprechen, das langsame, "akademisch beliebte" Konzepte durch neue Optimierungen plötzlich mirakulös schneller werden als bewährte Verfahren, man verspricht sich dann "saubere" Programme und einfachere Entwicklungsabläufe. In der Praxis haben sich diese Hoffnungen immer relativiert oder brachen ganz zusammen.

Java ist und bleibt ein langsames System, das insbesondere die hochtrabenden Versprechen der plattformunabhängigkeit nie auch nur im Ansatz erfüllen konnte. Darum hat es sich auf dem Desktop nie durchgesetzt. Google hat mit seiner Fehlentscheidung, ausgerechnet für eine ressourcenkritische Mobilplattform den Ressourcenverschwender Java zu verwenden, den Java-Fans halt wieder Auftrieb gegeben...

Aber Fakt ist: Android braucht stärkere Hardware als iOS, um auch nur ansatzweise so flüssig, performant und energiesparend zu laufen. Und dabei sind kritische Systembestandteile dort auch in C und C++ programmiert, eben, weil Java zu langsam wäre!

Und das Java keine "schöne" und gut zu programmierende Sprache ist, dem stimmt die Mehrheit aller Softwareentwickler (ausser die Fandroids darunter) absolut zu. Warum gäbe es sonst gleich mehrere Sprachen, die zwar auf einer JVM laufen, aber mit besseren Sprachkonstrukten die Fehler und Mängel von Java ausmerzen wollen wie z.B. Scala?

Und das du auf die Garbage-Collection-Problematik nicht eingehst, beweist nur, dass du keine Ahnung hast, wie Apple die Nachteile von C/C++ mit wirklich durchdachten Strategien in Objective-C behoben hat, damit die Vorteile einer dynamischen und trotzdem nicht ressourcenverschwendenden Sprache(+Cocoa Framework) gegenüber einer während der Laufzeit kompilierten und zweifelhaft optimierten, veralteten Sprache wie Java richtig zur Geltung kommen. Deine Argumente ziehen nur bei Java-Fans, die nichts besseres wie beispielsweise Objective-C/Cocoa kennen, geh doch anderswo für Java missionieren!

Kommentar hinzufügen

Captcha
Diese Frage hat den Zweck zu testen, ob Sie ein menschlicher Benutzer sind und um automatisierten Spam vorzubeugen.
17 - = eins
Lösen Sie die Aufgabe und geben Sie das Ergebnis (als Zahl) ein.

MAC-LIFE-NEWSLETTER BESTELLEN

MAC-FORUM

Re: Scanner-Fehler 22 an neuem Multifunktionsdrucker h ...

Re: frage zu word für mac

Re: Scanner-Fehler 22 an neuem Multifunktionsdrucker h ...

Re: Scanner-Fehler 22 an neuem Multifunktionsdrucker h ...

Aktuelle Topseller PDFs

Mac Life 04.2014

Ausgabe: 4/2014
12 MB
4.49 €

Mac Life 05.2014

Ausgabe: 5/2014
63 MB
4.49 €

iPad Life 02.2014

Ausgabe: 2/2014
18.64 MB
5.99 €

AppBibel 01.2014

Ausgabe: 1/2014
15.74 MB
4.49 €

iPadBIBEL 02.2014

Ausgabe: 2/2014
50 MB
8.99 €
 
MAC LIFE MARKTPLATZ

McBüro – die betriebswirtschaftliche Software

für Mac, PC und iOS

McBüro – die betriebswirtschaftliche Software
McBüro – die betriebswirtschaftliche Software für Mac, PC und iOS

Für Handel • Produktion • Dienstleistung • Handwerk • Agenturen • Verlage
Individuell - Anpassbar - Flexibel - Modular


Informieren Sie sich jetzt und laden Sie sich eine Demo-Version: www.McBuero.info
Weitere Infos finden Sie hier

MacLife Gold

Jetzt kostenlos 60 Tage testen

MacLife Gold

Die erste Flatrate für Apple-Fans

Print und Online

100 Ausgaben jährlich für eine Flatrate. Für iPhone, iPad & Co.

iNewsweek: Jede Woche neues aus der Apple Welt

Nur 9,90 im Monat - Sie sparen jährlich 196,72 Euro 

 


 

 

 

 

 

 

 

 

Weitere Infos
Zur Startseite