Beispiele zu Frameworks

Ken Masters

Lt. Junior Grade
Registriert
Dez. 2006
Beiträge
334
Hallo Gemeinde,

ich habe dieses jahr angefangen mir java bzw. android programmierung anzueignen. bin also neuling. habe dazu mir ein buch besorgt, welches ich langsam abarbeite. nun im buch gibt es ja zahlreiche beispiel apps zur vorführung und übung, z.b. eine app für eine navigation oder kamera etc. als ich letztens mit jemanden darüber gesprochen hatte, fragte er mich welche frameworks ich nutze. ich habe darauf hin geantwortet, das ich mit eclipse arbeite. er hat mich komisch angeguckt :D naja.... wie dem auch sei. (war mir bisschen peinlich ehrlich gesagt). ein framework ist doch ein programmiergerüst. sind das die programme womit man programmiert (beispiel netbeans, eclipse, etc.) oder sind damit die bibliotheken gemeint die man für die projekte nutzt? z.b. für web apps gibt es ja JSF, JQuery, PrimeFaces und wie das alles heißt. Das sind frameworks, oder!?

könntet ihr beispiele geben? das wäre sehr nett.
 
Korrekt, ein Framework ist eine Bibliothek bzw. ein "Programmgerüst" (daher der Name) das die Entwicklung bestimmter Programme vereinfachen bzw. beschleunigen soll. Eclipse, Netbeans usw. nennt man eine IDE ("Integrated Development Environment") und sie sind im Grunde nur intelligente Texteditoren mit integriertem Compiler, Builder und Debugger.

Unterscheiden sollte man noch zwischen einem Framework (z.B. JSP) und einem Toolkit (z.B. jQuery). Der Unterschied liegt grob gesagt darin, wer in der Regel wen aufruft: ein Framework sitzt ganz oben auf dem Ausführungs-Stack und ruft über Ereignisse Methoden des Programms auf. Das Programm besteht also meistens nur aus Event-Handlern, die der Programmierer für das Framework schreiben muss. Der Code eines Toolkits hingegen wird stets vom Programm aufgerufen, macht was es soll und gibt die Kontrolle immer wieder zurück.
 
hmm...ok danke, jetzt wird mir einiges klarer. wenn du nix dagegen hast, würde ich dich noch etwas fragen, damit ich das dann richtig verstehe. also bibliotheken sind ja eigentlich eine menge von klassen, die den programmierern die arbeit abnehmen sollen (oder?). diese klassen sind ja vorprogrammiert und man baut sein programm auf diesen klassen auf bzw. nutzt deren funktionen/methoden. sind denn generell alle bibliotheken, die man zusätzlich in die projekte integriert als frameworks anzusehen? beispiel man programmiert eine android app welches die google maps karte zeigt. dafür integriere ich zusätzlich die bibliothek google-play-services.jar. ist das dann ein framework?
 
GooglePlay Services würde ich eigentlich weder als Framework noch als Toolkit bezeichnen.

Nochmal zum Unterschied: ein Framework schreibt dir quasi vor, wie das Programm zu schreiben ist. Hinter einem Framework steht zu 99% auch ein bestimmtes Programmiermodell wie zB Model-View-Controller, an das musst du dich beim Framework dann möglichst auch halten, das heißt du implementierst für dein Programm die 3 Teile Model, View und Controller. Das hat natürlich Vor- und Nachteile. Vorteil ist, dass du dich eben an bewährte Muster halten mußt und so alles logisch getrennt und möglichst modular ist. Nachteil ist dass du etwas an Flexibilität einbüßt, da kannst du dann halt nicht mal eben eine Klasse dranklatschen, sondern du musst dir Gedanken machen wie du innerhalb dieses Programmierparadigmas bleibst. Übrigens bringen Frameworks eigentlich fast immer eigene Toolkits mit.

Beim Toolkit hast du einfach nur eine lose Sammlung von Klassen/Bibliotheken die halbwegs thematisch zusammenpassen(können). Die bindest du ein, und wenn du eine Funktion brauchst nutzt du sie eben.

GooglePlay Services ist eigentlich noch eine dritte Variante, da bindest du keine Funktionen ein sondern(wenn man es so sieht) direkt fertige Programme. Man könnte jetzt natürlich auch sagen ein fertiges Programm ist auch irgendwo eine Funktion, an der Stelle wird das alles etwas schwammig.
 
hmm... verstehe. danke für die Aufklärung.

und wenn man gefragt wird, mit welchen frameworks man bereits gearbeitet hat, ist es denn schlimm wenn man sagt, das man bis dato keine frameworks genutzt hat?

Wie relevant ist so eine frage überhaupt, das man solche fragen oft hört? Wieso ist das wichtig?

Wenn ich beispielsweise euch fragen würde, mit welchen frameworks ihr gearbeitet habt, was würdet ihr antworten?
 
Zuletzt bearbeitet:
In den meisten proffessionellen Unternehmen wird irgendeine Art von Framework oder Toolkit benutzt, wenn du dir Stellenausschreibungen anschaust für Entwickler wird da auch öfter mal Erfahrung mit einem Framework oder Toolkit angefragt, einfach weil die Einarbeitungszeit dann geringer ist. Wenn du noch keien Erfahrungen damit gemacht hast, hast du halt keine.
 
Grundsätzlich würde ich mich nicht entmutigen lassen, wenn in einer Stellenbeschreibung von Vorkenntnissen in Frameworks die Rede ist. Es kann natürlich sein, dass dann ein anderer Bewerber bei der Auswahl einen Vorteil hat, aber oftmals suchen die Unternehmen so händeringend nach Entwicklern, dass sie auch bereit sind Bewerbern, die sich beim Vorstellungsgespräch nicht allzu blöd angestellt haben, eine Einarbeitungszeit zuzugestehen. Und wenn die Stelle als "Junior Developer" ausgeschrieben ist, werden meistens auch keine Vorkenntnisse erwartet.
 
Ken Masters schrieb:
Wenn ich beispielsweise euch fragen würde, mit welchen frameworks ihr gearbeitet habt, was würdet ihr antworten?
"So viel Zeit haben Sie nicht." ;) Kennst du eins, kennst du viele/alle.

Das aber auch nur, weil ich nun ein paar Jahre Berufserfahrung habe. Zum Zeitpunkt der Bewerbung sah das bei mir auch mau aus. Bei mir war es z.B. so, dass mir mein Arbeitgeber nach der Zusage direkt ein Buch in die Hand gedrückt hat und gesagt hat, er fände es gut, wenn ich mir das mal ansehe. Habe ich natürlich gemacht, schon weil ich mich vor meinen zukünftigen Kollegen nicht völlig blamieren wollte.
Wenn du also weißt, mit welchen Frameworks deine Zielfirma arbeitet, bereite dich doch einfach entsprechend vor. Wenn du die Grundlagen dann drauf hast, kannst du das auch so sagen und sie sehen gleich, dass du dich bemühst.

Mit "Inversion of Control" was anfangen zu können ist in dem Zusammenhang z.B. nicht schlecht.
 
danke für die tipps. :)
Ergänzung ()

"So viel Zeit haben Sie nicht." ;) Kennst du eins, kennst du viele/alle.

aber mich interessiert auch so im allgemeinen was ihr so bis dato verwendet (habt)? Welche nutzt ihr z.b. für web-projekte, für normale java und android projekte z.b.? Und warum diese? gibt es da gute und nicht so gute frameworks?
 
Zuletzt bearbeitet:
Ohne die Projekte aus dem Spring-Ökosystem möchte ich keine Java-Projekte mehr machen. Sehr elegant und einfach. Allerdings nur, wenn man schon drin steckt. Lernen fand ich initial nicht so leicht, weil öfter mal convention over configuration gilt und diese Konventionen muss man sich erst nach und nach beibiegen.

Für ORM ist Hibernate ein/der Platzhirsch. Zum Markup Generieren ist mir im Wicket ganz lieb, wobei ich z.B. mit Thymeleaf noch keine Erfahrung hab. Das werde ich mir auch irgendwann mal ansehen. Das ganze Frontend mit AngularJS zu machen und nötige Kommunikation mit dem Backend über REST-Services zu machen ist auch nett. JSF, reine JSPs oder gar Struts lehne ich ab, auch wenn ich manchmal durch legacy code waten muss. -_-

Für kleine Services finde ich aber auch das Play framework (ist mir lieber mit Scala als Java) gut. Wobei da das tooling streckenweise noch in den Kinderschuhen steckt.
 
Zurück
Oben