portaldacalheta.pt
  • Κύριος
  • Επενδυτές & Χρηματοδότηση
  • Σχεδιασμός Διεπαφής Χρήστη
  • Τεχνολογία
  • Διαχείριση Έργου
Επιστήμη Δεδομένων Και Βάσεις Δεδομένων

Τα 10 πιο συνηθισμένα λάθη που κάνουν οι προγραμματιστές Android: Ένας οδηγός προγραμματισμού



Android. Τι δεν μου αρέσει σε αυτήν την πλατφόρμα; Είναι δωρεάν, είναι προσαρμόσιμο, είναι ταχέως αναπτυσσόμενη και διατίθεται όχι μόνο στο τηλέφωνο ή το tablet σας, αλλά και στο smartwatch, στην τηλεόραση και στο αυτοκίνητό σας.

Με τα τελευταία Γλειφιτζούρι ενημέρωση, ο προγραμματισμός Android συνεχίζει να βελτιώνεται. Η πλατφόρμα έχει ωριμάσει αρκετά από την αρχή AOSP απελευθερώστε και ορίστε τη γραμμή προσδοκιών χρήστη αρκετά υψηλή. Κοιτάξτε πόσο καλό το νέο Υλικό μοτίβο σχεδιασμού μοιάζει!



Υπάρχουν χιλιάδες διαφορετικών συσκευών, με διαφορετικά μεγέθη οθόνης, αρχιτεκτονικές chip, διαμορφώσεις υλικού και εκδόσεις λογισμικού. Δυστυχώς, η τμηματοποίηση είναι το τίμημα που πρέπει να πληρώσετε για το άνοιγμα και υπάρχουν χιλιάδες τρόποι με τους οποίους η εφαρμογή σας μπορεί να αποτύχει σε διαφορετικές συσκευές, ακόμη και ως προηγμένος προγραμματιστής Android .



Ανεξάρτητα από την τεράστια κατάτμηση, η πλειονότητα των σφαλμάτων εισάγεται στην πραγματικότητα λόγω λογικών σφαλμάτων. Αυτά τα σφάλματα αποτρέπονται εύκολα, αρκεί να έχουμε τα βασικά σωστά!



Ακολουθεί ένας οδηγός προγραμματισμού Android για να αντιμετωπίσετε τα 10 πιο συνηθισμένα λάθη που κάνουν οι προγραμματιστές Android.

Μάθετε τον προγραμματισμό Android σε πιο προηγμένο επίπεδο με αυτό το σεμινάριο.



Κοινό λάθος # 1: Ανάπτυξη για iOS

Με μεγάλη μου χαρά, αυτό το λάθος Android είναι πολύ λιγότερο κοινό στις μέρες μας (εν μέρει επειδή οι πελάτες αρχίζουν να συνειδητοποιούν ότι οι μέρες που η Apple θέτει όλα τα πρότυπα σχεδίασης έχουν περάσει από καιρό). Όμως, κάθε τόσο, βλέπουμε μια εφαρμογή που είναι κλώνος iOS.

Μην με παρεξηγείτε, δεν είμαι ευαγγελιστής προγραμματισμού Android! Σέβομαι κάθε πλατφόρμα που κινεί τον κόσμο των κινητών ένα βήμα μπροστά. Όμως, είναι το 2014 και οι χρήστες χρησιμοποιούν το Android εδώ και αρκετό καιρό και έχουν εξοικειωθεί με την πλατφόρμα. Η προώθηση προτύπων σχεδιασμού iOS σε αυτά είναι μια φοβερή στρατηγική!



Εκτός αν υπάρχει ένας εξαιρετικά καλός λόγος για το σπάσιμο του Κατευθυντήριες γραμμές , μην το κάνεις. (Το Google το κάνει όλη την ώρα, αλλά ποτέ με αντιγραφή-επικόλληση.)

Ακολουθούν μερικά από τα πιο κοινά παραδείγματα αυτού του λάθους Android:



  1. Δεν πρέπει να δημιουργείτε στατικές καρτέλες και δεν ανήκουν στο κάτω μέρος (σας επισημαίνω Ίνσταγκραμ ).
  2. Τα εικονίδια ειδοποίησης συστήματος δεν πρέπει να έχουν χρώμα.
  3. Τα εικονίδια της εφαρμογής δεν πρέπει να τοποθετούνται μέσα σε ένα στρογγυλεμένο ορθογώνιο (εκτός εάν αυτό είναι το πραγματικό σας λογότυπο, π.χ. facebook).
  4. Οι οθόνες Splash είναι περιττές πέρα ​​από την αρχική ρύθμιση / εισαγωγή. Μην τα χρησιμοποιείτε σε άλλα σενάρια.
  5. Οι λίστες δεν πρέπει να έχουν μοκέτα.

Αυτά είναι μόνο μερικά από τα πολλά άλλα μικρά πράγματα που μπορούν να καταστρέψουν την εμπειρία του χρήστη.

Κοινό λάθος # 2: Ανάπτυξη για τη συσκευή σας Android

Εκτός αν δημιουργείτε μια εφαρμογή περίπτερο / προώθησης για ένα μόνο tablet, οι πιθανότητες είναι ότι η εφαρμογή σας Android δεν θα φαίνεται καλή σε κάθε συσκευή. Ακολουθούν μερικές συμβουλές προγραμματισμού Android που πρέπει να θυμάστε:



  • Χωρίς πυκνότητα εικονοστοιχεία (dp) διαφέρουν από τα κανονικά pixel (px).
  • Πόροι περιλαμβάνονται πολλές φορές για να ληφθούν υπόψη διαφορετικές πυκνότητες και προσανατολισμοί.
  • Δυνατότητα επικάλυψης 9-patch τεντώνονται για να ταιριάζουν στην οθόνη.

Υπάρχουν κυριολεκτικά χιλιάδες πιθανά σενάρια, αλλά μετά από λίγο αναπτύσσετε μια αίσθηση για να τα καλύψετε όλα με ένα χούφτες περιπτώσεις .

Δεν διαθέτετε χιλιάδες συσκευές; Δεν είναι πρόβλημα. Το Android Emulator είναι εξαιρετικά καλό στην αναπαραγωγή φυσικών συσκευών. Ακόμα καλύτερα, δοκιμάστε Genymotion , είναι πολύ γρήγορο και έρχεται με πολλές διαφορετικές δημοφιλείς προεπιλεγμένες συσκευές.



πώς να χρησιμοποιήσετε τη δοκιμή junit

Επίσης, έχετε δοκιμάσει να περιστρέψετε τη συσκευή σας; Όλη η κόλαση μπορεί να ξεφύγει…

Κοινό λάθος # 3: Μη χρήση προθέσεων

Προθέσεις είναι ένα από τα βασικά στοιχεία του Android. Είναι ένας τρόπος μετάδοσης δεδομένων μεταξύ διαφορετικών τμημάτων της εφαρμογής ή, ακόμη καλύτερα, διαφορετικών εφαρμογών στο σύστημα.

Ας υποθέσουμε ότι έχετε μια εφαρμογή συλλογής που μπορεί να μοιραστεί έναν σύνδεσμο λήψης σε ορισμένες εικόνες μέσω SMS. Ποια από τις δύο επιλογές φαίνεται πιο λογική;

Επιλογή 1:

  • Ζητήστε την άδεια SEND_SMS.

    SmsManager
  • Γράψτε τον δικό σας κωδικό για την αποστολή SMS χρησιμοποιώντας το Intent sendIntent = new Intent(Intent.ACTION_VIEW); sendIntent.setData(Uri.parse('sms:' + telephoneNumber)); sendIntent.putExtra('sms_body', x); startActivity(sendIntent); .
  • Εξηγήστε στους χρήστες σας γιατί η εφαρμογή συλλογής σας χρειάζεται πρόσβαση σε υπηρεσίες που μπορούν να κοστίσουν χρήματα και γιατί πρέπει να παραχωρήσουν αυτήν την άδεια για να χρησιμοποιήσουν την εφαρμογή σας.

Επιλογή 2:

  • Ξεκινήστε ένα SMS Intent και αφήστε μια εφαρμογή σχεδιασμένη για SMS να κάνει τη δουλειά

    AndroidManifest.xml

Σε περίπτωση που έχετε αμφιβολίες, η καλύτερη λύση είναι η επιλογή 2!

Αυτή η προσέγγιση μπορεί να εφαρμοστεί σε σχεδόν οτιδήποτε. Κοινή χρήση περιεχομένου, λήψη φωτογραφιών, εγγραφή βίντεο, επιλογή επαφών, προσθήκη εκδηλώσεων, άνοιγμα συνδέσμων με εγγενείς εφαρμογές κ.λπ.

Εκτός αν υπάρχει ένας καλός λόγος για να κάνετε μια προσαρμοσμένη εφαρμογή (π.χ., μια κάμερα που εφαρμόζει φίλτρα), χρησιμοποιείτε πάντα τις προθέσεις για αυτά τα σενάρια. Θα σας εξοικονομήσει πολύ χρόνο προγραμματισμού και θα αφαιρέσετε το memory_needed_in_bytes = 4 * image_width * image_height; περιττών δικαιωμάτων.

Κοινό λάθος # 4: Μη χρήση θραυσμάτων

Πριν από λίγο καιρό στο Honeycomb, το Android παρουσίασε την έννοια του θραύσματα . Σκεφτείτε τα ως ξεχωριστά δομικά στοιχεία με τους δικούς τους (μάλλον περίπλοκους) κύκλους ζωής που υπάρχουν μέσα σε μια Δραστηριότητα. Βοηθούν πολύ στη βελτιστοποίηση για διάφορες οθόνες, διαχειρίζονται εύκολα από τη γονική τους δραστηριότητα, μπορούν να επαναχρησιμοποιηθούν, να συνδυαστούν και να τοποθετηθούν κατά βούληση.

Η εκκίνηση μιας ξεχωριστής δραστηριότητας για κάθε οθόνη της εφαρμογής είναι εξαιρετικά αναποτελεσματική, καθώς το σύστημα θα προσπαθήσει να τα διατηρήσει στη μνήμη όσο μπορεί. Η δολοφονία δεν θα απελευθερώσει τους πόρους που χρησιμοποιούν οι άλλοι.

Αυτό το σεμινάριο προγραμματισμού Android συνιστά τη σωστή χρήση θραυσμάτων για να καταστήσει την εφαρμογή σας πιο αποτελεσματική.

Εκτός αν θέλετε να σκάψετε βαθιά στον πυρήνα του Android και να διαβάσετε αυτό το άρθρο , υποστηρίζοντας τη χρήση θραυσμάτων, θα πρέπει να χρησιμοποιείτε θραύσματα όποτε είναι δυνατόν. Βασικά λέει ότι τα θραύσματα και φορτωτές δρομέα έχουν καλό σκοπό, αλλά κακή εφαρμογή.

llc vs s corp vs c corp vs partnership

Κοινό λάθος # 5: Αποκλεισμός του κύριου νήματος

Το κύριο νήμα έχει έναν μόνο σκοπό: τη διατήρηση της διεπαφής χρήστη ανταποκρινόμενη.

Αν και η επιστήμη πίσω από τη μέτρηση του ρυθμού καρέ που μπορεί να αντιληφθεί τα μάτια / ο εγκέφαλός μας είναι περίπλοκη και επηρεάζεται από πολλούς παράγοντες, ένας γενικός κανόνας είναι ότι οτιδήποτε κάτω από 24 fps με καθυστέρηση μεγαλύτερη από 100 ms δεν θα θεωρείται ομαλή.

Αυτό σημαίνει ότι οι ενέργειες του χρήστη θα έχουν καθυστερημένα σχόλια και η εφαρμογή Android που έχετε προγραμματίσει θα σταματήσει να αποκρίνεται. Η απογύμνωση του χρήστη από τον έλεγχο της εφαρμογής οδηγεί σε απογοήτευση, οι απογοητευμένοι χρήστες τείνουν να δίνουν πολύ αρνητικά σχόλια.

Ακόμα χειρότερα, εάν το κύριο νήμα είναι μπλοκαρισμένο για λίγο (5 δευτερόλεπτα για Δραστηριότητες, 10 για δέκτες εκπομπής), ANR θα συμβεί.

δύσκολοι τρόποι ιστού και εφαρμογών

Καθώς μαθαίνετε τον προγραμματισμό Android, θα γνωρίσετε και θα φοβάστε αυτό το μήνυμα. Ακολουθήστε αυτές τις συμβουλές προγραμματισμού Android για να ελαχιστοποιήσετε αυτήν την εμφάνιση.

Αυτό ήταν τόσο κοινό στο Android 2.x, που σε νεότερες εκδόσεις το σύστημα δεν θα σας αφήσει να κάνετε κλήσεις δικτύου στο κύριο νήμα.

Για να αποφύγετε τον αποκλεισμό του κύριου νήματος, χρησιμοποιείτε πάντα νήματα εργαζομένου / φόντου για: 1. κλήσεις δικτύου 2. φόρτωση bitmap 3. επεξεργασία εικόνας 4. ερώτηση βάσης δεδομένων 5. ανάγνωση / γραφή SD

Κοινό λάθος # 6: Επανεφεύρεση του τροχού

«Εντάξει, δεν θα χρησιμοποιήσω το κύριο νήμα. Θα γράψω τον δικό μου κωδικό που επικοινωνεί με τον διακομιστή μου σε ένα νήμα φόντου. '

Οχι! Μην το κάνετε αυτό! Οι κλήσεις δικτύου, η φόρτωση εικόνων, η πρόσβαση σε βάση δεδομένων, η ανάλυση JSON και η σύνδεση κοινωνικής δικτύωσης είναι τα πιο συνηθισμένα πράγματα που κάνετε στην εφαρμογή σας. Όχι μόνο η δική σας, κάθε εφαρμογή εκεί έξω. Υπάρχει ένας καλύτερος τρόπος. Θυμάστε πώς έχει ωριμάσει και εξελιχθεί το Android ως πλατφόρμα; Ακολουθεί μια γρήγορη λίστα παραδειγμάτων:

  1. Χρήση νιώθω ως σύστημα κατασκευής.
  2. Χρήση Μετασκευή / Ομοβροντία για κλήσεις δικτύου.
  3. Χρήση Πικάσο για φόρτωση εικόνας.
  4. Χρήση Γκον / Τζάκσον για ανάλυση JSON.
  5. Χρήση κοινές εφαρμογές για κοινωνική σύνδεση.

Εάν χρειάζεστε κάτι που εφαρμόζεται, είναι πιθανό να είναι ήδη γραμμένο, δοκιμασμένο και χρησιμοποιείται ευρέως. Κάντε κάποια βασική έρευνα και διαβάστε κάποια Σεμινάρια προγραμματισμού Android πριν γράψετε τον δικό σας κωδικό!

Κοινό λάθος # 7: Δεν υποθέτουμε την επιτυχία

Εξαιρετική. Έχουμε μάθει ότι υπάρχει ένας καλύτερος τρόπος για χειρισμό μακροχρόνιων εργασιών και χρησιμοποιούμε καλά τεκμηριωμένες βιβλιοθήκες για το σκοπό αυτό. Όμως ο χρήστης θα πρέπει να περιμένει. Είναι αναπόφευκτο. Τα πακέτα δεν αποστέλλονται, υποβάλλονται σε επεξεργασία και λαμβάνονται αμέσως. Υπάρχει καθυστέρηση μετ 'επιστροφής, υπάρχουν αστοχίες δικτύου, χάνονται πακέτα και καταστρέφονται τα όνειρα.

Αλλά όλα αυτά είναι μετρήσιμα. Οι επιτυχημένες κλήσεις δικτύου είναι πολύ πιο πιθανό από ανεπιτυχείς. Γιατί λοιπόν να περιμένετε την απάντηση του διακομιστή προτού χειριστείτε το επιτυχές αίτημα; Είναι απείρως καλύτερο να υποθέσουμε την επιτυχία και να αντιμετωπίσουμε την αποτυχία. Έτσι, όταν ένας χρήστης αρέσει μια ανάρτηση, ο αριθμός αρέσει αυξάνεται αμέσως και σε απίθανη περίπτωση που η κλήση απέτυχε, ο χρήστης ειδοποιείται.

Σε αυτόν τον σύγχρονο κόσμο αναμένεται άμεση ανατροφοδότηση. Οι άνθρωποι δεν θέλουν να περιμένουν. Τα παιδιά δεν θέλουν να καθίσουν σε μια τάξη αποκτώντας γνώσεις που έχουν αβέβαιη μελλοντική απόδοση. Οι εφαρμογές πρέπει να ανταποκρίνονται στην ψυχολογία του χρήστη.

Κοινό λάθος # 8: Μη κατανόηση των bitmap

Οι χρήστες αγαπούν το περιεχόμενο! Ειδικά όταν το περιεχόμενο είναι καλά μορφοποιημένο και φαίνεται ωραίο. Οι εικόνες, για παράδειγμα, είναι εξαιρετικά ωραίο περιεχόμενο, κυρίως λόγω της ιδιότητάς τους να μεταφέρουν χίλιες λέξεις ανά εικόνα. Καταναλώνουν επίσης πολλή μνήμη. Πολλή μνήμη!

Πριν εμφανιστεί μια εικόνα στην οθόνη, πρέπει να φορτωθεί στη μνήμη. Δεδομένου ότι τα bitmaps είναι ο πιο συνηθισμένος τρόπος για να γίνει αυτό, θα παρέχουμε έναν οδηγό προγραμματισμού Android για ολόκληρη τη διαδικασία:

Ας υποθέσουμε ότι θέλετε να εμφανίσετε μια εικόνα στην οθόνη που μόλις τραβήξατε με την κάμερα. Η συνολική μνήμη που απαιτείται για αυτό υπολογίζεται με τον ακόλουθο τύπο: ARGB_8888

Γιατί 4; Λοιπόν, η πιο συνηθισμένη / προτεινόμενη διαμόρφωση bitmap είναι RGB_565. Αυτό σημαίνει ότι για κάθε εικονοστοιχείο που σχεδιάζουμε, πρέπει να διατηρήσουμε 8 bit (1 byte) για το άλφα, το κόκκινο, την απληστία και το μπλε κανάλι στη μνήμη, για να το εμφανίσουμε σωστά. Υπάρχουν εναλλακτικές λύσεις, όπως το ARGB_8888 διαμόρφωση που απαιτεί τη μισή μνήμη από την 4 bytes * 4000 * 3000 = 48 MB, αλλά χάνει τη διαφάνεια και την ακρίβεια του χρώματος (ενώ ίσως προσθέτει μια πράσινη απόχρωση).

Ας υποθέσουμε ότι έχετε μια ολοκαίνουργια συσκευή με οθόνη Full HD και κάμερα 12 MP. Η εικόνα που μόλις τραβήξατε έχει μέγεθος 4000x3000 pixel και η συνολική μνήμη που απαιτείται για την εμφάνισή της είναι: 4 * 1920 * 1080 = 8.3 MB

48 megabyte μνήμης RAM για μία μόνο εικόνα !? Είναι πολύ!

Ας λάβουμε υπόψη την ανάλυση της οθόνης. Προσπαθείτε να εμφανίσετε μια εικόνα 4000x3000 σε μια οθόνη που έχει 1920x1080 pixel, στη χειρότερη περίπτωση (εμφάνιση της εικόνας σε πλήρη οθόνη) δεν πρέπει να διαθέσετε περισσότερα από LinearLayout μνήμης.

Ακολουθείτε πάντα τις συμβουλές προγραμματισμού Android για εμφάνιση των bitmap αποτελεσματικά :

  1. Μετρήστε την προβολή στην οποία προβάλλετε τις εικόνες σας.
  2. Κλιμάκωση / περικοπή της μεγάλης εικόνας ανάλογα.
  3. Εμφάνιση μόνο όσων μπορούν να εμφανιστούν.

Κοινό λάθος # 9: Χρήση ιεραρχίας βαθιάς προβολής

Οι διατάξεις έχουν παρουσίαση XML στο Android. Για να σχεδιάσετε περιεχόμενο, το XML πρέπει να αναλυθεί, η οθόνη πρέπει να μετρηθεί και όλα τα στοιχεία πρέπει να τοποθετηθούν ανάλογα. Είναι μια διαδικασία πόρων και χρονοβόρα που πρέπει να βελτιστοποιηθεί.

Έτσι είναι το Προβολή λίστας (και πιο πρόσφατα το RecyclerView ) έργα.

Εάν μια διάταξη έχει διογκωθεί μία φορά, το σύστημα την επαναχρησιμοποιεί. Αλλά ακόμα, η διόγκωση της διάταξης πρέπει να συμβεί σε κάποιο σημείο.

Ας υποθέσουμε ότι θέλετε να δημιουργήσετε πλέγμα 3x3 με εικόνες. Ένας τρόπος για να γίνει αυτό είναι μια κάθετη LinearLayout που περιέχει 3 ImageViews s με ίσο βάρος, καθένα από αυτά περιέχει 3 RelativeLayout με ίσο βάρος.

Ορισμένοι αρχάριοι προγραμματισμού Android δεν κάνουν πάντα την καλύτερη χρήση του LinearLayouts.

Τι παίρνουμε με αυτήν την προσέγγιση; Μια προειδοποίηση ότι «τα ένθετα βάρη είναι κακά για την απόδοση».

Υπάρχει ένα ρητό στον κόσμο προγραμματισμού Android, που μόλις έκανα: «Με λίγη προσπάθεια, η ιεραρχία μπορεί να ισοπεδωθεί» .

Σε αυτήν την περίπτωση GridLayout ή LinearLayouts θα αντικαταστήσει αποτελεσματικά το ένθετο minSdkVersion.

Κοινό λάθος # 10: Μη ρύθμιση του minSdkVersion σε 14

Λοιπόν, αυτό δεν είναι λάθος, αλλά είναι κακή πρακτική.

οπτικά στοιχεία και αρχές σχεδιασμού

Το Android 2.x ήταν ένα τεράστιο ορόσημο για την ανάπτυξη αυτής της πλατφόρμας, αλλά ορισμένα πράγματα πρέπει να μείνουν πίσω. Η υποστήριξη παλαιότερων συσκευών προσθέτει περισσότερη πολυπλοκότητα στη συντήρηση κώδικα και περιορίζει τη διαδικασία ανάπτυξης.

Οι αριθμοί είναι ξεκάθαροι, οι χρήστες έχουν προχωρήσει, οι προγραμματιστές δεν πρέπει να μείνουν πίσω.

Γνωρίζω ότι αυτό δεν ισχύει για ορισμένες μεγάλες αγορές με παλιές συσκευές (π.χ. Ινδία) και ορίζω το

 έως 14, στην εφαρμογή Facebook, σημαίνει να αφήσετε δυο εκατομμύρια χρήστες χωρίς το αγαπημένο τους κοινωνικό δίκτυο. Ωστόσο, εάν ξεκινάτε νέα και προσπαθείτε να δημιουργήσετε μια όμορφη εμπειρία για τους χρήστες σας, σκεφτείτε το ενδεχόμενο να καταργήσετε το παρελθόν. Οι χρήστες που δεν διαθέτουν τους πόρους ή αισθάνονται την ανάγκη αναβάθμισης της συσκευής / OS τους, δεν θα έχουν το κίνητρο να δοκιμάσουν μια ανώτερη έκδοση της εφαρμογής σας Android και τελικά να ξοδέψουν χρήματα για αυτήν.

Τύλιξε

Το Android είναι μια ισχυρή πλατφόρμα που εξελίσσεται γρήγορα. Μπορεί να μην είναι λογικό να περιμένουμε από τους χρήστες να συνεχίσουν τον ρυθμό, αλλά είναι σημαντικό για τους προγραμματιστές Android να το κάνουν.

Η γνώση ότι το Android δεν είναι μόνο στα τηλέφωνα ή τα tablet μας είναι ακόμη πιο σημαντική. Είναι στους καρπούς μας, στα σαλόνια μας, στις κουζίνες μας και στα αυτοκίνητά μας. Η σωστή λήψη των βασικών είναι εξαιρετικά σημαντική πριν αρχίσουμε να επεκτείνουμε.

Σχεδιασμός κουμπιών με την πάροδο των ετών - Το χρονοδιάγραμμα Dribbble

Σχεδιασμός Ux

Σχεδιασμός κουμπιών με την πάροδο των ετών - Το χρονοδιάγραμμα Dribbble
Ένας νέος τρόπος χρήσης ηλεκτρονικού ταχυδρομείου για εφαρμογές υποστήριξης: Ένας οδηγός AWS

Ένας νέος τρόπος χρήσης ηλεκτρονικού ταχυδρομείου για εφαρμογές υποστήριξης: Ένας οδηγός AWS

Πίσω Μέρος

Δημοφιλείς Αναρτήσεις
Scaling Scala: Τρόπος Dockerize χρησιμοποιώντας Kubernetes
Scaling Scala: Τρόπος Dockerize χρησιμοποιώντας Kubernetes
Μείωση του κόστους σε ένα ψηφιακό μέλλον πετρελαίου και φυσικού αερίου
Μείωση του κόστους σε ένα ψηφιακό μέλλον πετρελαίου και φυσικού αερίου
Το GWT Toolkit: Δημιουργήστε ισχυρές διεπαφές JavaScript χρησιμοποιώντας Java
Το GWT Toolkit: Δημιουργήστε ισχυρές διεπαφές JavaScript χρησιμοποιώντας Java
Επισκόπηση των δημοφιλών δημιουργών στατικών ιστότοπων
Επισκόπηση των δημοφιλών δημιουργών στατικών ιστότοπων
Γνωρίστε το Volt, ένα πολλά υποσχόμενο Ruby Framework για δυναμικές εφαρμογές
Γνωρίστε το Volt, ένα πολλά υποσχόμενο Ruby Framework για δυναμικές εφαρμογές
 
Οι μεγάλες ερωτήσεις οδηγούν σε εξαιρετικό σχεδιασμό - Ένας οδηγός για τη διαδικασία σκέψης σχεδιασμού
Οι μεγάλες ερωτήσεις οδηγούν σε εξαιρετικό σχεδιασμό - Ένας οδηγός για τη διαδικασία σκέψης σχεδιασμού
Η Ψυχολογία του Σχεδιασμού και η Νευροεπιστήμη του Amazing UX
Η Ψυχολογία του Σχεδιασμού και η Νευροεπιστήμη του Amazing UX
APIs στα κοινωνικά δίκτυα: Η διαδικτυακή πύλη στον πραγματικό κόσμο
APIs στα κοινωνικά δίκτυα: Η διαδικτυακή πύλη στον πραγματικό κόσμο
Οδηγός επένδυσης Family Office: Μια εναλλακτική λύση στο επιχειρηματικό κεφάλαιο
Οδηγός επένδυσης Family Office: Μια εναλλακτική λύση στο επιχειρηματικό κεφάλαιο
Αρχές Σχεδιασμού - Εισαγωγή στην Οπτική Ιεραρχία
Αρχές Σχεδιασμού - Εισαγωγή στην Οπτική Ιεραρχία
Δημοφιλείς Αναρτήσεις
  • τεχνολογία στον ψυχρό πόλεμο
  • ποια είναι η συνολική διευθυνσιοδοτούμενη αγορά
  • πώς να φτιάξετε μια προσαρμοσμένη γραμματοσειρά
  • ποιες είναι οι 5 αρχές του σχεδιασμού
  • κίνηση στις αρχές του σχεδιασμού
  • s corp και c corp
Κατηγορίες
  • Επενδυτές & Χρηματοδότηση
  • Σχεδιασμός Διεπαφής Χρήστη
  • Τεχνολογία
  • Διαχείριση Έργου
  • © 2022 | Ολα Τα Δικαιώματα Διατηρούνται

    portaldacalheta.pt